跪求高人帮我看看这个程序在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');
}
如题,谢谢各位大仙啦,小弟感激不敬啊。 展开
#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');
}
如题,谢谢各位大仙啦,小弟感激不敬啊。 展开
7个回答
展开全部
#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>
#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>
展开全部
最后那里少了个括号而已。
#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');
}
#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');
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
括号不匹配,少了一个“}”在末尾,应该是do语句没有对应的}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
}
} // 这里少了个}
}
break;
case '2':printf("您选择了\"添加学生\"\n");break;
case '3':printf("您选择了\"编辑学生\"\n");break;
} // 这里少了个}
}
break;
case '2':printf("您选择了\"添加学生\"\n");break;
case '3':printf("您选择了\"编辑学生\"\n");break;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
{ } 不匹配!
最简单的方法:把case '1': 后面的 '{' 去掉!
最简单的方法:把case '1': 后面的 '{' 去掉!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询