bab5 001

20
BAB 5: OPERASI INPUT/OUTPUT Fungsi printf & scanf : Memblhkan kita berhubung terus dgn aturcara Fungsi masukan & keluaran (I/O) Fungsi perpustakaan yg ditulis/dibekalkan oleh pengeluar pengkompil C Dipanggil melalui fail kepala piawai <stdio.h>

Upload: madzani-nusa

Post on 20-Jan-2015

555 views

Category:

Technology


7 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Bab5 001

BAB 5: OPERASI INPUT/OUTPUT

Fungsi printf & scanf : Memblhkan kita berhubung terus dgn

aturcara Fungsi masukan & keluaran (I/O) Fungsi perpustakaan yg

ditulis/dibekalkan oleh pengeluar pengkompil C

Dipanggil melalui fail kepala piawai <stdio.h>

Page 2: Bab5 001

FUNGSI printf Format memanggil fungsi printf

printf (kawalan format, senarai cetakan);

Cth: int a; printf(“%d”,a);

Kawalan Format Satu rentetan aksara di antara tanda “ “ yg

menerangkan bagaimana pembolehubah akan dicetak diskrin

Page 3: Bab5 001

Terdapat 2 bentuk maklumat: Aksara2 yg akan dicetak secara terus Tentuan format

Cth bil_buku=50;harga_buku=2599.15 printf(“%d buku dengan harga RM%f”,bil_buku,harga_buku);

Output: 50 buku dengan harga RM2599.15

FUNGSI printf (samb.)

Dicetak secara terus

Tentuan format pembolehubah

Page 4: Bab5 001

FUNGSI printf (samb.)Tentuan format keluaran

%d

%c

%s

%f

%e

%u

%x

%o

%%

Integer desimal

Satu aksara

Rentetan aksara

Nombor nyata dlm desimalNombor nyata dlm aksara

Integer desimal tak bertandaInteger hexa tak bertanda

Integer oktal tak bertandaCetak tanda %

Page 5: Bab5 001

Pengubahsuai

Makna

digit Lebar medan minimum bg mencetak pemblhubah. Medan yg lebih lebar akan digunakan jika nombor yg dicetak tidak muat dlm medan yg diberi

.digit Ketetapan bg nombor nyata. Mewakili bil digit yg dicetak selepas titik perpuluhan

- Pemblhubah akan dicetak bermula dr kiri lebar medannya

| Pembolehubah yg akan dicetak adalah jenis integer panjang

Format pembolehubah yg dicetak blh diubahsuai dgn cara memasukkan pengubahsuaian diantara % & aksara tentuan format.

Cth: %-6d, %5d, %6.2f

Page 6: Bab5 001

printf("%d \n", 987); 987

printf("%2d\n", 987); 987

printf("%8d\n", 987); - - - - - 987

printf("%-8d\n", 987); 987- - - - -

printf("%0.2f\n", 9876.54); 9876.54

printf("%4.2f\n", 9876.54); 9876.54

printf("%3.1f\n", 9876.54); 9876.5

printf("%10.3f\n", 9876.54); - - 9876.540

printf("%10.3e\n", 9876.54); - 9.876e+03

CONTOH

OUTPUT

Page 7: Bab5 001

Escape Characters (\) \n baris baru \a alert/loceng komputer \f form feed (printer) \b backspace \t tab \\ char \ \? Char ? \’ Char ’ \” Char ”

FUNGSI printf (samb.)

Page 8: Bab5 001

FUNGSI SCANF Format memanggil scanf:

scanf(kawalan format, senarai alamat Pblhubah)

Bentuk dan makna kawalan format sama seperti printf

Senarai alamat pblhubah terdiri dari nama pembolehubah yg dimulai dgn

simbol & Nilai yg dibaca dari papan kekunci akan diisikan

kedlm pembolehubah tersebut Cth: scanf(“%d %f”, &bil_buku, &harga_buku);

Page 9: Bab5 001

/* cari luas bulatan */#include <stdio.h>#define Pi 3.14159

int main ( ) { double luas, jejari;

printf(“\nmasukkan nilai jejari: “); scanf(“ %lf “, &jejari); luas = Pi * jejari * jejari; printf(“\nLuas bulatan %lf\n”, luas); return 0;}

Page 10: Bab5 001

Fungsi2 Input & Output Mudah

Fungsi getchar() dan putchar() Dicapai dr perpustakaan piawai <stdio.h> getchar()

digunakan utk membaca satu aksara dr papan kekunci dan menunggu aksara <ENTER> dimasukkan

Aksara yg dimasukkan akan dipamir Cth: ch=getchar();

Nilai yg dibaca dr papan kunci akan disimpan dlm ch putchar()

Guna utk mencetak satu aksara ke skrin Cth: putchar(ch);

Parameter pembolehubah@ pemalar aksara yg hendak dicetak

Page 11: Bab5 001

Fungsi getch() & putch() Dicapai dr perpustakaan piawai <conio.h> getch()

