arkadaşlar benim biprogram problemim var

eolos
19-05-2007, 17:15   |  #1  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
2,036 mesaj
Kayıt Tarihi:Kayıt: May 2006

#include<stdio.h>
#include<stdlib.h>
#define ques 50
void read();
void cal();
int main()
{
    char bookA[ques],bookB[ques],bookC[ques];
        int right=0,wrong=0;
        float grade=0.0;
        char num[6],book[2],name[15],sname[15],ans[50];
        read();
        cal();
void read()
{
FILE*EOLOS=fopen("booklet.txt","r");
if(EOLOS==NULL)
{
printf("file can not find\n");
return 0;
}
fscanf(EOLOS,"%s%s%s",bookA,bookB,bookC);
fclose(EOLOS);
}
void cal()
{
        FILE*EOLOS=fopen("answer.txt","r");
if(EOLOS==NULL)
{
printf("file can not find\n")
}
while(!feof(EOLOS)
fscanf(EOLOS,"%d%s%s%s%s",&num,book,name,sname,ans);
if(book[0]=='A')
for(int i=0;i<ques;i++)
{
        if(ans==bookA&&bookA!='*')
                right++;
        else
                wrong++;

}        else if(book[0]=='B')
for(int i=0;i<ques;i++)
{
        if(ans==bookB&&bookB!='*')
                right++;
        else
                wrong++;
}
else
for(int i=0;i<ques;i++)
{
        if(ans==bookC&&bookC!='*')
                right++;
        else
                wrong++;
}
grade=float( 2*(right-float(wrong/4)));
printf("%7d%20s%20s%10d%10d%12.2f\n",num,name,sname,right,wrong,grade);
}return 0;
}
hata olarak read' : local function definitions are illegal
            call :local function definitions are illegal
hatalarını veriyor bulamadım çözümü yardım ederseniz sevinirim

genesis
25-06-2007, 16:17   |  #2  
Yeni Üye
Teşekkür Sayısı: 0
36 mesaj
Kayıt Tarihi:Kayıt: Ağu 2006

birincisi boşluk koymaya özen göstersen çok daha ii olur program yazarken böyle okuması cidden çook zor...

main fonksiyonunu açmışsın kapatmamışsın orda yapıyo zaten bütün hatayı. bi de cal fonksiyonunda n tane değişken var tanımlanmayan. kaldı ki senin programın txt dosyası yaratmıyor sadece okuyor bu da sorun olarak karşına çıkacaktır.
mainde tanımladığın fonksiyonlar mainde kalır localdir. dışarda tanımlarsan global olur. ama programında sadece bu iki hata değil n tane hata var.