c语言课程设计学生成绩管理系统七大功能模块.docx
上传人:王子****青蛙 上传时间:2024-09-13 格式:DOCX 页数:9 大小:1.2MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

c语言课程设计学生成绩管理系统七大功能模块.docx

c语言课程设计学生成绩管理系统七大功能模块.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载此文档

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

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

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

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

本科生课程论文封面课程名称c语言课程设计教师姓名陈伟涛本科生姓名本科生学号20111000013本科生专业安全工程所在院系工程类别:本科生日期:2013-1-12课程设计评语对课程论文的评语:平时成绩:课程论文成绩:总成绩:评阅人签名:注:1、无评阅人签名成绩无效;2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。目录TOC\o"1-3"\h\z\u课程设计评语2目录31.课程论文题目42.程序设计思路43.功能模块图54.数据结构设计75.算法设计86.程序代码137.程序运行结果208.编程中遇到的困难及解决方法239.总结心得及良好建议2410.致谢25课程论文题目学生成绩管理系统:【要求】设计“学生成绩管理系统”,实现学生成绩的录入、显示、查找、添加、保存以及成绩排序等功能模块。要求功能选择用菜单实现,数据输入和结果输出要求用文件存放。原始数据文件格式(具体数据自行编写):学号姓名英语c语言高等数学平均成绩1张三758580802李四............程序设计思路【思考】需求分析由于要录入、读取、保存学生成绩信息,因而要实现文件的输入输出功能;要求用户可以查询各个学生的成绩,并且可以添加学生成绩信息等,因而要提供查找和添加功能;另外,还应该提供键盘式选择菜单以实现功能选择。总体设计可以将这个系统的设计分为数据输入、数据显示、数据查找、成绩排序、保存数据、读取数据、数据插入7个模块。数据结构把学生的学号、姓名、科目成绩、平均成绩作为结构体成员,存放若干学生信息用结构体数组。功能模块图【输入学生数据模块】:【显示学生数据模块】:【查询信息模块】:【数据排序模块】:【数据保存模块】:【数据读取模块】:【数据插入模块】:结构体{成员表列:{数据结构设计WhileMenueSwitchinputNoYes判断insertordersearchreadsaveprint把学生的学号、姓名、科目成绩、平均成绩作为结构体成员,存放若干学生信息用结构体数组。用while循环控制功能菜单的选择,swith中设置相应的功能模块函数调用,调用完一个函数后然后返回while进行判断,结果为真则进行功能菜单的选择,如果条件为假则终止函数。算法设计总体设计把学生的学号、姓名、科目成绩、平均成绩作为结构体成员,存放若干个学生的信息用结构体数组。将要实现的功能分为一个一个的函数模块,需实现哪个供的语句时就调用该功能语句。而要实现菜单式的功能选择又需要while中嵌套swith语句,即调用完一个函数后进行while判断,while中的条件控制语句如果为真,则执行功能选项,然后进行swith判断,符合case几的选项就调用相应的函数,然后再进行while判断,直到不符合条件是跳出循环,结束函数。这样就实现了函数的菜单式功能选择并得到相应的结果。各个功能模块的设计各个函数功能模块实现不同的功能,且互相不影响。加入需同时实现二个或两个以上的函数就同时调用函数,这与函数模块之间互相独立互不影响不矛盾,而且这样写思路清晰,程序可读性高,不易出错,能够插入你想要的模块功能而不影响其他的函数和整体。输入数据模块具体算法首先是声明结构体,然后定义结构体数组,确定需输入学生的个数,即结构体数组的长度,数组的每一个元素都包含结构体中的所有成员,即一个学生的所有信息。用for循环遍历分别输入每一个学生的:学号、姓名、英语成绩、c语言成绩、高等数学成绩,计算平均成绩。循环结束完后即完成了数据的录入操作。代码如下:voidinput(structStudentsdu[]){inti;printf("请录入学生信息:学号姓名英语c语言高等数学(数据之间用空格隔开):\n");for(i=0;i<N;i++){scanf("%d%s%f%f%f",&sdu[i].num,sdu[i].name,&sdu[i].Eng,&sdu[i].c,&sdu[i].math);sdu[i].aver=(sdu[i].Eng+sdu[i].c+sdu[i].math)/3;}}学生信息输出模块具体算法输出学生数据跟输入学生信息类似,用for循环遍历结构体中的每一个成员,设置输出格式,就能完成每一个学生信息的输出显示功能。代码如下:voidprint(structStudentsdu[]){inti;for(i=0;i<N;i++){printf("%3d%8s%8.1f%8.1f%8.1f%10.1f\n",sdu[i