Guna utk membaca satu aksara dr papan kekunci tanpa menunggu <ENTER> dimasukkan

Aksara yg dimasukkan tidak akan dipamir Cth: ch=getch();

Nilai yg dibaca dr papan kunci akan disimpan dlm ch

putch() Diguna utk mencetak satu aksara ke skrin Cth: putch(ch);

Parameter pemblhubah @ pemalar aksara yg hendak dicetak

Jika cth dr getchar & putchar ditukar kpd getch & putch ia akan beri keluaran yg sama, hanya cara masukan yg berbeza

Page 12: Bab5 001

#include<stdio.h>main(){int mychar;printf(“\n Enter a character please >>”);mychar = getchar();printf(“You typed character >>”);putchar(mychar);getch();\* aturcara terhenti buat sementara *\return 0;} output: Enter a character please >> a

You typed character a(pressing any key will go back to the program screen)

Page 13: Bab5 001

Fungsi getc() & putc() Dicapai dr perpustakaan piawai <stdio.h> getc()

Guna utk membaca satu aksara dari peranti input piawai

peranti input piawai fail ataupun papan kekunci Operasi bacaan sama spt getchar() Format : getc(jenis_peranti) Cth: ch=getc(stdin);

Nilai yg dibaca dr papan kunci akan disimpan dlm ch

putc() Diguna utk mencetak satu aksara ke skrin Format: putc(operan,jenis_peranti) Cth: putc(ch, stdout)

Parameter pembolehubah@ pemalar aksara yg hendak dicetak

Page 14: Bab5 001

Fungsi gets() & puts() Dicapai dr perpustakaan piawai

<stdio.h> gets()

Guna utk membaca rentetan(string) dr keyboard, mengakhiri bacaan rentetan jika aksara baris baru dikeluarkan (\n) atau <ENTER> dimasukkan

Rentetan akan disimpan & aksara baris baru akan ditukar ke aksara null (\0)

puts() Guna utk mencetak rentetan di skrin

memasukkan aksara baris baru (\n)

Page 15: Bab5 001

Cth #include<stdio.h> main () { char nama[30]; printf(“\nEnter Your Name >>”); gets(nama); /*baca string*/ printf(“Good Day ”); puts(nama); /*cetak rentetan*/ puts(“It’s your lucky day !!”); return 0; } Output: Enter Your Name >> Ali Bin Mamat Good Day Ali Bin Mamat It’s your lucky day !!

Page 16: Bab5 001

PEMPROSESAN FAIL 2 Jenis ragam komputer:

Berkelompok (batch) Interaktif (interactive)

Setakat ini aturcara kita adalah interaktif, utk membuat aturcara jenis berkelompok, fail digunakan.

operasi yg dilakukan utk memproses fail: Mengistihar dan membuka fail Membaca data dr fail Menulis data ke fail

Page 17: Bab5 001

MENGISTIHAR & MEMBUKA FAIL

Menggunakan pembolehubah penuding fail (pembpenudingfail).

Format pengistiharan fail: FILE * pembpenudingfail; Format membuka fail: pembpenudingfail = fopen(“namafail”,”jenis_capaian”);

pembpenudingfail: pemblhubah penuding fail yg diistiharkan sebelum

namafail Nama fail yg sah

Jenis_capaian Jenis mod capaian menentukan samada fail

tersebut adlh fail input, output atau keduanya.

Page 18: Bab5 001

“r”

“w”

“a”

“r+”“w+”

“a+”

MOD CAPAIAN

Mod capaian

Jika fail tidak wujudfail dibuka untuk dibaca.

fail dibuka untuk ditulis. Data ditulis bermula dari awal fail.

fail dibuka untuk ditambah. Data ditulis pada baris data terakhir di penghujung fail. baca + tulisbaca + tulistambah, baca  

Ralat

Bina fail baru

Bina fail baru

RalatBina fail baruBina fail baru

Jika fail wujud

Page 19: Bab5 001

MEMBACA DAN MENULIS FAIL

Byk cara, bergantung kpd cara data hendak diproses Aksara demi aksara pd satu masa Satu baris data (satu rentetan aksara) pd satu masa Fungsi yg digunakan:

fscanf() & fprintf() Pelbagai jenis data pada satu masa

fgetc() & fputc() Satu aksara demi satu aksara pd satu masa

(data berjenis char) fgets() & fputs()

Satu baris data (rentetan aksara) pd satu masa (data berjenis rentetan)

Page 20: Bab5 001

/* cari luas bulatan (baca data dpd fail & tulis output kpd fail) */

#include <stdio.h>

#define Pi 3.14159

int main ( )

{

double luas, jejari;

FILE *inp, *outp; inp = fopen(“bulat.dat”, “r”); outp = fopen(“bulat.out”,”w”); fscanf(inp,”%7f”, &jejari); luas = Pi * jejari * jejari;

fprintf(outp,”Luas bulatan %0.2f\n”,luas);

fclose(inp); fclose(outp); return 0;

}