求助,编了一个学生信息查询程序,出了很多问题。
在屏幕上输出以下主菜单(置于屏幕的中间位置)12应用第二学期成绩管理系统
录入成绩 --------- 1
浏览成绩 --------- 2
修改成绩 --------- 3
成绩计算 --------- 4
成绩排序 --------- 5
退出系统 --------- 0
1在主菜单的下面显示:“请输入你选择的操作(0~5):”,并选择相应的操作;
2对于超出范围的操作号码(<0 或 >5)给出错误提示信息:“你的选择错误!”,要求重新输入;
3如果选择正确,分别调用上述的5个函数;
4主函数定义两个数组,数组name按编号顺序存放学生的姓名,数组score按编号顺序存放若干门课程的成绩, name元素的值通过初始化得到(可以按你所在班级同学名字输入),score的值通过键盘输入;
提示:char name[48][7]; 存放48位同学的姓名
int score[48][4]; 存放48位同学的四门课程成绩
5录入成绩时要求先显示学生的姓名,然后才录入其成绩;
6浏览(输出)成绩时要求按顺序以表格形式显示每个学生的序号、姓名和成绩,表头包含序号、姓名、成绩,每个两个学生信息之间用横线分隔;
7修改成绩、成绩计算、成绩排序等3个函数功能暂时为输出:“函数正在建设中,请按回车键返回。”
8为了使输出更美观,在适当的地方增加清屏功能(提示:system( "cls ");头文件stdlib)。
#include <stdio.h>
#include <stdlib.h>
void a();
void b(int y);
void e (int z,char v[3][7],int w[3][2]);
void c(char v[3][7],int w[3][2]);
void f(char v[3][7],int w[3][2])
void d();
int i,j;
void main()
{
int x;
char w;
char name[3][7]={"雪上鸿","二师兄","有机物"};
int score[3][2];
while(1)
{
a();
scanf("%d",&x);
getchar();
if(x==0)
break;
if(x<0||x>5)
{
continue;
}
j=getchar();
if(w='y')
{
continue;
}
selection (x,name,score);
}
}
void a()
{
printf("\t\t12应用第二学期成绩管理系统\n");
printf("\t\t\t录入成绩---------1\n");
printf("\t\t\t浏览成绩---------2\n");
printf("\t\t\t修改成绩---------3\n");
printf("\t\t\t成绩计算---------4\n");
printf("\t\t\t成绩排序---------5\n");
printf("\t\t\t退出系统---------0\n\n");
printf("请输入你的选择的操作(0~5):");
}
void b(int y)
{
if(y<0||y>5)
{
printf("请重新输入\n");
system("cls");
}
else if(y>=0&&y<=5)
{
switch(y)
{
case(0):
printf("退出系统");break;
case(1):
printf("录入成绩");break;
case(2):
printf("浏览成绩");break;
case(3):
printf("修改成绩");break;
case(4):
printf("成绩计算");break;
case(5):
printf("成绩排序");break;
default: break;
}
printf(",确认吗?(y/n)");
}
}
void c(char v[3][7],int w[3][2])
{
for(i=0;i<3;i++)
{
printf("输入学号为%d号",i+1);
for(j=0;j<7;j++)
{
printf("%c",v[i][j]);
}
printf("\n");
for(j=0;j<2;j++)
printf("\n物理,数学\n");
scanf("%d",&w[i][j]);
}
system("cls");
}
void f(char v[3][7],int w[3][2])
{
printf("\t\t物理\t\t数学\n");
for(i=0;i<3;i++)
{
printf("学号为%d",i+1);
for(j=0;j<7;j++)
{
printf("%c",a[i][j]);
}
printf("-------------------------------------------------------\n");
for(j=0;j<2;j++)
{
printf("\t\t%d",b[i][j]);
}
printf("\n");
}
system("cls");
}
void d()
{
printf("函数建设中\n");
system("cls");
}
void e (int z,char v[3][7],int b[3][2])
{
switch(z)
{
case(1):
c(v,w);break;
case(2):
f(v,w);break;
case(3):
d();break;
case(4):
d();break;
case(5):
d();break;
}
}