预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共36页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

中国地质大学C语言课程设计院系:工程学院姓名:、、俊学号:班号:051163指导老师:日期:2016-12-4目录题目要求需求分析三、总体设计四、详细设计1.菜单函数和主函数2.各功能模块设计(1)输入模块(2)追加模块(3)修改模块(4)删除模块(5)修改成绩模块(6)排序模块(7)浏览模块3.公共函数(1)保存函数(2)加载函数(3)学号输入函数(4)输入三科成绩函数(5)求总分函数(6)输入一个记录的函数(7)修改成绩函数(8)修改记录函数(9)显示数据结构项目函数(10)显示一个记录的函数五、上机操作六、总结学生成绩管理系统题目要求对在校某班学生几门课程的考试成绩进行统一管理。每个学生记录包括学号、姓名、年龄、数学、英语、物理成绩,默认以学号为序存放。(1)建立一个文件,以班为单位存储学生记录。(2)将允许的操作分为四种,以A、B、C、D、E、F为标志(若设置菜单操作更佳):A:插入一个新的学生记录(录入学生信息);B:修改学生记录;C:删除一个学生记录;D:登记成绩;E:修改成绩;F:浏览全班成绩。(3)计算学生的总成绩。(4)按学号排序输出全班成绩表。二.需求分析学生记录用文件存储,因而要提供文件的输入、输出等操作;要实现插入一个新生的学生记录,因而要提供文件的插入操作;要实现学生记录的修改和删除,以及登记成绩修改成绩,因而要提供文件记录的修改和删除操作;要浏览全班成绩,故要提供显示操作;计算学生总成绩需要提供简单的统计操作;要按学号排序输出全班成绩表,因而要提供排序操作;另外还应提供键盘式选择菜单实现功能选择。总体设计根据上面的需求分析,可以将这个系统的设计分为8个模块,数据输入,添加数据,修改数据,删除数据,修改成绩,学号排序,浏览成绩,退出模块.学生成绩管理系统数据输入添加数据修改数据删除数据修改成绩学号排序浏览成绩退出模块四.详细设计1.菜单函数和主函数将各个功能模块设置为菜单选项,方便调用,且执行完每部分功能模块后能够方便返回到系统界面.[流程图]显示一系列功能选项N输入n,判断n是否是A-HY根据n的值调用各功能模块函数voidmenu()/*主界面*/{intw1;charn;/*.变量n保存选择菜单数字,w1判断输入的数字是否在功能菜单对应数字范围*/do{puts("\t\t****************MENU****************\n\n");puts("\t\t\t\tA.Enternewdata");puts("\t\t\t\tB.Additiondata");puts("\t\t\t\tC.Modifydata");puts("\t\t\t\tD.Deletedata");puts("\t\t\t\tE.Modifyscore");puts("\t\t\t\tF.Orderbynumber");puts("\t\t\t\tG.Browseall");puts("\t\t\t\tH.Exit");puts("\n\n\t\t************************************\n");printf("Choiceyournumber(A-H):[]\b\b");n=getchar();printf("\n");if(n<'A'||n>'H')w1=1;/*对选择的数字作判断*/elsew1=0;}while(w1==1);switch(n)/*选择功能*/{case'A':enter();break;/*输入模块*/case'B':add();break;/*添加模块*/case'C':modify();break;/*修改数据模块*/case'D':del();break;/*删除模块*/case'E':modify_score();break;/*修改成绩模块*/case'F':order();break;/*排序模块*/case'G':browse();break;/*浏览模块*/case'H':exit(0);/*退出模块*/}}main()/*主函数*/{menu();}2.各功能模块设计(1)输入模块[数据分析]单看各数据信息,学号﹑年龄以及数学﹑英语﹑物理各科成绩和总分均是整型,姓名可以采用字符型数组.数据信息存放在文件中,一条记录对应一个学生,既符合习惯也方便信息管理.把学生的学号﹑姓名﹑年龄﹑各科成绩及总分作为结构体成员,存放若干个学生信息就用结构体数组.structstudent{intnum;charname[20];intage;intMath;intEnglish;intPhysical;longintsum;}stu[N];/*stu[N]中每个数组元素对应一个学生*/[注意]stu[N]中的N为学生个数,程序中采用宏定义的方式,