I wrote this C function because I still study in university and I am studying files currently and this code is running a infinite loop while I go to case 1 in switch case
void input() {
int hasil[1];
int tambah[1];
int i;
int z = 0;
int a;
int c = 0;
wDATA = fopen("Data.txt", "a");
rDATA = fopen("Data.txt", "r");
wDATAs = fopen("DataS.txt", "a");
while (fscanf(rDATA, "%[^;];%[^;];%[^;];%[^;];%[^;];%[^\n]\n", operator[z], mode[z], jenis[z], jumlah[z], rak[z], tanggal[z]) != EOF) {
printf("test");
z++;
}
printf("======= Input Barang =======\n");
printf("Jenis Barang \t\t: ");
scanf("%s", &jeniss);
for (i = 0; i < z; i++) {
if (strstr(strupr(jeniss), jenis[i])) {
printf("Jumlah barang \t\t: ");
scanf("%i", &tambah[0]);
hasil[0] = jumlah[i][0] + tambah[0];
jumlah[i][0] = hasil[0];
printf("Tempat penyimpanan \t: ");
scanf("%s", &rak[i]);
fprintf(wDATAs, "%s;", operator);
fprintf(wDATAs, "%s;", mode[i]);
fprintf(wDATAs, "%s;", jenis[i]);
fprintf(wDATAs, "%i;", jumlah[i]);
fprintf(wDATAs, "%s;", rak[i]);
fprintf(wDATAs, "%s", __DATE__);
fprintf(wDATAs, "%s", __TIME__);
}
else {
fprintf(wDATAs, "%s;", operator);
fprintf(wDATAs, "%s;", mode[i]);
fprintf(wDATAs, "%s;", jenis[i]);
fprintf(wDATAs, "%i;", jumlah[i]);
fprintf(wDATAs, "%s;", rak[i]);
fprintf(wDATAs, "%s;", tanggal[i]);
}
remove("Data.txt");
rename("DataS.txt", "Data.txt");
c = 1;
}
if (c == 0) {
printf("Jenis Barang \t\t: ");
scanf("%s", jenis[a]);
printf("Jumlah barang \t\t: ");
scanf("%s", jumlah[a]);
printf("Tempat penyimpanan \t: ");
scanf("%s", rak[a]);
fprintf(wDATA, "Input Barang;");
fprintf(wDATA, "%s;", strupr(jenis[a]));
fprintf(wDATA, "%s;", jumlah[a]);
fprintf(wDATA, "%s;", rak[a]);
fprintf(wDATA, "%s", __DATE__);
fprintf(wDATA, " %s\n", __TIME__);
a = a + 1;
}
fclose(wDATA);
fclose(wDATAs);
fclose(rDATA);
}
*I print test in while loop because I want to know how it works and I discover it looping for infinity *sorry for my bad english