欢迎来到天天文库
浏览记录
ID:18378329
大小:112.50 KB
页数:11页
时间:2018-09-17
《学生学籍管理 程序报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、二、读程序题部分(学生学籍管理系统)1、程序的功能输入并保存多个学生的学号、姓名、分数的信息,可以查询、添加或删除其中任意学生的信息。而且,统计出学生的平均成绩,找出并显示最高分和最低分学生的信息。2、主函数分析主函数里的的第二行用了一个无限循环语句for(;;),故而,后面肯定有肯定有跳出循环的语句exit(0);下面用了swich语句,其判断式为menu函数的返回值。根据返回值调用对应的功能函数,执行其对应的操作。3、函数的调用关系4、数据变量定义作用在结构体中定义charnum、charname、intscore分别表示学生的学号、姓名、成绩;在menu函数中定义c,把输入的数值赋
2、给c,用c作为函数的返回值,执行对应的操作;在Query_a_record函数中定义chars[20]用以存放执行查询功能时输入的姓名字符;在Statistic函数中定义k,j,在分数的循环比较中把stud[].score中的两个最值在数组元素里的排列号数分别赋给j和k,以便找到并输出最高分和最低分学生的信息;定义aver做学生的平均值的变量名;在AddfromText函数里定义文件指针fp用以指向保存记录的文件,以便能找到并打开文件;在WritetoText函数里定义文件指针fp用以指向将保存记录的文件。5、主要函数的功能、流程图主要函数的功能:menu():菜单函数,返回数字选项值I
3、nput():输入并记录学生的信息Display():显示学生的信息Query_a_record():查找并显示一个学生的记录Insert_a_record():插入一条记录Delete_a_record():按学生姓名查找,删除一条记录Sort_by_num():按学号排序多条记录Statistic():统计信息,输出记录的条数,学生的平均分,最高分和最低分学生的信息WritetoText():将所有记录保存至文件AddfromText():从文件中读入数据流程图:开始调用menu函数输入选项值赋给cc<'0'
4、
5、c>'9'YN根据返回值对应的功能调用相应的函数执行相应的操作功能执行完
6、后,再次选择功能menu()的返回值为0NY结束6、程序的不足及改进(1)不足:在第七个功能中,最高分的学生被显示成最低分,而最低分学生被显示成最高分。改进:调换一下两处的代码位置(2)不足:在Sort_by_num函数中,用冒泡法学号排序的代码有些繁杂,改用简便些的代码voidSort_by_num(Studentstud[],intn)/*按学号排序*/{inti,j;Studenttemp;/*(改动)*/chart[10];for(i=0;i0){t
7、emp=stud[j];stud[j]=stud[j+1];/*(改动)把学号较小的学生排到后面*/stud[j+1]=temp;}}(3)不足:保存的文件不能读入数据改进:增加一个读入数据的功能,AddfromText函数,在主函数中增加如下代码,个别地方再稍作改动case9:printf("tttOpenaTextfile");AddfromText(stu,n);/*循环读入数据*/printf("ttt");system("pause");break;7、加上注释、改进后的完整代码#include/*引用库函数*/#include8、h>#includetypedefstruct/*定义结构体数组*/{charnum[10];/*学号*/charname[20];/*姓名*/intscore;/*成绩*/}Student;Studentstu[80];/*结构体数组变量*/intmenu()/*菜单函数*/{charc;do{system("cls");/*每次选择运行前清屏*/printf("tt****我的学生管理系统菜单****");/*菜单选择*/printf("tt*9、1.输入学生信息10、");printf("tt*11、2.显示学生信息12、");printf("t13、t*14、3.查找15、");printf("tt*16、4.插入学生信息17、");printf("tt*18、5.删除学生19、");printf("tt*20、6.排序21、");printf("tt*22、7.统计分数23、");printf("tt*24、8.保存至文件25、");printf("tt*26、9.从文件读入数据27、");/*增加一个选项*/printf("tt*28、0.退出29、");printf("t
8、h>#includetypedefstruct/*定义结构体数组*/{charnum[10];/*学号*/charname[20];/*姓名*/intscore;/*成绩*/}Student;Studentstu[80];/*结构体数组变量*/intmenu()/*菜单函数*/{charc;do{system("cls");/*每次选择运行前清屏*/printf("tt****我的学生管理系统菜单****");/*菜单选择*/printf("tt*
9、1.输入学生信息
10、");printf("tt*
11、2.显示学生信息
12、");printf("t
13、t*
14、3.查找
15、");printf("tt*
16、4.插入学生信息
17、");printf("tt*
18、5.删除学生
19、");printf("tt*
20、6.排序
21、");printf("tt*
22、7.统计分数
23、");printf("tt*
24、8.保存至文件
25、");printf("tt*
26、9.从文件读入数据
27、");/*增加一个选项*/printf("tt*
28、0.退出
29、");printf("t
此文档下载收益归作者所有