《高级程序设计语言》课程设计报告-学生成绩管理系统设计与实现

上传人:工**** 文档编号:487322828 上传时间:2022-10-13 格式:DOC 页数:33 大小:672.50KB
返回 下载 相关 举报
《高级程序设计语言》课程设计报告-学生成绩管理系统设计与实现_第1页
第1页 / 共33页
《高级程序设计语言》课程设计报告-学生成绩管理系统设计与实现_第2页
第2页 / 共33页
《高级程序设计语言》课程设计报告-学生成绩管理系统设计与实现_第3页
第3页 / 共33页
《高级程序设计语言》课程设计报告-学生成绩管理系统设计与实现_第4页
第4页 / 共33页
《高级程序设计语言》课程设计报告-学生成绩管理系统设计与实现_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《《高级程序设计语言》课程设计报告-学生成绩管理系统设计与实现》由会员分享,可在线阅读,更多相关《《高级程序设计语言》课程设计报告-学生成绩管理系统设计与实现(33页珍藏版)》请在金锄头文库上搜索。

1、河南工程学院高级程序设计语言课程设计成果报告学生成绩管理系统设计与实现学生学号: 学生姓名: 学 院: 计算机学院 专业班级: 软件工程 1341 专业课程: 高级程序设计语言指导教师: 2014 年 6 月 27 日题 目学生成绩管理系统设计与实现考核项目考核内容得分平时考核(30分)出勤情况、态度、效率;知识掌握情况、基本操作技能、知识应用能力、获取知识能力系统设计(20分)分析系统的功能模块编程调试(20分)实现系统的各个功能模块,并完成调试回答问题(15分)回答老师针对课程设计提出的问题课程设计报告撰写(10分)严格按照规范要求完成课程设计报告源代码(5分)按照规范要求完成课程设计源代

2、码的排版总 评 成 绩指导教师评语: 日期: 年 月 日目 录第1章 课程设计目的及任务11.1 课程设计目的11.2 课程设计任务1第2章 系统实现思路22.1程序的实现功能22.2 程序流程图2第3章 系统详细设计33.1输入输出的形式33.2分数类的设计(score)33.3课程类的设计(course)33.4学生类的设计(student)43.5班级类的设计(grades)43.5.1 fread(int n)成员函数设计53.5.2 display()的设计73.5.3 revise()的设计83.5.4 seek()的设计93.5.5 failshow()的设计103.6 主函数的

3、设计11第4章 系统调试运行144.1输入文件格式144.2调试运行结果15课程设计体会19参考文献20附 录21第1章 课程设计目的及任务1.1 课程设计目的本课程设计的目的是培养应用面向对象程序设计设计方法及思想解决实际问题的能力,掌握使用面向对象程序设计语言C+,熟悉面向对象开发平台VisualC+6.0,提高调查研究、查阅技术资料以及编写技术文献的能力。1.2 课程设计任务(1)设计四个类,包括学生类(描述学生基本信息);成绩类:班级类;课程类(描述课程信息:课程编号,科目名称,如高等数学,大学英语等);(2)学生成绩及课程信息用文件保存,程序执行时从文件读入;(3)能按学期,按班级完

4、成对学生成绩的录入、修改,能按班级统计学生的成绩;(4)求学生的总分及平均分,并能根据学生的平均成绩进行排序,能查询学生成绩,不及格科目及学生名单;能按班级输出学生的成绩单。 设置学生的成绩信息:学生学号、姓名、所选课程名称、平时成绩、期末成绩、平时成绩所占百分比。 计算学生总评成绩:总评成绩=平时成绩*平时成绩所占百分比+期末成绩*(1-平时成绩所占百分比)。 显示学生的姓名、所选课程名称以及平时成绩、期末成绩和总评成绩信息。分单人显示和以班输出(班成绩单格式输出到文件)。 注意,至少应包含一个班、30人、三门课。 第2章 系统实现思路通过类的封装,将课程类的信息储存在学生类中,学生信息储存

