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
 
     
     
    