2016-12-15 3 views
-2

У меня есть массаж ошибок, но я не понимаю, в чем проблема. я отчаянно ищу проблему. Я попытался создать функцию libary и включить одну из функций в другую функцию в том же файле. Это почка? если так пожалуйста expalain.вызов функции на другом fuction в том же файле

#include "head.h" 

void fungsiCetak() 
{ 
    int i,n; 
    system("cls"); 
    system("color 1f"); 
    FILE*nip,*nama,*golongan,*anak,*kk,*birth; 
    nip=fopen("nip.txt","a"); 
    nama=fopen("nama.txt","a"); 
    anak=fopen("jum_anak.txt","a"); 
    kk=fopen("jum_kk.txt","a"); 
    birth=fopen("birth.txt","a"); 
    golongan=fopen("golongan.txt","a"); 
////////////////////////////////////////////////////////////////// 
    fflush(stdin); 
    printf("Berapa data yang ingin di inputkan ? "); 
    scanf("%d",&n); 
    i=1; 
do{ 
     fflush(stdin); 
     printf(" Masukan NIP    : "); 
     gets(pegawai.nip); 
     fprintf(nip,"%s\n",pegawai.nip); 
     printf("Masukan nama Pegawai  : "); 
     gets(pegawai.nama); 
     fprintf(nama,"%s\n",pegawai.nama); 
     printf("Masukan golongan   : "); 
     scanf("%d",&pegawai.gol); 
     fprintf(golongan,"%d\n",pegawai.gol); 
     printf("Jumlah anak    : "); 
     scanf("%d",&pegawai.jum_anak); 
     fprintf(anak,"%d\n",pegawai.jum_anak); 
     printf("Jumlah anggota keluarga : "); 
     scanf("%d",&pegawai.jum_kk); 
     fprintf(kk,"%d\n",pegawai.jum_kk); 
     printf("Tanggal lahir (dd-mm-yyyy) : "); 
     scanf("%d-%d-%d",&pegawai.birth.hari, 
         &pegawai.birth.bulan, 
         &pegawai.birth.tahun); 
     fprintf(birth,"%d-%d-%d\n",pegawai.birth.hari, 
         pegawai.birth.bulan, 
         pegawai.birth.tahun); 
     printf("\n"); 
     i++; 
} while(i<=n); 

    fclose(nip); 
    fclose(nama); 
    fclose(golongan); 
    fclose(anak); 
    fclose(kk); 
    fclose(birth); 
} 
void fungsiBaca() 
{ 
    system("cls"); 
    int count=0; 
    int nip2,nip1[20],anak1[20],kk1[20]; 
    int gol[20]; 
    char birth1[30][30]; 
    char bufer[100],buffer1[100]; 
    char nama1[30][30]; 

    struct pegawai; 
    FILE*nip,*nama,*golongan,*anak,*kk,*birth; 
    nama=fopen("nama.txt","r"); 
     i=0; 
     while(fgets(bufer,sizeof bufer,nama)!=NULL) 
     { 
      strcpy(nama1[i],bufer); 
      i++; 
     } 
     a=0; 
    golongan=fopen("golongan.txt","r"); 
     while(a<=i) 
     { 
      fscanf(golongan,"%d",&gol[a]); 
      a++; 
     } 
    nip=fopen("nip.txt","r"); 
     a=0; 
     while(a<i) 
      { 
       fscanf(nip,"%d",&nip1[a]); 
       a++; 
      } 
    anak=fopen("jum_anak.txt","r"); 
     a=0; 
     while(a<i) 
     { 
      fscanf(anak,"%d",&anak1[a]); 
      a++; 
     } 
    kk=fopen("jum_kk.txt","r"); 
     a=0; 
     while(a<i) 
     { 
      fscanf(kk,"%d",&kk1[a]); 
      a++; 
     } 
    birth=fopen("birth.txt","r"); 
     a=0; 
     while(fgets(buffer1,sizeof buffer1,birth)!=NULL) 
     { 
      strcpy(birth1[a],buffer1); 
      a++; 
     } 
search : 
    fflush(stdin); 
    printf("----------------------------------------\n"); 
    printf("masukan NIP : "); 
    scanf("%d",&nip2); 
    printf("----------------------------------------\n"); 
    for(a=0; a<=i; a++) 
    { 
     if(nip1[a]==nip2){ 
      printf("Nama pegawai : %s",nama1[a]); 
      printf("Golongan  : %d\n",gol[a]); 
      printf("Jumlah anak : %d\n",anak1[a]); 
      printf("Jumlah KK  : %d\n",kk1[a]); 
      printf("Tanggal Lahir : %s\n",birth1[a]); 
      count=1; 
     } 
    } 
    if (count==0) 
     { 
      printf("Maaf data tidak ditemukan!\n"); 
     } 
    fflush(stdin); 
    printf("Ingin mencari data kembali ? [y/n]"); 
    scanf("%c",&kembali); 
    if (kembali=='y') 
     { 
      system("cls"); 
      goto search; 
     } 
    fclose(nip); 
    fclose(nama); 
    fclose(golongan); 
    fclose(kk); 
    fclose(anak); 
    fclose(birth); 
} 
void fungsiGaji() 
{ 
    int gol,absen; 
    float tunj_makan,tunj_anak,tunj_kes,total,gajih_pokok; 
    fungsiBaca(); 
//////////////////////////////////////////////////Kondisi gajih pokok 
    if (gol[a]==1) 
    { 
     gajih_pokok=GOl1; 
    } else if (gol[a]==2) 
    { 
     gajih_pokok=GOL2; 
    } else if (gol[a]==3) 
    { 
     gajih_pokok=GOl3; 
    } else 
    { 
     gajih_pokok=GOL4; 
    } 
    printf("Gajih pokok : %.2f",gajih_pokok); 
/////////////////////////////////////////////// kondisi tunjangan 

} 

сообщение об ошибке i Я использую CodeBlocks создать программу

+0

не связана с проблемой, но вы должны объявить все свои функции 'пустоту xxx (void) 'вместо' void xxx() ' – LPs

+1

Каково точное сообщение об ошибке? –

+4

'gol' - это не массив, поэтому вы не можете делать' if (gol [a] == 1) 'и так далее ... – LPs

ответ

1

Проблема здесь:

int gol,absen; <--- gol is integer 
... 
if (gol[a]==1) <---- gol[a] ? 
Смежные вопросы