u011131354 2013-06-19 09:53 采纳率: 0%
浏览 5063

fatal error C1004: unexpected end of file found

编程序时遇到这个问题,求大神解答,小白一个。代码:
#include"stdio.h"
#include
#include
#include"process.h"
#include"ctype.h"
typedef struct
{
char num[10];
char name[10];
int physics;
int math;
int english;
int chemistry;
int art;
double aver;
}Student;
Student stu[99];

int shuru(Student stud[],int n)
{
int i=0;
char sign,x[10];
double a=0.0;

while(sign!='n'&&sign!='N')
{
printf("输入学号:");
scanf("%s",stu[n+i].num);
printf("输入姓名:");
scanf("%s",stu[n+i].name);

printf("输入物理、数学、英语、化学、美术分数:");
scanf("%d%d%d%d",&stu[n+i].physics,&stu[n+i].math,&stu[n+i].english,&stu[n+i].chemistry,&stu[n+i].art);
a=1.0*(stu[n+i].chinese+stu[n+i].math+stu[n+i].english+&stu[n+i].chemistry+&stu[n+i].art)/5;
stu[n+i].aver=a;
gets(x);

printf("继续输入?(Y/N):\n");
scanf("%c",&sign);
i++;
}
return(n+i);
}
void xianshi(Student stud[],int n)
{
int i ;
printf("----------------------------------------------------------\n");
printf("学号 姓名 物理 数学 英语 化学 美术 平均成绩 \n");
printf("----------------------------------------------------------\n");
for(i=0;i<n;i++)
{
printf("%-10s%-10s%-10d%-10d%-10d%-10d%-10.2lf\n",stu[i].num,stu[i].name,stu[i].physics,stu[i].math,stu[i].english,stu[i].chemistry,stu[i].art,stu[i].aver);

}
}

void chaxun_xingming(Student stud[],int n)
{ char s[20];

int i=0;
printf("输入姓名:");
scanf("%s",s);
while(strcmp(stu[i].name,s)!=0&&i<n) i++;
if(i==n)
{printf("not find!\n");
return; }
printf("他的姓名、学号是:%s %s\n",stu[i].name,stu[i].num);
printf("物理 数学 英语 化学 美术 平均成绩是:%d,%d,%d,%d,%d,%lf\n",stu[i].physics,stu[i].math,stu[i].english,stu[i].chemistry,stu[i].art,stu[i].aver);

}

void chaxun_pinjun(Student stud[],int n)
{ double s;

int i=0;
printf("输入平均成绩:");
scanf("%lf",&s);
while(stu[i].aver!=s && i<n) i++;
if(i==n)
{ printf("not find!\n");
return;

}
printf("他的学号是:%s\n",stu[i].num);
printf("他的姓名是:%s\n",stu[i].name);
printf("他的物理、数学、英语、化学、美术分数是:%d %d %d %d %d \n",stu[i].physics,stu[i].math,stu[i].english,stu[i].chemistry,stu[i].art);

}

