#include
void printMenu(); //打印主菜单
void inputMessage();//录入学生成绩
void printMessage();//打印学生成绩
void update();
struct student{
char num[4]; //学号
char name[10]; //姓名
int score[3]; //3门课的分数
}stu[50]; //结构体数组 -- 全局变量
int n=0; //记录学生实际人数--全局变量
main(){
int select; //记录用户选择的菜单项
system("CLS"); //清屏 -- 清除屏幕上的文字
printMenu(); //打印主菜单
scanf("%d",&select);
while(select!=0){
switch(select){
case 1:
inputMessage();//录入学生成绩
break;
case 2:break;
case 3:update();break;
case 4:case 5:case 7:
break;
case 6:
printMessage();//打印学生成绩
break;
}
system("CLS"); //清屏 -- 清除屏幕上的文字
printMenu(); //打印主菜单
scanf("%d",&select);
}
return;
}
//打印主菜单
void printMenu(){
printf("\n");
printf("欢迎使用学生成绩管理系统\n");
printf("\n\n-----------------------------\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\n-----------------------------\n");
printf("请选择:");
}
//录入学生成绩
void inputMessage(){
getchar(); //跳过一个字符--上接scanf("%d",&select);
printf("请输入学生信息\n");
printf("学号:");
gets(stu[n].num);
printf("姓名:");
gets(stu[n].name);
printf("3科成绩,用逗号分隔:");
scanf("%d,%d,%d",&stu[n].score[0],&stu[n].score[1],
&stu[n].score[2]);
n++; //学生人数增加1 -- 全局变量,无需再次定义
printf("\n恭喜!成功录入成绩!\n");
printf("\n按回车键继续\n");
getchar(); //跳过一个字符--上接63行scanf("%d,%d,%d",...);
getchar(); //程序暂停,等待用户按任意键
}
//打印学生成绩
void printMessage(){
int i,j;
for(i=0;i
for(j=0;j<3;j++){
printf("%d\t",stu[i].score[j]);
}
}
printf("\n按回车键继续\n");
getchar(); //跳过一个字符--上接scanf("%d",&select);
getchar(); //程序暂停,等待用户按任意键
}
void update(){
if(n<=0){
printf("暂无学生数据!");
}
else
{
char num[4];
int flag=0;
int i;
printf("选择修改学生的学号:\n");
scanf("%s",num);
for(i=0;i
printf("请输入分数,用逗号隔开:\n");
scanf("%d,%d,%d",&stu[i].score[0],&stu[i].score[1], &stu[i].score[2]);
flag=1;
printf("修改成功!\n");
printf("成绩修改后为:\n");
printf("%d,%d,%d",stu[i].score[0],stu[i].score[1],stu[i].score[2]);
break;
}
if(flag==0)printf("没有找到!");
}
getchar();
getchar();
}