PDA

View Full Version : در خواست کمک سریع declaration termanated incorrectly



baransh20
یک شنبه 13 تیر 1389, 10:32 صبح
با سلام و عرض خسته نباشید خدمت تمامی دوستانی که در این سایت فعالیت می کنند.
یک برنامه به زبان سی نوشته ام که با دو error مواجه می شوم عنوان error این است declaration termanated incorrectly زمان تحویل این پروزه تا سه شنبه است لطفا هر چه سریعتر راهنمایی کنید.کد برنامه در قسمت پایین می گذارم.


#include <stdio.h>
#include <conio.h>
#include <stdlib.h>//baraye gereftane hafeze Heap
#include <string.h>
#include <alloc.h>
struct stu{//tarif structure daneshjoo ba moteghayerate marbote
char name[20];
char fam[25];
int no;
float grade;
struct stu *next;
}*start,*x,*y;//tarif esharegarhaye morede niyaz jahate harkat dar list peyvandi
/***************** DEFINITION GLOBAL VARIABLE *****************/
int e,p,s,i,c,flag;
float a1;
void*f;
FILE*fp;
char string1[10],string2[20],a;
/***************** ADD FUNCTION ******************/
void add(struct stu)
{
x=(stu*)malloc(sizeof(*start));//eijad faza baraye file
if(start==NULL)//agar barabare null ast yani reshteie vojod nadarad
{
x=start;
y=x;
}
else
{
y->next=x;//agar na akharin gereh ra peyda kon
y=x;
}
printf("\nenter your name:");//vorod etelaat marbote
scanf("%s",x->name);
printf("\nenter your fam:");
scanf("%s",x->fam);
printf("\nenter your no:");
scanf("%d",x->no);
printf("\nenter your grade:");
scanf("%d",x->grade);
y->next=NULL;
}
/****************** SHOW FUNCTION ****************/
void show(struct stu)//tabe namayesh
{
x=start;
while(!x==NULL)//ta zamani ke ba entehaye list naresidi tamame etelaat ra chap kon
{
printf("\nname=%s\t fam=%s\t no=%d\t grade=%d",x->name,x->fam,x->no,x->grade);
x=x->next;//boro be gere badi
}
}
/****************** SEARCH FUNCTION **************/
void search(struct stu)//search
{
printf("\nfor search name please press-->1");//barasase name
printf("\nfor search fam please press-->2");//barasase fam
printf("\nfor search no please press-->3");//barasase student no
printf("\nenter a selection number for edit:");
scanf("%d",&s);//input parametre marbote
switch(s)
{
case 1:
{
flag=0;//agar moredi peyda konad meghdare 1 vagarna meghdare 0 darad
printf("\nenter a NAME for search:");
scanf("%s",string1);
x=start;
while(!x==NULL)
{
if (strcmpi(x->name,string1)==0)//moghayese gereha ba name vared shode
{
printf("\nfam=%s\t no=%d\t grade=%d",x->fam,x->no,x->grade);
flag=1;
}
x=x->next;
}
if(flag==0)
printf("not found!!!");
break;
}
case 2:
{
flag=0;//agar moredi peyda konad meghdare 1 vagarna meghdare 0 darad
printf("\nenter a FAM for search:");
scanf("%s",string1);
x=start;
while(!x==NULL)
{
if (strcmpi(x->fam,string1)==0)//moghayese gereha ba name vared shode
{
printf("\nname=%s\t no=%d\t grade=%d",x->name,x->no,x->grade);
flag=1;
}
x=x->next;
}
if(flag==0)
printf("not found!!!");
break;
}
case 3:
{
flag=0;
printf("\nenter a NO for search:");
scanf("%s",&p);
x=start;
while(!x==NULL)
{
if(x->no==p)
{
printf("\nname=%s\t fam=%s\t grade=%d",x->name,x->fam,x->grade);
flag=1;
}
x=x->next;
}
if(flag==0)
printf("not found!!!");
break;
}
}
}
/******************* EDIT FUNCTION *****************/
void edit(struct stu)//tabe virayesh
{
printf("\nfor edit name please press-->1");
printf("\nfor edit fam please press-->2");
printf("\nfor edit no please press-->3");
printf("\nenter a selection number for edit:");
scanf("%d",&e);
switch(e)
{
case 1:
{
flag=0;
printf("enter name for edit:");
scanf("%s",string1);//daryafte name marbote baraye virayesh
//strcpy(string2,string1);
x=start;
while(!x==NULL)
{
if (strcmpi(x->name,string1)==0)//namayeshe etelaat bar asase parametre vared shodeh
{
printf("\nname=%s fam=%s\t no=%d\t grade=%d",x->name,x->fam,x->no,x->grade);
flag=1;
}
x=x->next;
}
if(flag==1)
{
printf("\nwhat is name you want edit it");
printf("\nenter a no:");
x=start;
while (!x==NULL)
{
if(((strcmpi(x->name,string1)==0))&&(x->no==c))
{
printf("\nenter a new name:");
flag=1;
}
x=x->next;
}
}
if(flag==0)
printf("\nnot found!!!");
break;
}
case 2:
{
flag=0;
printf("enter fam for edit:");
scanf("%s",string1);
x=start;
while(!x==NULL)
{
if(strcmpi(x->fam,string1)==0)
{
printf("\nname=%s\t fam=%s\t no=%d\t grade=%d",x->name,x->fam,x->no,x->grade);
flag=1;
}
x=x->next;
}
if(flag==0)
{
printf("\what is fam you want edit it");
printf("nenter a name:");
scanf("%s",string2);
x=start;
while(!x==NULL)
{
if(((strcmpi(x->fam,string1)==0))&&((strcmpi(x->name,string2)==0)))
{
printf("\nenter a new fam:");
scanf("%s",x->fam);
flag=1;
}
x=x->next;
}
}
if(flag==0)
printf("\nnot found!!!");
break;
}
case 3:
{
flag=0;
printf("\nenter no:");
scanf("%d",&p);
x=start;
while(!x==NULL)
{
if (x->no==p)
{
printf("\nenter a new no:");
scanf("%d",&x->no);
flag=1;
}
x=x->next;
}
if(flag==0)
printf("not found!!!");
break;
}
}
}
/***************** DELETE FUNCTION **************/
void deletion(struct stu);//tabe hazf
{
flag=0;
printf("enter fam for delete:");
scanf("%s",string1);//daryaft parameter baraye hazf
//strcpy(string2,string1):
x=start;
while(!x==NULL)
{
if(strcmpi(x->fam,string1)==0)//namayeshe etelaat bar asase parametre vared shodeh
{
printf("\nname=%s\t fam=%s\t no=%d\t grade=%d",x->name,x->fam,x->no,x->grade);
flag=1;
}
x=x->next;
}
if(flag==1)
{
printf("\nwhat is fam you want delete it");
printf("\nenter a name:");
scanf("%s",string2);//dryaft name pak shavandeh
x=start;
while(!x==NULL)
{
if (((strcmpi(x->fam,string1)==0)) && (strcmpi(x->name,string2)==0))
{
if(x==start)
start=x->next;//agar tanha parametre vared shavandeh ast an ra gereh shoroe gharar bedeh
else
y->next=x->next;//vagrna etesal ba gereh ghabli ra hazf kon
free(x);
flag=1;
}
y=x;
x=x->next;
}
}
if(flag==0)
printf("\nnot found!!!");
}
/*********************** EXIT FUNCTION ****************/
void outgo(struct stu);//zakhire file
{
fp=fopen("stu.txt","w");//baz kardane file jahate neveshtan
if(fp==NULL)//agar por bod
{
printf("can not save these changes!!!");
}
x=start;
//y=start;
while(!x==NULL)//agar faza dasht
{
fprintf(fp,"%s\t %s\t %d\t %d",x->name,x->fam,x->no,x->grade);//etelaat ra darone file beriz
x=x->next;
}
}
/*************** FOUND MIX AND MAX AND AVG GRADE ***********/
void found(struct stu)//jostejooye max va min va mohasebe miyangin
{
float min,max,sum;
int i;
sum=0;
x=start;
min=x->grade;//avali ra kochektar bokon
max=x->grade;//avali ra bozorgtar bokon
while(!x==NULL)
{
sum=sum+x->grade;
if(x->grade>max) max=x->grade;
if(x->grade<min) min=x->grade;
i++;
x=x->next;
}
printf("\n\t min=%d\t max=%d\t avg=%d",min,max,sum/i);
}
/************** SHOW INFORMATIONS GRADE ****************/
void found1(struct stu)//jostejooye balatar az yek nomreh
{
a=0;
glag=0;
printf("enter grade for show informations:");
scanf("%d",&a1);
x=start;
while(!x==NULL)
{
if(x->grade>=a1)
{
printf("\nname=%s\t fam=%s\t no=%d\t grade=%d",x->name,x->fam,x->no,x->grade);
flag=1;
}
x=x->next;
}
if(flag==0) printf("\n!!! NOT FOUND !!!");
}
/*********************** MAIN FUNCTION **************/
int main ()
{
struct stu m;//tarif yek moteghayer az noe sakhtare daneshjoo
start=NULL;
clrscr();
fp=fopen("stu.txt""r+");//baz kardane file baraye khandane etelaat
rewind(fp);
start=NULL;
while(!feof(fp))//be payane file naresideh etelaat ra bekhan dar list peyvandi beriz
{
if(fp==NULL)
break;
x=(struct stu*)malloc(sizeof(struct stu));//eijade faza baraye zakhire file
if(start==NULL)
{
start=x;
y=x;
}
else
{
y->next=x;
y=x;
}
fscanf(fp,"%s\t %s\t %d\t %d",s->name,x->fam,x->no,x->grade);
x->next=NULL;
}
fclose(fp);
while(1)
{
printf("\n1-ADD SPECIFICATION");
printf("\n2-SHOW SPECIFICATION");
printf("\n3-SEARCH SPECIFICATION");
printf("\n4-EDIT SPECIFICATION");
printf("\n5-DELETE SPECIFICATION");
printf("\n6-FOUND MIN,MAX AND AVG GRADE");
printf("\n7-SHOW INFORMATIONS GRADE");
printf("\n8-SAVE SPECIFICATION");
printf("\n9-EXIT");
printf("\nENTER A NUMBER FOR SELECT ITEM OF UP MENO:");
scanf(%d,&n);//ENTEKHAB GOZINE MOREDE NAZAR
switch(n)
{
/*************** ADD FUNCTION ****************/
case 1:
{
add(m);
break;
}
/*************** SHOW FUNCTION ****************/
case 2:
{
show(m);
break;
}
/*************** SEARCH FUNCTION ****************/
case 3:
{
search(m);
break;
}
/*************** EDIT FUNCTION ****************/
case 4:
{
edit(m);
break;
}
/*************** REMOVE FUNCTION ******************/
case 5:
{
deletion(m);
break;
}
/*************** FOUND MIN,MAX,AVG ****************/
case 6:
{
found(m);
break;
}
/*************** SHOW INFORMATIONS GRADE **********/
case 7:
{
found1(m);
break;
}
/*************** EXODUS FUNCTION *****************/
case 8:
{
outgo(m);
//exit(n);
break;
}
/*************** EXIT ****************************/
case 9:
{
printf("are you sure to exit??(y=yes)");
a=getche();
if(a=='y')exit(0);break;
}
/****************** END OF PROGRAM ************/
return 0;
}
}
}