我的C语言出现了问题我用了函数,可否实现返回主菜单,就是main函数
#include<stdlib.h>#include<stdio.h>#include<math.h>structstudent{charname[10];intxueh...
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
struct student
{
char name[10];
int xuehao;
int yuwen;
int shuxue;
}Xinxi[49];
void shuru()
{
int b;
int ch;
for(b=0;b<49;b++)
{
printf("请输入第%d名同学的学号:",b+1);
scanf("%d",&Xinxi[b].xuehao);
system("cls");
printf("请输入该同学的姓名:");
scanf("%s",&Xinxi[b].name);
system ("cls");
printf("输入语文成绩:");
scanf("%d",&Xinxi[b].yuwen);
system ("cls");
printf("输入数学成绩:");
scanf("%d",&Xinxi[b].shuxue);
system("cls");
}
printf("输入成功按任意键继续");
ch = getchar();
}
void shuchu()
{
int i;
int ch;
printf("请输入要查询的学生学号:");
scanf("%d",&i);
system ("cls");
printf(" 学号 姓名 语文成绩 数学成绩\n");
printf("-----------------------------------------------------");
printf(" %d %s %d %d ",Xinxi[i-1].xuehao,Xinxi[i-1].name,Xinxi[i-1].yuwen,Xinxi[i-1].shuxue);
printf("按任意键返回主菜单");
ch = getchar();
system ("cls");
}
void main()
{
int e;
printf("1.输入学生成绩\n");
printf("2.输出学生成绩\n");
printf("输入选项:");
scanf("%d",&e);
switch(e)
{
case 1:shuru();
system ("cls");
case 2:shuchu();
system ("cls");
}
} 展开
#include <stdio.h>
#include <math.h>
struct student
{
char name[10];
int xuehao;
int yuwen;
int shuxue;
}Xinxi[49];
void shuru()
{
int b;
int ch;
for(b=0;b<49;b++)
{
printf("请输入第%d名同学的学号:",b+1);
scanf("%d",&Xinxi[b].xuehao);
system("cls");
printf("请输入该同学的姓名:");
scanf("%s",&Xinxi[b].name);
system ("cls");
printf("输入语文成绩:");
scanf("%d",&Xinxi[b].yuwen);
system ("cls");
printf("输入数学成绩:");
scanf("%d",&Xinxi[b].shuxue);
system("cls");
}
printf("输入成功按任意键继续");
ch = getchar();
}
void shuchu()
{
int i;
int ch;
printf("请输入要查询的学生学号:");
scanf("%d",&i);
system ("cls");
printf(" 学号 姓名 语文成绩 数学成绩\n");
printf("-----------------------------------------------------");
printf(" %d %s %d %d ",Xinxi[i-1].xuehao,Xinxi[i-1].name,Xinxi[i-1].yuwen,Xinxi[i-1].shuxue);
printf("按任意键返回主菜单");
ch = getchar();
system ("cls");
}
void main()
{
int e;
printf("1.输入学生成绩\n");
printf("2.输出学生成绩\n");
printf("输入选项:");
scanf("%d",&e);
switch(e)
{
case 1:shuru();
system ("cls");
case 2:shuchu();
system ("cls");
}
} 展开
3个回答
展开全部
很简单 在 shuru shuhu 后面 加个 main()
就可以实现返回main函数了
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
struct student
{
char name[10];
int xuehao;
int yuwen;
int shuxue;
}Xinxi[49];
void shuru()
{
int b;
int ch;
for(b=0;b<49;b++)
{
printf("请输入第%d名同学的学号:",b+1);
scanf("%d",&Xinxi[b].xuehao);
system("cls");
printf("请输入该同学的姓名:");
scanf("%s",&Xinxi[b].name);
system ("cls");
printf("输入语文成绩:");
scanf("%d",&Xinxi[b].yuwen);
system ("cls");
printf("输入数学成绩:");
scanf("%d",&Xinxi[b].shuxue);
system("cls");
}
printf("输入成功按任意键继续");
ch = getchar();
main(); //就是这里
}
void shuchu()
{
int i;
int ch;
printf("请输入要查询的学生学号:");
scanf("%d",&i);
system ("cls");
printf(" 学号 姓名 语文成绩 数学成绩\n");
printf("-----------------------------------------------------");
printf(" %d %s %d %d ",Xinxi[i-1].xuehao,Xinxi[i-1].name,Xinxi[i-1].yuwen,Xinxi[i-1].shuxue);
printf("按任意键返回主菜单");
ch = getchar();
system ("cls");
main(); //还有这里
}
void main()
{
int e;
printf("1.输入学生成绩\n");
printf("2.输出学生成绩\n");
printf("输入选项:");
scanf("%d",&e);
switch(e)
{
case 1:shuru();
system ("cls");
case 2:shuchu();
system ("cls");
}
}
就可以实现返回main函数了
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
struct student
{
char name[10];
int xuehao;
int yuwen;
int shuxue;
}Xinxi[49];
void shuru()
{
int b;
int ch;
for(b=0;b<49;b++)
{
printf("请输入第%d名同学的学号:",b+1);
scanf("%d",&Xinxi[b].xuehao);
system("cls");
printf("请输入该同学的姓名:");
scanf("%s",&Xinxi[b].name);
system ("cls");
printf("输入语文成绩:");
scanf("%d",&Xinxi[b].yuwen);
system ("cls");
printf("输入数学成绩:");
scanf("%d",&Xinxi[b].shuxue);
system("cls");
}
printf("输入成功按任意键继续");
ch = getchar();
main(); //就是这里
}
void shuchu()
{
int i;
int ch;
printf("请输入要查询的学生学号:");
scanf("%d",&i);
system ("cls");
printf(" 学号 姓名 语文成绩 数学成绩\n");
printf("-----------------------------------------------------");
printf(" %d %s %d %d ",Xinxi[i-1].xuehao,Xinxi[i-1].name,Xinxi[i-1].yuwen,Xinxi[i-1].shuxue);
printf("按任意键返回主菜单");
ch = getchar();
system ("cls");
main(); //还有这里
}
void main()
{
int e;
printf("1.输入学生成绩\n");
printf("2.输出学生成绩\n");
printf("输入选项:");
scanf("%d",&e);
switch(e)
{
case 1:shuru();
system ("cls");
case 2:shuchu();
system ("cls");
}
}
更多追问追答
追问
不行无法执行
追答
在最前面声明一下main函数
#include
#include
#include
struct student
{
char name[10];
int xuehao;
int yuwen;
int shuxue;
}Xinxi[49];
void main(); //在这里声明
void shuru()
{
int b;
int ch;
for(b=0;b<49;b++)
{
printf("请输入第%d名同学的学号:",b+1);
scanf("%d",&Xinxi[b].xuehao);
system("cls");
printf("请输入该同学的姓名:");
scanf("%s",&Xinxi[b].name);
system ("cls");
printf("输入语文成绩:");
scanf("%d",&Xinxi[b].yuwen);
system ("cls");
printf("输入数学成绩:");
scanf("%d",&Xinxi[b].shuxue);
system("cls");
}
printf("输入成功按任意键继续");
ch = getchar();
main();
}
void shuchu()
{
int i;
int ch;
printf("请输入要查询的学生学号:");
scanf("%d",&i);
system ("cls");
printf(" 学号 姓名 语文成绩 数学成绩\n");
printf("-----------------------------------------------------");
printf(" %d %s %d %d ",Xinxi[i-1].xuehao,Xinxi[i-1].name,Xinxi[i-1].yuwen,Xinxi[i-1].shuxue);
printf("按任意键返回主菜单");
ch = getchar();
system ("cls");
main(); //ji
}
void main()
{
int e;
printf("1.输入学生成绩\n");
printf("2.输出学生成绩\n");
printf("输入选项:");
scanf("%d",&e);
switch(e)
{
case 1:shuru();
system ("cls");
case 2:shuchu();
system ("cls");
}
}
展开全部
其实,你可以写一个函数
void menu() //专门用来显示主菜单的
{
}
然后在你想返回主菜单的地方调用menu()就行了.
你这个应该是学生时代的练习题目,就不直接给你答案了
void menu() //专门用来显示主菜单的
{
}
然后在你想返回主菜单的地方调用menu()就行了.
你这个应该是学生时代的练习题目,就不直接给你答案了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
struct student
{
char name[10];
int xuehao;
int yuwen;
int shuxue;
}Xinxi[50];
void shuru()
{
int b;
//int ch;
for(b=0;b<50;b++)
{
printf("请输入第%d名同学的学号:",b+1);
scanf("%d",&Xinxi[b].xuehao);
if(Xinxi[b].xuehao==0)
break;
system("cls");
printf("请输入该同学的姓名:");
scanf("%s",Xinxi[b].name);
system ("cls");
printf("输入语文成绩:");
scanf("%d",&Xinxi[b].yuwen);
system ("cls");
printf("输入数学成绩:");
scanf("%d",&Xinxi[b].shuxue);
system("cls");
}
//printf("输入成功按任意键继续");
//ch = getchar();
}
void shuchu()
{
int i;
int ch;
printf("请输入要查询的学生学号:");
scanf("%d",&i);
system ("cls");
printf(" 学号 姓名 语文成绩 数学成绩\n");
printf("-----------------------------------------------------\n");
printf(" %d %s %d %d\n ",Xinxi[i-1].xuehao,Xinxi[i-1].name,Xinxi[i-1].yuwen,Xinxi[i-1].shuxue);
printf("按任意键返回主菜单\n");
ch = getchar();
//system ("cls");
}
void main()
{
int e;
while(e!=0){
printf("0.退出\n");
printf("1.输入学生成绩\n");
printf("2.输出学生成绩\n");
printf("输入选项:");
scanf("%d",&e);
switch(e)
{
case 0:break;
case 1:shuru();
system ("cls");
break;
case 2:shuchu();
//system ("cls");
break;
}
}
}
1.你的程序问题太多,首先输入像你那样编必须输入50个同学才退出,这样极不合理;
2.你的输出,根本不是根据输入的学号选择,而是序号;
3.我大概给你改了一下,能运行,但这样的程序实际根本不能用,希望重编。
以上意见仅供参考。
#include <stdio.h>
#include <math.h>
struct student
{
char name[10];
int xuehao;
int yuwen;
int shuxue;
}Xinxi[50];
void shuru()
{
int b;
//int ch;
for(b=0;b<50;b++)
{
printf("请输入第%d名同学的学号:",b+1);
scanf("%d",&Xinxi[b].xuehao);
if(Xinxi[b].xuehao==0)
break;
system("cls");
printf("请输入该同学的姓名:");
scanf("%s",Xinxi[b].name);
system ("cls");
printf("输入语文成绩:");
scanf("%d",&Xinxi[b].yuwen);
system ("cls");
printf("输入数学成绩:");
scanf("%d",&Xinxi[b].shuxue);
system("cls");
}
//printf("输入成功按任意键继续");
//ch = getchar();
}
void shuchu()
{
int i;
int ch;
printf("请输入要查询的学生学号:");
scanf("%d",&i);
system ("cls");
printf(" 学号 姓名 语文成绩 数学成绩\n");
printf("-----------------------------------------------------\n");
printf(" %d %s %d %d\n ",Xinxi[i-1].xuehao,Xinxi[i-1].name,Xinxi[i-1].yuwen,Xinxi[i-1].shuxue);
printf("按任意键返回主菜单\n");
ch = getchar();
//system ("cls");
}
void main()
{
int e;
while(e!=0){
printf("0.退出\n");
printf("1.输入学生成绩\n");
printf("2.输出学生成绩\n");
printf("输入选项:");
scanf("%d",&e);
switch(e)
{
case 0:break;
case 1:shuru();
system ("cls");
break;
case 2:shuchu();
//system ("cls");
break;
}
}
}
1.你的程序问题太多,首先输入像你那样编必须输入50个同学才退出,这样极不合理;
2.你的输出,根本不是根据输入的学号选择,而是序号;
3.我大概给你改了一下,能运行,但这样的程序实际根本不能用,希望重编。
以上意见仅供参考。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询