hmm…
dua minggu yang lalu saat balajr bareng dengan adik-adik tingkat di kampus, sempat blank saat harus menjelaskan mengenai menulis data integer ke file. saat dicoba data integer yang diinginkan tidak dapat tersimpan di file, bahakn seluruh data di file hilang semua, huffttt… shock berat!
setelah dicoba-coba lagi ketemu juga penyebabnya, diduga karena waktu nyoba kemarin itu saya lupa menutup (close) file. ini dugaan saya saja, karena setelah saya tambahkan fclose(), program berjalan semestinya sesuai dengan yang diinginkn.
Program yang dibuat adalah menghitung rata-rata skumpulan bilangan yang tersimpan di file. pada file terdapat dua baris, baris pertma berisi jumlah data yang akan dihitung (N), baris kedua berisi serangkaian bilangan yang dipisahkan dengan spasi. jadi bentuk file-nya kurang lebih seperti ini:
5
1 2 3 4 5
Source code dalam bahasa C adalah:
#include <stdio.h>
#include <conio.h>
void main(){
int N;
int x;
int i;
int jumlah;
float rerata;
FILE *fin, *fout;
fin = fopen("data.txt","r");
fscanf(fin,"%d",&N);
jumlah = 0;
i = 1;
while(i <= N){
fscanf(fin, "%d",&x);
jumlah += x;
i++;
}
rerata = jumlah/N;
printf("rata-rata = %0.2f",rerata);
fclose(fin);
fout = fopen("data.txt","a");
fprintf(fout,"\nrata-rata = \n%f",rerata);
fclose(fout);
getch();
}
hasil dari file setelah di update adalah
5 1 2 3 4 5 rata-rata = 3.000000