bab5 001
DESCRIPTION
TRANSCRIPT
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
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
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 %
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
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
Escape Characters (\) \n baris baru \a alert/loceng komputer \f form feed (printer) \b backspace \t tab \\ char \ \? Char ? \’ Char ’ \” Char ”
FUNGSI printf (samb.)
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.
“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
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;
}