210 likes | 531 Views
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>. FUNGSI printf.
E N D
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>
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
FUNGSI printf (samb.) • 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 Dicetak secara terus pembolehubah Tentuan format
FUNGSI printf (samb.) Tentuan format keluaran %d Integer desimal %c Satu aksara %s Rentetan aksara %f Nombor nyata dlm desimal %e Nombor nyata dlm aksara %u Integer desimal tak bertanda %x Integer hexa tak bertanda %o Integer oktal tak bertanda %% Cetak tanda %
Format pembolehubah yg dicetak blh diubahsuai dgn cara memasukkan pengubahsuaian diantara % & aksara tentuan format. Cth: %-6d, %5d, %6.2f
CONTOH OUTPUT 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
FUNGSI printf (samb.) • Escape Characters (\) • \n baris baru • \a alert/loceng komputer • \f form feed (printer) • \b backspace • \t tab • \\ char \ • \? Char ? • \’ Char ’ • \” Char ”
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);
/* 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; }
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
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
#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)
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
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)
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 !!
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
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.
MOD CAPAIAN Mod capaian Jika fail wujud Jika fail tidak wujud “r” “w” “a” “r+” “w+” “a+” fail 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 + tulis baca + tulis tambah, baca Ralat Bina fail baru Bina fail baru Ralat Bina fail baru Bina fail baru
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)
/* 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; }