5、在班级类中,程序的所有功能均通过班级类的成员函数实现。 2.1程序的实现功能用户运行程序后进入系统主界面,在主界面用户可以输入所有学生的数据并保存到文件中,也可以读取文件中已有的学生数据。用户在保存数据的时候,如果保存位置没有文件则自动新建一个文件进行保存。本系统同时只能对一个数据文件进行相关操作,不能同时打开多个数据文件,其类似于单用户操作系统。2.2 程序流程图因为本系统是一个较小的程序管理系统,因此将程序的所有功能放在一个文件中,使的方便对程序的管理。程序流程见图2.1。图2.1程序流程图第3章 系统详细设计系统包括查询/修改个人分数,打印班级成绩单及不及格名单,并对学生排序;所有功能均

6、由grades成员函数实现:fread()负责初始化读入信息,display()负责打印班级成绩单,revise()负责修改学生信息,seek()负责查找,failshow()负责打印不及格名单。3.1输入输出的形式本系统是一个学生成绩管理系统,采用VC+6.0 编译器作为开发环境,这个环境是我们在学习C+的平台。输入数据类型主要是char、int、float等数据类型,输入内容包括:C语言、大学英语、高等数学、等数据。用户在输入学生数据时要保证输入数据格式的正确性,系统不会自动检测输入的数据是否正确,可用。输出形式与输入形式类似,根据需要可以选择显示输入的各项内容,还可以选择显示计算好平均分

7、后并排序后的记录,显示内容包括:班级、学号、姓名、平均分等数据。3.2分数类的设计(score)Class score 负责储存学生的平均成绩,总成绩,综评成绩。其中:总成绩=各科成绩合,平均成绩=总成绩/科目数,总评成绩=平时成绩*平时成绩所占百分比+期末成绩*(1-平时成绩所占百分比)。class score /分数public: int s_total; int s_ave; int s_sum;3.3课程类的设计(course)class course 负责储存课程的编号,名称,及分数代码实现:class course /课程信息 public: int cou_id;string c

8、ou_name;int mark; /分数;3.4学生类的设计(student)class student 为class score的子类。其新增的数据成员为:学生姓名(name),性别(sex),学号(std_id),平时成绩(s_normal),平时成绩所占百分比(per),该学生选的科目数m,以及一个class course的vector容器用来储存该学生选的科目。class student:public score /学生信息public: string name; string sex; int std_id; int s_normal; /平时成绩 double per; /平时成

9、绩所占百分比 int m; /该学生选课的门数 vector cour; /该学生所选的课;3.5班级类的设计(grades)class grades储存班级的基本信息,包括专业(major),班级编号(sla_id),学生人数(peop_num),以及一个class student的multiset容器,class grades包含5个成员函数,分别实现程序的查找/修改等功能。具体内容见表3.2。表3.2 班级里成员函数功能成员函数名参数类型功能描述fread()int n(学生数)从文件读入n个学生信息revise()int t_id(学号) 修改学号为t_id的学生信息display()

10、void将班级成绩单打印到文件seek()int t_id(学号)查找学号为t_id的学生,并输入个人成绩单failshow()void将不及格的学生姓名,学号打印到文件实现代码如下:class grades /班级public: string major; int cla_id; int peop_num; multiset stu; void fread(int n); /对成绩的录入,n个学生 void revise(int t_ID); /根据学号修改学生信息 void display(void); /打印班级成绩单 void seek(int t_ID); /查找 void fail

11、show(void); /打印不及格学生名单;3.5.1 fread(int n)成员函数设计该函数实现从文件读入学生信息,根据公式计算总成绩,平均成绩,总评成绩.并将结果储存在grade:multisetstu 容器中。代码实现:void grades:fread(int n) student tem; course t; ifstream infile(in.dat,ios:in); if(!infile) coutopen error !endl; exit (1); for(int i=0;item.nametem.sextem.std_id tem.pertem.s_normal;

12、/设置学生信息 infiletem.m; tem.s_sum=0; for(int j=0;jt.cou_idt.cou_namet.mark; tem.s_sum+=t.mark; /总分 tem.cour.push_back(t); tem.s_ave=(tem.s_sum)/tem.m; /平均分 tem.s_total=tem.s_normal*tem.per+ tem.s_sum*(1-tem.per); /总评成绩 stu.insert(tem); infile.close();3.5.2 display()的设计grades:display()负责向文件中打印班级成绩单。grades:multisetstu中的所有内容。代码实现:void grades:display(void) /输出班级成绩单 multiset:iterator iter; ofstream outfile(out.dat,ios:out); if(!outfile) coutopen errorendl;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号