C语言之学生管理系统
1)系统运行,打开如下界面。列出系统帮助菜单(即命令菜单),提示输入命令。
2)开始时还没有录入成绩,所以输入命令 L 也无法列出成绩。应提示“成绩表为空!请先使用命令 T 录入学生成绩。”
同理,当输入其他的成绩处理命令时也作相应的处理。
3)输入命令 T,调用Type子函数录入成绩。
界面提示输入学生人数
输入3 回车 提示输入3名学生的3门课成绩,列出成绩单的表头“学号 语文 数学 英语”,提示学号:1
输入1号学生的3门课成绩,用空格间隔,回车结束。提示学号:2
输入2号学生的3门课成绩,用空格间隔,回车结束。提示学号:3
输入3号学生的3门课成绩,用空格间隔,回车结束。Type子函数调用结束,返回。提示输入命令。
4)输入命令 L ,调用List子函数输出成绩表。List子函数调用结束,返回。提示输入命令。
5)输入命令 A ,调用Average子函数计算平均分,提示“平均分已计算。请使用命令L查看。” Average子函数调用结束,返回。提示输入命令。
输入命令L ,调用List子函数输出成绩表。List子函数调用结束,返回。提示输入命令。
6)输入命令 P ,调用Sort子函数将各学生记录按平均分由高到低排序,提示“完成排序。请使用命令L查看。” Sort子函数调用结束,返回。提示输入命令。
输入命令L ,调用List子函数输出成绩表。List子函数调用结束,返回。提示输入命令。
7)输入命令 S ,调用Search子函数查询学生成绩,提示“输入要查询的学生学号”。
输入2 找到2号学生的成绩并输出。Search子函数调用结束,返回。提示输入命令。
8)输入命令C 执行清屏函数语句system("clear");
清除屏幕的所有内容。提示输入命令。
9)输入命令H调用Help子函数显示帮助菜单。Help子函数调用结束,返回。提示输入命令。
10)输入命令Q 则退出系统。
全部代码如下:
#include"stdio.h"
#include"stdlib.h"
#define MAX 10
void menu();
void order();
struct student
{int id;double china;double english;double math;
};
struct student stu[MAX];
int count=0;
double ave[MAX]={0.0};
void Type()
{int num,i=0;printf("请输入学生人数:");scanf("%d",&num);printf("请输入%d名学生的三门成绩\n",num);printf("学号\t语文\t英语\t数学\n");while (num){ if(count>=MAX){printf("学生数量以达到上限\n");return;}stu[count].id=++i;printf("%d\t",stu[count].id);scanf("%lf%lf%lf",&stu[count].china,&stu[count].english,&stu[count].math);count++;num--;}printf("录入成功!\n");order();
}
void List()
{if(count==0){printf("成绩表为空!请先使用命令T录入学生成绩\n");order();}printf("学号\t语文\t英语\t数学\t平均分\n");for(int i=0;i2016.06.12 By 姓名 *\t\n");printf("**********************************************************\n");
}
void order()
{ printf("请输入命令="); while(1){char choice; scanf(" %c",&choice);switch (choice){case 'T':Type();break;case 'L':List();break;case 'S':search();break;case 'A':average();break;case 'P':sort();break;case 'H':help();break;case 'C':system("clear");printf("请输入命令="); break;case 'Q':exit(0);break;default:printf("指令错误,请重新输入命令:\n");printf("请输入命令="); break;} }
}
int main(int argc, char const *argv[])
{ menu();order();return 0;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
