Gan tolong gan, ane ada masalah buat pemograman pake bahasa C,
Jadi programnya tentang Laundry. gunain Operasi FIle.
jadi setiap data yang saya masukin di program , record-recordnya disimpan kedalam sebuah file berbentuk .txt.
Nah disini masalahnya Pada Saaat Pembacaan record yang terdapat pada File .txtnya, Terjadi Looping saat baca recordnya,
Tolong gan bantuannya.
Menurut prediksi gw, kesalahannya Yang udah ane garis merahin gan, Kalau ada kesalahan yang lain tolong juga di bantu ya..
#define maks 200
/*
Kelompok Pemograman Dasar
Pembuatan Database dengan Permasalahan Laundry
Nama Anggota : Ismail Zakky(10111099)
Karno Kusnandar()
Muhammad Akbar()
Kelas : IF-3
Tugas Kelompok Pemograman Dasar
Bidang Studi Teknik Informatika
Masalah Laundry
2011-2012
*/
struct a{
int kode;
char nama[30];
int berat;
int d;
int m;
int y;
int harga;
}laundry;
struct a ldr[maks];
FILE *buku;
struct a ldr2;
int i=0;
char lagi;
int lagi1;
int lagi2;
int lagi3;
int lagi4;
void tambah()
{
int k ;
char sama='Y';
int tmp;
do{
sama = 'T';
if (i == 0){
printf("Masukkan Kode Laundry : ");
scanf("%d",&ldr[i].kode);
fflush(stdin);
printf("Masukkan Nama Pemilik : ");
gets(ldr[i].nama);
printf("Masukkan Berat Laundry :");
scanf("%i",&ldr[i].berat);
printf("Masukkan Tanggal [d-m-y]: ");
ldr[i].harga=4000*ldr[i].berat;
scanf("%d-%d-%d",&ldr[i].d,&ldr[i].m,&ldr[i].y);
i++;
}
else{
printf("Masukkan Kode Laundry :");
scanf("%d",&tmp);
for(k=0;k<i;k++){
if(ldr[k].kode == tmp)
{
sama = 'Y';}
}
if(sama == 'Y'){
printf("Kode Laundry Sudah Dimiliki \n");
}
else{
ldr[i].kode = tmp;
fflush(stdin);
printf("Masukkan Nama Pemilik Laundry : ");
gets(ldr[i].nama);
fflush(stdin);
printf("Masukkan Berat Laundry :");
scanf("%i",&ldr[i].berat);
ldr[i].harga = 4000*ldr[i].berat;
printf("Masukkan Tanggal [d-m-y]: ");
scanf("%d-%d-%d",&ldr[i].d,&ldr[i].m,&ldr[i].y);
i++;
printf("%i",sizeof(ldr[i]));
}
}
printf("Masukkan Data lagi? [y/n] : ");
lagi = toupper(getch());
while(!(lagi=='T' || lagi == 'Y'))
lagi = toupper(getch());
printf("%c\n\n",lagi);
}while(lagi=='Y');
// printf(" i = %i",i);
int j,k;
int banding;
system("cls");
char sama='T';
printf("Masukkan Kode yang dicari 5 digit ");
scanf("%d",&banding);
if(i==0){
printf("Data Masih Kosong, Tidak ada yang bisa diubah\n");
}
for(j=0;j<i;j++){
if(banding==ldr[k].kode){
fflush(stdin);
printf("Ubah Nama Pemilik Laundry : \n");
gets(ldr[j].nama);
printf("Ubah Jumlah Berat Laundry : \n");
scanf("%i",&ldr[j].berat);
printf("ubah tanggal : \n");
scanf("%d-%d-%d",&ldr[j].d,&ldr[j].m,&ldr[j].y);
ldr[j].harga = 4000*ldr[j].berat;
sama='Y';
printf("Data Dengan Kode %i Telah diubah",ldr[i].kode);
}
break;
}
if(sama == 'T'){
printf("Data Tidak Ditemukan");
}
}
void menu()
{ //printf("Zakky mah Ganteng %d Banget",sizeof(ldr[i]));
//printf("%d",i);
//system("cls");
printf("Selamat Datang di Laundry Bersama\n");
printf("Silahkan Pilih Layanan Yang Akan Anda Pakai\n");
printf("1. Tambah Data\n");
printf("2. Cari Data \n");
printf("3. Hapus Data\n");
printf("4. Ubah Data \n");
printf("5. Keluar\n");
printf("Masukkan Pilihan = ");
}
void menu_cari()
{
//system("cls");
//system("cls");
printf("Pilihan Menu Cari \n");
printf("1. Berdasarkan Kode Pelanggan\n");
printf("2. Berdasarkan Nama Pelanggan\n");
printf("3. Kembali Kemenu Sebelumnya \n");
printf("Masukkan Pilihan Anda = ");
}
void hapus()
{
int hapus;
int j;
int k;
char sama ='T';
if(i==0){
printf("Data Masih Kosong");
system("PAUSE");
}
else{
system("cls");
printf("Masukkan Kode Data yang ingin dihapus = ");
scanf("%i",&hapus);
exit(1);}
else if(lagi > 6 ){
printf("Data Masukkan hanya 1 sampai 5\n dimana 5 hanya pilihan untuk keluar dari program \n");
printf("Silahkan Masuukan Kembali Pilihan Menu Anda \n");
system("PAUSE");}
}while(lagi != 6);
system("PAUSE");
return 0;
}
Sebelumnya Makasih ya gan udah mampir,
Dan lebih terima kasih kalau sudah sempat mengkomen dan membantu saya gan..
Tolong ya gan.
Oh ya gan, bentuk FIlenya File Biner. karena data berbentuk Struct/record, jadi lebih cocok pake File biner. karena record pada saat pembacaan tetap memiliki jenis tipe data yang sama . integer tetep jadi integer, begitu juga yang lainnya. ------------------------------ CASE CLOSSE------------------------------- makasih semuanya buat yang komen untuk ngebantu, atau cuma ngeliatin doank..
kodingan program diatas udah gw jadii yang benernya. bagi yang butuh boleh dicopas bagi yang butuh buat tugas.