ok

30/12/09

belajar c programing part 3 (DISK FILE I/O)

DISK FILE I/O

[LATIHAN 1]
Membaca file TEXT berisi tanggal lahir karyawan, dan

Menghitung Jumlah Karyawan berdasarkan Umur
#include “stdio.h”
void main()
{
FILE *tgldb;
tgldb=fopen(”tgldb.txt”,”r”) ;
if(tgldb==NULL)printf(”file tidak dapat dibuka”);
int i,a,b,x[9],year,a51=0,a44s51=0,a36s43=0,a28s35=0,b28=0;
while(!feof(tgldb))
{
for(i=0;i<9;i++)
x[i]=fgetc(tgldb);
a=(x[6]-48)*10;                             // ANGKA ascii char – 48 = integer ANGKA
b=x[7]-48;
year=a+b;
if(109-year>52)a51++;
if(109-year>=44 && 109-year<=51)a44s51++;
if(109-year>=36 && 109-year<=43)a36s43++;
if(109-year>=28 && 109-year<=35)a28s35++;
if(109-year<=28)b28++;
}
printf(”Dalam perusahaan tersebut terdapat karyawan : \n”);
printf(”yang berusia diatas 51 tahun adalah %d orang\n”,a51);
printf(”yang berusia antara 44 – 51 tahun adalah %d orang\n”,a44s51);
printf(”yang berusia antara 36 – 43 tahun adalah %d orang\n”,a36s43);
printf(”yang berusia antara 28 – 35 tahun adalah %d orang\n”,a28s35);
printf(”yang berusia dibawah 28 tahun adalah %d orang\n”,b28);
fclose(tgldb);
getchar();
}








[LATIHAN 2]
Menulis C3 Files dengan isi data MHS








[LATIHAN 3]
Membaca C3 Files dengan isi data MHS serta menampilkan di layar










[LATIHAN 4]
Menambahkan 5 record MHS pada C3 Files






[LATIHAN 5]
REWIND and FSEEK
rewind digunakan untuk mereset posisi pointer ke posisi awal file yang sedang di buka dengan perintah fopen()
Syntak :    void rewind(FILE *stream);
fseek digunakan untuk membaca data dari sebuah file yang sedang di buka dengan perintah fopen() secara random
syntak : int fseek( FILE *stream, long offset, int origin );




[LATIHAN 6]
FTELL dan Size OF Files
ftell digunakan untuk menulis data ke suatu file yang sedang di buka dengan perintah fopen() secara random
untuk mengetahui file size, dapat menggunakan syntak :
C++ :
BOOL WINAPI GetFileSizeEx(
__in HANDLE hFile,
__out PLARGE_INTEGER lpFileSize
);
KETERANGAN :
Parameters
hFile [in]
A handle to the file. The handle must have been created with either the GENERIC_READ or GENERIC_WRITE access right. For more information, see File Security and Access Rights.
lpFileSize [out]
A pointer to a LARGE_INTEGER structure that receives the file size, in bytes.
Return Value
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
Transacted Operations: If there is a transaction bound to the file handle, then the function returns information for the isolated file view.








[LATIHAN 7]
Copy Files
##include
enum{sukses,gagal};
void copyFile(FILE*input, FILE*output)
{
int c;
while((c=fgetc(input)) != EOF)
{
fputc(c, output);
putchar(c);
}
}
void main(void)
{
FILE*fp1;
FILE*fp2;
char file1[32];
char file2[32];
int reval = sukses;
printf(”File yang dapat dicopy hanya berbasis text .txt atau .c”);
printf(”Masukkan nama file yang ingin di copy        : “);
gets(file2);
printf(”Masukkan nama file yang ingin di replace    : “);
gets(file1);
if((fp1=fopen(file1,”w”))==NULL)
{
printf(”Gagal membaca file atau file tidak berada dalam directory\n”);
reval = gagal;
}
else if((fp2=fopen(file2,”r”))==NULL)
{
printf(”Gagal membaca file atau file tidak berada dalam directory\n”);
reval = gagal;
}
else
{
copyFile(fp2,fp1);
fclose(fp1);
fclose(fp2);
}
}






[LATIHAN 8]
Delete Files
#include
#include

void main()
{
system(”del test.c”);
}


Semoga bermanfaat .

0 comments: