学生信息管理系统
§3.3 系统结构体定义
对于一个应用程序而言,结构体的定义好坏尤为重要。一个设计结构体,可以使系
统功能实现变得更加简单,也会使系统的执行速度更快,性能更高更稳定。
学姓 号 名
studen结构体定义表
列 num name elec expe requ sum
6
学生成绩结构体 选修课成绩 总分成绩 实验课成绩 必修课成绩 含义 学号 姓名 选修课成绩 实验课成绩 必修课成绩 总分成绩
类型 int char double double double double
长度 4 15 8 8 8 8
缺省值 无 无 无 无 无 无
允许空 否 是 是 是 是 是
学生信息管理系统
§3.3 系统函数定义
列 in() show() order() del() modify() menu() insert() total() search() main()
含义 录入学生成绩信息 显示学生信息 按总分排序 删除学生成绩信息 修改学生成绩信息
主菜单 插入学生信息 计算总人数 查找学生信息 主函数
类型 void void void void void void void Void void int
7
学生信息管理系统
第4章 系统实现
§4.1学生信息管理系统界面展示模块及实现
§4.1.1 主界面
主界面列表显示的是各个功能的显示信息,包括退出系统、输入学生信息、查询学生信息、删除学生信息、修改学生信息、插入学生信息、总成绩排名、统计学生人数、显示学生信息。
界面
用户进入列表展示界面后,可以输入选项选择相应的功能 展示功能模块界面 代码实现:
void menu()/*自定义函数实现菜单功能*/ {
system(\ printf(\
printf(\ printf(\退出 |\\n\ printf(\输入数据 |\\n\ printf(\搜索数据 |\\n\ printf(\删除数据 |\\n\
8
学生信息管理系统
printf(\修改数据 |\\n\ printf(\插入数据 |\\n\ printf(\总分排序 |\\n\ printf(\学生人数 |\\n\ printf(\查看 |\\n\ printf(\ printf(\选择(0-8):\}
具有输入数字选择功能的代码是写在主函数中的
void main()/*主函数*/ { int n; menu();
scanf(\输入选择功能的编号*/ while(n) { switch(n)
{ case 1: in();break; case 2: search();break; case 3: del();break; case 4: modify();break; case 5: insert();break; case 6: order();break; case 7: total();break;
case 8: show();break;
default:break; } getch();
menu();/*执行完功能再次显示菜单界面*/ scanf(\
9
学生信息管理系统
§4.1.2 录入学生信息模块
在主界面中输入数字1,即可进入到录入学生信息状态。当磁盘文件有存储记录时,可以向文件中添加学生信息,运行效果如图1
当磁盘文件没有学生信息记录时,系统界面会提示没有记录,然后根据提示决定是否输入信息,运行效果如图2
图1
图2
在录入学生信息模块中将学生的信息进行保留,当程序运行结束,关闭程序,下此运行程序时录入的信息任然保留。因此在该模块中应用文件读写操作,对录入的信息保存到存到磁盘文件中,下次运行程序时,可以从磁盘文件中将存储读出并显示。
代码实现
void in()/*录入学生信息*/ { int i,m=0;/*m是记录的条数*/ char ch[2];
FILE *fp;/*定义文件指针*/
if((fp=fopen(\打开指定文件*/ { }
10
printf(\不能打开\\n\ return;