void paixu_xuehao(Student stud[],int n)
{ int i,j,p,q,r,w,z;
double y;
char x[20],t[10];
for(i=0;i for(j=0;j if(strcmp(stud[j].num,stud[j+1].num)>0)
{ strcpy(t,stud[j].num);
strcpy(stud[j].num,stud[j+1].num);
strcpy(stud[j+1].num,t);
strcpy(x,stud[j].name);
strcpy(stud[j].name,stud[j+1].name);
strcpy(stud[j+1].name,x);
y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;
p=stu[j].physics;stu[j].physics=stu[j+1].physics;stu[j+1].physics=p;
q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;
r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;
w=stu[j].chemistry;stu[j].chemistry=stu[j+1].chemistry;stu[j+1]chemistry=w;
z=stu[j].art;stu[j].art=stu[j+1].art;stu[j+1].art=z;
}
return;
}

void paixu_pingjun(Student stud[],int n)
{ int i,j,p,q,r,w,z;
double y;
char x[20],t[10];
for(i=0;i for(j=0;j if(stu[j].aver>stu[j+1].aver)
{ y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;
p=stu[j].physics;stu[j].physics=stu[j+1].physics;stu[j+1].physics=p;
q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;
r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;
w=stu[j].chemistry;stu[j].chemistry=stu[j+1].chemistry;stu[j+1]chemistry=w;
z=stu[j].art;stu[j].art=stu[j+1].art;stu[j+1].art=z;
strcpy(x,stu[j].name);
strcpy(stu[j].name,stu[j+1].name);
strcpy(stu[j+1].name,x);
strcpy(t,stu[j].num);
strcpy(stu[j].num,stu[j+1].num);
strcpy(stu[j+1].num,t);

}
return;
}
void paixu_physics(Student stud[],int n)
{ int i,j,p,q,r,w,z;
double y;
char x[20],t[10];
for(i=0;i for(j=0;j if(stu[j].physics>stu[j+1].physics)

{

y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;
p=stu[j].physics;stu[j].physics=stu[j+1].physics;stu[j+1].physics=p;
q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;
r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;
w=stu[j].chemistry;stu[j].chemistry=stu[j+1].chemistry;stu[j+1]chemistry=w;
z=stu[j].art;stu[j].art=stu[j+1].art;stu[j+1].art=z;
strcpy(x,stu[j].name);
strcpy(stu[j].name,stu[j+1].name);
strcpy(stu[j+1].name,x);
strcpy(t,stu[j].num);
strcpy(stu[j].num,stu[j+1].num);
strcpy(stu[j+1].num,t);

}
return;
}
void paixu_english(Student stud[],int n)
{ int i,j,p,q,r,w,z;
double y;
char x[20],t[10];
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)

if(stu[j].english>stu[j+1].english)

{

y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;
p=stu[j].physics;stu[j].physics=stu[j+1].physics;stu[j+1].physics=p;
q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;
r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;
w=stu[j].chemistry;stu[j].chemistry=stu[j+1].chemistry;stu[j+1]chemistry=w;
z=stu[j].art;stu[j].art=stu[j+1].art;stu[j+1].art=z;
strcpy(x,stu[j].name);
strcpy(stu[j].name,stu[j+1].name);
strcpy(stu[j+1].name,x);
strcpy(t,stu[j].num);
strcpy(stu[j].num,stu[j+1].num);
strcpy(stu[j+1].num,t);

}
return;

}

void paixu_math(Student stud[],int n)
{ int i,j,p,q,r,w;
double y;
char x[20],t[10];
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)

if(stu[j].math>stu[j+1].math)

{

y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;
p=stu[j].physics;stu[j].physics=stu[j+1].physics;stu[j+1].physics=p;
q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;
r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;
w=stu[j].chemistry;stu[j].chemistry=stu[j+1].chemistry;stu[j+1]chemistry=w;
z=stu[j].art;stu[j].art=stu[j+1].art;stu[j+1].art=z;
strcpy(x,stu[j].name);
strcpy(stu[j].name,stu[j+1].name);
strcpy(stu[j+1].name,x);
strcpy(t,stu[j].num);
strcpy(stu[j].num,stu[j+1].num);
strcpy(stu[j+1].num,t);

}
return;

}

void paixu_chemistry(Student stud[],int n)
{ int i,j,p,q,r,w,z;
double y;
char x[20],t[10];
for(i=0;i<n-1;i++)

for(j=0;j<n-1-i;j++)

if(stu[j].chemistry>stu[j+1].chemistry)

{

y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;
p=stu[j].physics;stu[j].physics=stu[j+1].physics;stu[j+1].physics=p;
q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;
r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;
w=stu[j].chemistry;stu[j].chemistry=stu[j+1].chemistry;stu[j+1]chemistry=w;
z=stu[j].art;stu[j].art=stu[j+1].art;stu[j+1].art=z;
strcpy(x,stu[j].name);
strcpy(stu[j].name,stu[j+1].name);
strcpy(stu[j+1].name,x);
strcpy(t,stu[j].num);
strcpy(stu[j].num,stu[j+1].num);
strcpy(stu[j+1].num,t);

}

void paixu_art(Student stud[],int n)
{ int i,j,p,q,r,w,z;
double y;
char x[20],t[10];
for(i=0;i<n-1;i++)

for(j=0;j<n-1-i;j++)

if(stu[j].art>stu[j+1].art)

{

y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;
p=stu[j].physics;stu[j].physics=stu[j+1].physics;stu[j+1].physics=p;
q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;
r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;
w=stu[j].chemistry;stu[j].chemistry=stu[j+1].chemistry;stu[j+1]chemistry=w;
z=stu[j].art;stu[j].art=stu[j+1].art;stu[j+1].art=z;
strcpy(x,stu[j].name);
strcpy(stu[j].name,stu[j+1].name);
strcpy(stu[j+1].name,x);
strcpy(t,stu[j].num);
strcpy(stu[j].num,stu[j+1].num);
strcpy(stu[j+1].num,t);

}
return;

}

int wenjian2(Student stud[],int n)
{ int i=0,num;
FILE *fp;
char filename[20];
printf("\t\t\tInput the filename:");
scanf("\t\t\t%s",filename);
if((fp=fopen(filename,"rb"))==NULL)
{ printf("\t\t\tcann't open the file\n");
printf("\t\t\t");
system("pause");
return(n);
}
fscanf(fp,"%d",&num);
while(i<num)
{
fscanf(fp,"%s %s %d %d %d %d %d %lf\n",stu[n+i].num,stu[n+i].name,&stu[n+i].physics,&stu[n+i].math,&stu[n+i].english,&stu[n+i].chemistry,&stu[n+i].art,&stu[n+i].aver);
i++;
}
n+=num;
fclose(fp);
printf("\t\t\tSuccessed!\n");
printf("\t\t\t");
system("pause");
return(n);
}

void wenjian1(Student stud[],int n)

{
int i=0;
FILE *fp;

char filename[20];

printf("Input the filename:");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)

{
printf("cann't open the file\n");
return;
}
fprintf(fp,"%d\n",n);

while(i<n)
{
fprintf(fp,"%s %s %d %d %d %d %lf\n",stu[i].num,stu[i].name,stu[i].physics,stu[i].math,stu[i].english,stu[i].chemistry,stu[i].art,stu[i].aver);
i++;
}
fclose(fp);

printf("Successed!\n");

}

int menu()

{
int c;

do{
printf("\t\t****学生信息管理系统菜单****\n");
printf("\t\t 1. 编辑 \n");
printf("\t\t 2. 显示 \n");
printf("\t\t 3. 排序\n");

printf("\t\t 4. 文件 \n");
printf("\t\t 0. 退出 \n");
printf("************************************************************\n");
printf("\t\t\t请选择(0-6):");
scanf("%d",&c);
}while(c4);
return(c-0);

}

int bianji()
{
printf("\t\t 1. 录入\n");

printf("\t\t 按其它数字键退出 \n");
int i;
scanf("%d",&i);
return i;
}

int chaxun()
{
printf("\t\t 1. 按姓名查询\n");
printf("\t\t 2 .按平均成绩查询\n");

printf("\t\t 按其它数字键退出\n");
int i;
scanf("%d",&i);
return i;
}

int paixu()
{
printf("\t\t 1. 按学号\n");
printf("\t\t 2 .按物理成绩\n");
printf("\t\t 3 .按数学成绩\n");
printf("\t\t 4 .按英语成绩\n");
printf("\t\t 5 .按化学成绩\n");
printf("\t\t 6 .按美术成绩\n");
printf("\t\t 7 .按平均成绩\n");
printf("\t\t按其它数字键退出\n");

 int i;
  scanf("%d",&i);
  return i;

}

int wenjian()
{
printf("\t\t 1. 从文件中读入数据\n");
printf("\t\t 2 .将所有记录写入文件\n");

printf("\t\t 按其它数字键退出 \n");

int i;
scanf("%d",&i);
return i;
}

void main()

{
int n=0;
for(;;)
{
for(;;)
{
switch(menu())
{
case 1: switch(bianji())
{
case 1:n=shuru(stu,n);xianshi(stu,n); break;

       } break; 

case 2:xianshi(stu,n);break;
case 3:
switch(chaxun())
{
case 1:chaxun_xingming(stu,n);break;
case 2:chaxun_pingjun(stu ,n);break;

} break;
case 4: switch(paixu())
{
case 1:paixu_xuehao(stu,n);xianshi(stu,n); break ;

case 2:paixu_physics(stu ,n);xianshi(stu,n);break;
case 3:paixu_math(stu ,n);xianshi(stu,n); break;
case 4:paixu_english(stu ,n);xianshi(stu,n); break;
case 5:paixu_chemistry(stu ,n);xianshi(stu,n); break;
case 6:paixu_art(stu ,n);xianshi(stu,n); break;
} break;

case 5:
switch(wenjian())
{
case 1:n=wenjian2(stu,n);break;

           case 2:wenjian1(stu ,n);break;

       } break; 

   case 0: 
          exit(0);    
    } 
 }

}
}

  • 写回答

1条回答

  • judithfj 2018-03-01 05:52
    关注

    应该是少了一个}括号 。
    统计了下,{括号有43个,但}括号只有42个
    重新梳理下代码结构吧。

    评论

报告相同问题?

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名