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

上传人:Flo****ea 文档编号:124920003 上传时间:2020-03-14 格式:DOC 页数:35 大小:164KB
返回 下载 相关 举报
学生成绩管理系统设计与实现-高级程序语言课程设计_第1页
第1页 / 共35页
学生成绩管理系统设计与实现-高级程序语言课程设计_第2页
第2页 / 共35页
学生成绩管理系统设计与实现-高级程序语言课程设计_第3页
第3页 / 共35页
学生成绩管理系统设计与实现-高级程序语言课程设计_第4页
第4页 / 共35页
学生成绩管理系统设计与实现-高级程序语言课程设计_第5页
第5页 / 共35页
点击查看更多>>
资源描述

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

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

2、代码的排版总 评 成 绩指导教师评语: 日期: 年 月 日目 录第1章 系统设计目的11.1 系统设计内容11.2 注意及提示11.3 系统设计目的1第2章 系统实现思路22.1 系统需求分析22.2 系统功能模块22.3 模块框架图2第3章 系统详细设计33.1 头文件33.2定义类33.3 数据处理3第4章 系统调试运行134.1 系统调试运行13课程设计体会15参考文献16第1章 系统设计目的1.1 系统设计内容(1)设计四个类:学生类(描述学生基本信息);成绩类;班级类;课程类(描述课程信息:课程编号、科目名称,如高等数学、大学英语等);(2)学生成绩及课程信息用文件保存,程序执行时从

3、文件读入;(3)能按学期,按班级完成对学生成绩的录入、修改,能按班级统计学生的成绩;(5)求学生的总分及平均分,并能根据学生的平均成绩进行排序,能查询学生成绩,不及格科目及学生名单;能按班级输出学生的成绩单。1.2 注意及提示(1)设置学生的成绩信息:学生学号、姓名、所选课程名称、平时成绩、期末成绩、平时成绩所占百分比 ; (2)总评成绩:总评成绩=平时成绩*平时成绩所占百分比+期末成绩*(1-平时成绩所占百分比); (3)显示学生的姓名、所选课程名称以及平时成绩、期末成绩和总评成绩信息。分单人显示和以班输出(班成绩单格式输出到文件); (4)至少应包含一个班、30人、三门课。 1.3 系统设

4、计目的能按学期、班级完成对学生 成绩的录入、修改;按班级统计学生成绩;求学生总分、平均分;根据学生平均成绩排序;按班级查询成绩,以及不及格科目及学生名单。第2章 系统实现思路2.1 系统需求分析通过对系统要求的分析,可以看出需要由以下几个模块构成,才能实现对程序所要实现的功能利用:(1)对学生各科成绩录入、增加、删除、修改; (2)计算学生总分及平均分; (3)对学生成绩按总成绩、姓名,进行查询,输出所有数据; (4)进行成绩统计; (5)按总分查询排名。2.2 系统功能模块系统由成绩录入、增加、删除、修改、数据查询、排序显示构成。以实现对数据表中的信息浏览,可以利用其对学生的信息进行查询。2

5、.3 模块框架图框架图可以使程序设计更加清楚、明白。框架如图2-1:学生成绩管理系统操作查询成绩统计按总成绩排名录入增加删除修改总成绩查询姓名每个学生的平均成绩各科不及格的科目科人数输出所有学生的成绩图2-1 系统模块框架图第3章 系统详细设计3.1 头文件因为要用到文件的打开和关闭、istringstream类,所以头文件声明中要有:#include#include3.2定义类1.声明一个类class Tstu,进行数据输入函数的定义,通过定义char name20、int number、float math, cpp, English, average, sum等变量以及公用函数,来实现函

6、数的定义:class Tstu char name20; int number; float math, cpp, english, average, sum; public: Tstu(); Tstu ( char n20, int num, float ma, float cj, float eng ) ;float getsum();/得到总分的函数 float getaver(); /得到平均分的函数 friend void main(); /将主函数定义为友元函数,方便访问类中成员 ;.通过作用域运算符“:”完成对类中成员函数的引用:float Tstu:getsum() 得到总分的

7、函数;float Tstu:getaver() 得到平均分的函数。3.3 数据处理数据处理包括数据录入、增加学生、删除学生、修改数据、按总成绩查询、按姓名查询、输出所有学生数据、每个学生平均成绩、各科不及格人数、按总分查询这几个模块。各模块之间程序大致相似,以下只详细写出其中一个模块。(1)数据录入定义 char c(用于在小项中选择是否继续操作)、char name20、int number、float math, cpp, english。在该过程需用到ifelse、dowhile语句等: cout请输入姓名:name; cout请输入学号:number; cout请输入数学成绩:math

8、; cout请输入C+成绩:cpp; cout请输入英语成绩:english; 文本文档在文件夹中用于显示所录入数据: outfile.open(f1.txt,ios:out|ios:app); if(!file) coutf1.txt can not open.n; return; /if语句的使用 outfilename 学号:number 数学成绩:math C+成绩:cpp 外语成绩:englishendl; outfile.close(); infile.open(f1.txt,ios:in); if(!file) /判断文件是否打开 coutf1.txt can not open.

9、n; return; char ch; while(infile.get(ch) coutch; coutendl; infile.close(); j+; si=new Tstu(name, number, math, cpp, english); i+; cout数据录入成功,想继续录入吗(y/n)c; chris1=0; do if(c!=y&c!=n) cout指令错误!请重新输入!c; else chris1=1; while(chris1=0); (2)增加学生 根据要求输出输入相关内容,如下:cout请输入您要增加的学生的姓名:name; cout请输入你要增加的学生的学号:nu

10、mber; cout请输入数学成绩:math; cout请输入C+成绩:cpp; cout请输入英语成绩:english; (3)删除学生ifstream fin(f1.txt); fstream outfile(f2.txt,ios:trunc|ios:out); cout请输入您要删除的学生的姓名:xingming; while(!fin.eof() ) getline(fin,line); istringstream stream(line); name = line.substr(0,line.find( ,0);/找名字,判断是否相等 if(name != xingming) out

11、filelineendl; outfile.close(); fin.close(); fstream f(f1.txt,ios:trunc|ios:out); ifstream outf(f2.txt); foutf.rdbuf(); outf.close(); f.close(); cout数据删除成功,想继续删除吗(y/n)c; if(c!=y&c!=n) cout指令错误!请重新输入!c; (4)修改数据系统中没有输入数据,需要先输入要修改的数据。输入后,while(!fin.eof() )表示在文件中查找,然后进行判断系统中是否有该数据的记录,如下: if(flag=1) cout请输入修改学生姓名及其新学号,数学

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

当前位置:首页 > 高等教育 > 大学课件

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