跪求高人帮我看看这个程序在C++里为什么说是fatal error C1004: unexpected end of file found错误吧

#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<string.h>#definemaxsize1... #include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#define maxsize 100
void main()
{
char choice;
int stumun=0;
int n,i;
float scores[maxsize][4];
char number[maxsize][6],name[maxsize][80];
do
{
system("cls");
printf("|----------------------------------------------------------------------------|\n");
printf("| 1——创建成绩单 |\n");
printf("| 2——添加学生 |\n");
printf("| 3——编辑学生 |\n");
printf("| 4——删除学生 |\n");
printf("| 5——统计成绩 |\n");
printf("| 6——排序成绩单 |\n");
printf("| 7——显示成绩 |\n");
printf("| 0——退出 |\n");
printf("|----------------------------------------------------------------------------|\n");
choice=getch();
switch(choice)
{
case '1':{
printf("您选择了\"创建成绩单\"\n");
if(stumun>0)
{
printf("不能重复创建学生成绩单\n按任意键继续...\n");
getch();
}
else
{
printf("请输入学生人数:");
scanf("%d",&n);
if(n>0 && n<=maxsize)
{
for(i=0;i<n;i++)
{
printf("\n请输入对第%2d个学生的记录:",i+1);
printf("\n请输入学生学号:");
gets(number[i]);
printf("\n请输入学生姓名");
gets(name[i]);
printf("\n请输入语文成绩:");
scanf("%f",&scores[i][0]);
printf("\n请输入数学成绩:");
scanf("%f",&scores[i][1]);
printf("\n请输入英语成绩:");
scanf("%f",&scores[i][2]);
scores[i][3]=(scores[i][0]+scores[i][1]+scores[i][2])/3;
}
printf("创建学生成绩成功");
getch();
stumun=n;
}
else
{
printf("创建学生成绩失败,学生人数应在1到%d之间。按任意键继续...",maxsize);
getch();
}
}
break;
case '2':printf("您选择了\"添加学生\"\n");break;
case '3':printf("您选择了\"编辑学生\"\n");break;
case '4':printf("您选择了\"删除学生\"\n");break;
case '5':printf("您选择了\"统计成绩\"\n");break;
case '6':printf("您选择了\"排序成绩单\"\n");break;
case '7':printf("您选择了\"显示成绩\"\n");break;
case '0':printf("您选择了\"退出\"\n");break;
default:printf("非法输入");
}
getch();
}
while(choice!='0');
}
如题,谢谢各位大仙啦,小弟感激不敬啊。
展开
 我来答
pipalcn
推荐于2016-11-26 · TA获得超过182个赞
知道答主
回答量:96
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#define maxsize 100
int main()
{
char choice;
int stumun=0;
int n,i;
float scores[maxsize][4];
char number[maxsize][6],name[maxsize][80];
do
{
//system("cls");
printf("|----------------------------------------------------------------------------|\n");
printf("| 1——创建成绩单 |\n");
printf("| 2——添加学生 |\n");
printf("| 3——编辑学生 |\n");
printf("| 4——删除学生 |\n");
printf("| 5——统计成绩 |\n");
printf("| 6——排序成绩单 |\n");
printf("| 7——显示成绩 |\n");
printf("| 0——退出 |\n");
printf("|----------------------------------------------------------------------------|\n");
choice=getch();
switch(choice)
{
case '1':
printf("您选择了\"创建成绩单\"\n");
if(stumun>0)
{
printf("不能重复创建学生成绩单\n按任意键继续...\n");
getch();
}
else
{
printf("请输入学生人数:");
scanf("%d",&n);
if(n>0 && n<=maxsize)
{
for(i=0;i<n;i++)
{
printf("\n请输入对第%2d个学生的记录:",i+1);
printf("\n请输入学生学号:");
//gets(number[i]);
scanf("%s",number[i]);
printf("\n请输入学生姓名");
//gets(name[i]);
scanf("%s",name[i]);
printf("\n请输入语文成绩:");
scanf("%f",&scores[i][0]);
printf("\n请输入数学成绩:");
scanf("%f",&scores[i][1]);
printf("\n请输入英语成绩:");
scanf("%f",&scores[i][2]);
scores[i][3]=(scores[i][0]+scores[i][1]+scores[i][2])/3.0;
}
printf("创建学生成绩成功");
getch();
stumun=n;
}
else
{
printf("创建学生成绩失败,学生人数应在1到%d之间。按任意键继续...",maxsize);
getch();
}
}
break;
case '2':printf("您选择了\"添加学生\"\n");break;
case '3':printf("您选择了\"编辑学生\"\n");break;
case '4':printf("您选择了\"删除学生\"\n");break;
case '5':printf("您选择了\"统计成绩\"\n");break;
case '6':printf("您选择了\"排序成绩单\"\n");break;
case '7':printf("您选择了\"显示成绩\"\n");break;
case '0':printf("您选择了\"退出\"\n");break;
default:printf("非法输入");
}
getch();
} while(choice!='0');
return 0;
}

大括号不匹配,这是问题一。问题二,输入学号和姓名的时候用gets容易捕获上次输入的回车,改为scanf吧,程序我已经帮你调好了。直接运行即可。
C:\mypro>gcc -g -Wall tmp.c -o tmp

C:\mypro>tmp
|----------------------------------------------------------------------------|
| 1——创建成绩单 |
| 2——添加学生 |
| 3——编辑学生 |
| 4——删除学生 |
| 5——统计成绩 |
| 6——排序成绩单 |
| 7——显示成绩 |
| 0——退出 |
|----------------------------------------------------------------------------|
您选择了"创建成绩单"
请输入学生人数:2

请输入对第 1个学生的记录:
请输入学生学号:007

请输入学生姓名zxsh

请输入语文成绩:98

请输入数学成绩:99

请输入英语成绩:100

请输入对第 2个学生的记录:
请输入学生学号:008

请输入学生姓名test

请输入语文成绩:89

请输入数学成绩:96

请输入英语成绩:99
创建学生成绩成功|-------------------------------------------------------------
-------------|
| 1——创建成绩单 |
| 2——添加学生 |
| 3——编辑学生 |
| 4——删除学生 |
| 5——统计成绩 |
| 6——排序成绩单 |
| 7——显示成绩 |
| 0——退出 |
|----------------------------------------------------------------------------|
您选择了"退出"

C:\mypro>
上上西
2011-05-16 · TA获得超过346个赞
知道小有建树答主
回答量:386
采纳率:0%
帮助的人:0
展开全部
最后那里少了个括号而已。
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#define maxsize 100

int main()
{
char choice;
int stumun=0;
int n,i;
float scores[maxsize][4];
char number[maxsize][6],name[maxsize][80];
do
{
system("cls");
printf("|----------------------------------------------------------------------------|\n");
printf("| 1——创建成绩单 |\n");
printf("| 2——添加学生 |\n");
printf("| 3——编辑学生 |\n");
printf("| 4——删除学生 |\n");
printf("| 5——统计成绩 |\n");
printf("| 6——排序成绩单 |\n");
printf("| 7——显示成绩 |\n");
printf("| 0——退出 |\n");
printf("|----------------------------------------------------------------------------|\n");
choice=getch();
switch(choice)
{
case '1':{
printf("您选择了\"创建成绩单\"\n");
if(stumun>0)
{
printf("不能重复创建学生成绩单\n按任意键继续...\n");
getch();
}
else
{
printf("请输入学生人数:");
scanf("%d",&n);
if(n>0 && n<=maxsize)
{
for(i=0;i<n;i++)
{
printf("\n请输入对第%2d个学生的记录:",i+1);
printf("\n请输入学生学号:");
gets(number[i]);
printf("\n请输入学生姓名");
gets(name[i]);
printf("\n请输入语文成绩:");
scanf("%f",&scores[i][0]);
printf("\n请输入数学成绩:");
scanf("%f",&scores[i][1]);
printf("\n请输入英语成绩:");
scanf("%f",&scores[i][2]);
scores[i][3]=(scores[i][0]+scores[i][1]+scores[i][2])/3;
}
printf("创建学生成绩成功");
getch();
stumun=n;
}
else
{
printf("创建学生成绩失败,学生人数应在1到%d之间。按任意键继续...",maxsize);
getch();
}
}
break;
case '2':printf("您选择了\"添加学生\"\n");break;
case '3':printf("您选择了\"编辑学生\"\n");break;
case '4':printf("您选择了\"删除学生\"\n");break;
case '5':printf("您选择了\"统计成绩\"\n");break;
case '6':printf("您选择了\"排序成绩单\"\n");break;
case '7':printf("您选择了\"显示成绩\"\n");break;
case '0':printf("您选择了\"退出\"\n");break;
default:printf("非法输入");
}
getch();
}
} while(choice!='0');
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
在梯田捕蝶的秋海棠
2011-05-16 · TA获得超过1262个赞
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:137万
展开全部
括号不匹配,少了一个“}”在末尾,应该是do语句没有对应的}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Laplas
2011-05-16 · TA获得超过1万个赞
知道大有可为答主
回答量:2680
采纳率:50%
帮助的人:2439万
展开全部
}
} // 这里少了个}
}
break;
case '2':printf("您选择了\"添加学生\"\n");break;
case '3':printf("您选择了\"编辑学生\"\n");break;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
oolgloo
2011-05-16 · TA获得超过2636个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:663万
展开全部
{ } 不匹配!
最简单的方法:把case '1': 后面的 '{' 去掉!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式