欢迎来到天天文库
浏览记录
ID:8466043
大小:625.00 KB
页数:25页
时间:2018-03-28
《c语言课程设计-学生成绩管理系统+源码》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、简易教学管理系统的设计与实现【摘要】:本系统可以实现简易的学生成绩管理,功能有限,主要功能包括读取文件中存放的学生成绩单,并对其求每个人的平均分,然后按照平均分对其排名;另外还可以计算每门课程的平均分和标准差,并按照成绩对学生划分区段,将处理后的结果可以保存在新建的一个文件中,方便查看;通过此系统还可以将每个同学的成绩单单独的输出到文件中,保存在一个指定的文件夹中;值得一提的是次系统还可以按照特定的要求进行数据筛选,比如屏幕显示有不及格科目的同学的信息,屏幕显示符合设定的优等生的条件的学生;最后本系统还实现了显示每门课程的成绩分布
2、图(横向的)。一、设计思路程序设计一般有两个部分组成,算法和数据结构,合理的选择和实现一个数据结构和车里这些数据结构具有同样的重要性。在这个学生成绩管理系统中,算法都很简单,基本上没有什么很复杂的算法,难点主要在数据结构上面,因为这个系统涉及到得数据比较多,很多数据很容易混淆,所以,我设计了三个数据结构,分别如下://定义常数#defineMAX100#defineKCS5//实际课程数intk;-25-structStu_Data_1{charElem[15];};structStu_Data_2{charcou[10];dou
3、bleave;doublebzc;intbest;intbetter;intgood;intpass;intfail;};structStu_Credit{charNO[10];charcourse[10];charcerdit[10];};-25-首先是定义常量,这些常量的目的主要是为了程序的通用性和易修改性设计,#defineKCS5;的目的是预先估计课程数目,在次设计成常量,方便扩展和修改,使其实用性更强,#defineMAX100;的目的是预先估计学生的人数。第一个数据结构是:Stu_Data_1,这个数据结构式本系统的核
4、心,主要负责从文件中逐行读取数据放入其Elem中,用这个数据结构定义一个二维的数组,就可以很方便的对文件中的数据进行管理了,使整个函数的设计容易了很多。第二个数据结构是:Stu_Data_2,这个数据结构的主要作用是用于存放对学生的成绩处理后的结果的。charcou[10];存放课程名称,doubleave;存放每科的平均分,doublebzc;存放每科得标准差,下面的用于存放不同等级人数。第三个数据结构是:Stu_Credit,这个数据结构主要负责将存放在文件中的各门课程所对应的学分读取出来,方便在程序执行中使用,用,NO来存放
5、课程编号,用charcourse[10]来存放课程名称,用charcerdit[10];在存放最重要的课程学分,此数据结构主要用于在主函数中计算每个学生的加权平均分,在其他函数中基本上很好调用。流程图-25-开始读取成绩文件是否成功读取学分文件是否成功进入DO…WHILE循环MENU126534按平均分排名对学生成绩进行综合分析保存每位同学成绩显示不及格学生显示优等生名单打印成绩分布图退出程序q结束否否-25-二、主要函数及其功能1、voidRank_List(intnum[],structStu_Data_1stu[MAX][K
6、CS+2],doubleaverage[],intn),按平均分给每个同学进行排序,然后保存到另一个文件中;2、voidAve_Sta_dev(structStu_Data_1stu[MAX][KCS+2],intn),求各科的总体均分和标准差,结果存放在新建的一个文件中;3、voidScore_List(structStu_Data_1stu[MAX][KCS+2],intn,doubleaverage[],intnum[]),保存所有学生的成绩单,将所有的成绩单存放在一个指定的文件夹中;4、voidUnpass_List(st
7、ructStu_Data_1stu[MAX][KCS+2],structStu_Creditxuefen[],intn),屏幕显示所有不及格的人的不及格科目;5、voidExcellence_List(structStu_Data_1stu[MAX][KCS+2],intnum[],doubleaverage[],intn),找出优等生,并将他们保存到新建的文件中;6、voidDistribution(structStu_Data_1stu[MAX][KCS+2],intn),绘制学生成绩柱状分布图7、voidMenu(),主菜单
8、函数,主要用于调出主菜单;三、系统详细设计及实现过程程序采用模块化设计,主函数是程序的入口,个模块独立,可分块调试。While()循环保证程序的循环运-25-行;通过函数switch()使得到得返回值调用相应的各功能函数,程序的主菜单如下:总体来说
此文档下载收益归作者所有