《成绩管理系统课程设计剖析》由会员分享,可在线阅读,更多相关《成绩管理系统课程设计剖析(38页珍藏版)》请在金锄头文库上搜索。
1、课程设计说明书题目: 成绩统计系统 姓名: 学号: 班级: 兰州交通大学电信学院软件工程系2015 年 7 月 10 日课程设计任务书课程名称程序设计课程设计(VBC+)题目学生成绩统计系统姓名学号班级设计任务成 绩 统 计 系 统程序功能:(1)要求能够对学生数据进行录入、添加、修改与删除;(2)已知N个学生的M门课程的成绩,求:课程平均分和方差;学生总分、平均分和平均分方差;学生名次;最高分及得最高分的学生和课程。要求:(1)输入数据存放于文件中,输出数据除了输出到屏幕上,也输出到一个文本文件中;(2)数据结构采用数组,整体框架采用模块化处理;(3)输出数据采用表格形式(不必画表格线)。设
2、计要求程序质量:1符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理。2要求界面友好美观(版权页、登录页),功能明确,操作方便。(登录页的用户名:abcd,密码:1234)3代码应适当缩进,并给出必要的注释,以增强程序的可读性。 4程序调试完后需生成可执行文件。课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的内容及格式参见课程设计要求。指导教师签字课程设计评分表课程设计题目:学生成绩统计系统姓名学号学院专业评价指标指标内涵分值评分选题与设计完成情况选题难度选题难度分为两个等级,A类选题为一级,B类选题为二级30工 作 量工作量饱满,工作认真、严谨,
3、遵守纪律,与同学团结协作、协调能力强,能按时完成设计任务。综合运用知 识综合运用知识能力强,能较系统地运用有关理论与知识解决实际问题。能够独立查阅文献资料,从事调查研究;具有收集、整理、加工各种信息及获取新知识的能力。设计水平与实际能力能独立开展设计工作,能熟练掌握和运用所学基本理论、基本知识和基本技能分析解决相关理论和实际问题,设计方案合理可行,界面友好,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;操作方便易行。说明书撰写写作水平语言表达清晰,报告内容详实,能对本人所做工作进行详细论述。30文档质量能够按照给定格式排版,页面美观。答辩思路清晰,语言流畅,回答问题
4、准确。(无此环节则删除此行)30考勤按时出勤,不迟到早退,以每次点名为准10成绩评阅时间: 2015年 7 月10 日 目录一 系统概述5二系统分析52.1 程序流程图框架5三系统详细设计53.1数据结构设计5(1)类的设计5(2)系统包含的类库6(3)各个变量的定义和作用63.2系统函数的组成、功能、参数说明、相互调用关系63.3全部窗体8(1)开始界面,进入系统,显示本系统相关信息8(2)输入学生所有信息后,按操作8,输出学生所有信息。93.4 小组中负责的代码编写93.5 附录15(1)进入系统,显示本系统相关信息进入菜单界面 17(2)输入4,按照总分进行排名。19(3)输入5,按照语
5、文成绩进行排名20(4)输入6,按照数学成绩进行排名20(5)输入7,按照英语成绩进行排名21(6)输入8,输出学生所有信息21四 总结34 4.1遇到的困难:34 4.2解决办法:35 4.3心得体会:41五 参考文献451 系统概述 为方便对学生成绩进行高效的管理,编写该程序以提高学生成绩管理效率。使用该程序之后,学校管理者可以通过本系统对学生的成绩,名次,课程平均分等进行查询。也可对学生的成绩进行添加,删改等。通过本系统可以很好的掌握学生成绩的分布,减轻管理人员的负担,也使学生的成绩和信息长时期的保留。二系统分析 2.1 程序流程图框架学生成绩管理系统操作查询排名增加人员按总成绩查询录入
6、数据删除人员修改数据输出全部数据按总分排名语文成绩排名数学成绩排名英语成绩排名三系统详细设计3.1数据结构设计(1)类的设计表3-1 Stu类成员列表Stu类char name20;double math;double chinese;double english;double average;double sum;double getsum();double getaver();(2)系统包含的类库#include输入输出流#includeString类#include文件输入/输出操作(3)各个变量的定义和作用char name20; 学生姓名double math; 数学成绩double
7、 chinese; 语文成绩double english; 英语成绩double average; 平均分double sum; 总分Stu *s50; 对象数组记录学生成绩3.2系统函数的组成、功能、参数说明、相互调用关系主函数 main()调用菜单操作函数handle_menu()实现菜单的输出和操作,调用index()打印首页。以及删除动态对象。菜单操作函数 void handle_menu()这是一个无参的函数,通过调用菜单函数menu()实现菜单的输出,利用do-while()语句和switch()语句实现各函数的调用,系统根据输入的字符选项来调用相应的函数,进行相应的操作。菜单函数
8、 void menu()这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的十一大功能,根据每个功能前面的序号进行选择。打印首页函数 void index()这是一个无参函数,主要功能是打印本系统的相关信息。默认构造函数Stu: Stu()这是Stu类中的一个默认构造函数,实现对象的初始化。有参构造函数Stu: Stu(char n20,double ma,double chin,double eng)这个函数的功能主要是对对象的数据成员赋值。求总分函数double Stu:getsum()这是一个无参函数,主要功能是将每个对象的语文、数学、英语三科成绩求和,返回总分sum。
9、求平均分函数double Stu:getaver()这是一个无参函数,调用double Stu:getsum()平均分,返回平均分average操作0数据录入函数void operate0() 这是一个无参函数,是Stu类的一个友元函数,该函数可将用户输入的学生的信息保存到文件d:document,输入完成后会提示用户是否要继续录入。操作1增加人员函数void operate1() 这是一个无参函数,是Stu类的一个友元函数,该函数可以增加学生人数,提示用户输入的学生的信息,并保存到文件d:document,输入完成后会提示用户是否要继续录入。操作2删除人员函数void operate2()
10、这是一个无参函数,是Stu类的一个友元函数,进入后系统会提示用户输入需要删除学生的姓名,然后查找该学生,删除该学生数据,并将其后指针往前移动一位,最后提示用户是否继续删除。操作3修改数据函数void operate3() 这是一个无参函数,是Stu类的一个友元函数,进入后系统会提示用户输入需要修改学生的姓名,该函数的功能是修改学生的成绩,防止了录入数据时的错误,保证了系统的完备性。操作4按总分排名函数void operate4() 这是一个无参函数,是Stu类的一个友元函数,进入后系统会提示用户输入需要查询的总分,然后输出所有该分数的学生的成绩,并提示用户是否需要继续查询。操作5按语文成绩排名
11、函数void operate8() 这是一个无参函数,是Stu类的一个友元函数,进入后系统将按照语文成绩从高到低自动输出该系统下所有学生的成绩,输出之后提示用户是否需要进行其它操作。操作6按数学成绩排名函数void operate9() 这是一个无参函数,是Stu类的一个友元函数,进入后系统将按照数学成绩从高到低自动输出该系统下所有学生的成绩,输出之后提示用户是否需要进行其它操作。操作7按英语成绩排名函数void operatey() 这是一个无参函数,是Stu类的一个友元函数,进入后系统将按照英语成绩从高到低自动输出该系统下所有学生的成绩,输出之后提示用户是否需要进行其它操作。操作8输出所有
12、学生的数据函数void operate6()这是一个无参函数,是Stu类的一个友元函数,进入后系统将自动输出该系统下所有学生的成绩,但并不排序,而是按照录入是的顺序输出,输出之后提示用户是否需要进行其它操作。3.3 程序流程图(1) 输出学生所有信息的流程图开始 输入flag2=0,name20,i,j,c,k是kii=i+1是否输出”语文分数,数学成绩,英语成绩,以及平均分” 否 i=0否输出管理系统中没有录入数据或者数据已经被删除! 结束 开始(2)按总分排名函数定义输入i,j,t,stu b,Fiag2=0,x=0,k=0xi-1是t=i,y=x+1yi是t!=x是b=*sx,sx=st
13、,st=by=y+1x=x+1ki结束k=k+1是按照排名输出学生信息3.4运行流程 (1)开始界面,进入系统,显示本系统相关信息(2)输入学生所有信息后,按操作8,输出学生所有信息。3.4 小组中负责的代码编写head.h#if !defined(HEAD_H)#define HEAD_H#include#include#includeusing namespace std;/*声明Stu类*/class Stuprivate:char name20;/姓名double math,chinese,english,average,sum;public:Stu()/默认构造函数Stu(char n20,double ma,doub