C++课程设计报告1.docx
- 文档编号:4259133
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:25
- 大小:344.69KB
C++课程设计报告1.docx
《C++课程设计报告1.docx》由会员分享,可在线阅读,更多相关《C++课程设计报告1.docx(25页珍藏版)》请在冰豆网上搜索。
C++课程设计报告1
《C++程序设计》
课程设计说明书
题目
学生成绩管理系统
学号
1376807337
姓名
张苗
指导教师
王丽颖
日期
2015.4.16
内蒙古科技大学课程设计任务书
课程名称
面向对象程序设计A
设计题目
学生成绩管理系统
指导教师
王丽颖
时间
2014.12.20
1、教学要求
1.巩固和加深学生对C++语言课程的基本知识的理解和掌握
2.掌握C++语言编程和程序调试的基本技能
3.利用C++语言进行基本的软件设计
4.掌握书写程序设计说明文档的能力
5.提高运用C++语言解决实际问题的能力
二、设计资料及参数
用C++设计一个程序,能提供下列功能:
(1)录入学生成绩。
按照学号,姓名,语文,数学,英语的格式录入学生的成绩。
(2)查询成绩。
根据学生的学号或姓名查询学生的成绩。
(3)修改。
通过查询找到相应的学生记录进行修改。
(4)统计。
计算学生的总分并排序显示输出。
统计班级学生的每门课程的平均分和总分的平均分并显示;统计得分小于班级总分的学生并显示;显示不及格学生的名单。
三、设计要求及成果
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述(包括属性和力一法);
(4)完成类中各个成员函数的定义;
(5)完成系统的应用模块;
(6)功能调试;
(7)提交课程设计报告:
完成系统总结报告以及系统使用说明书
【前言】
第1章需求分析
(1)学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言,提交留言。
教师可以通过成绩管理系统查阅学生成绩信息,教师信息,查看教师留言,学生留言,提交留言、留言的管理等相关操作。
系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,数据库的备份、数据库的还原等操作。
根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以及学生的计算机化的管理。
开发学生成绩管理系统可使老师等减轻压力,比较系统的对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度,加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。
目前,管理信息系统已经进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。
因此,开发一套适合大众的、兼容性好的系统是很有必要的。
(2)学生成绩管理系统分为8个模块,分别是:
添加学生信息,输出学生成绩,查找学生成绩,修改学生成绩,删除学生成绩,学生成绩排序,保存数据到文件和读取文件中学生成绩的模块。
学生成绩管理系统结构:
图1-1
各个子函数功能及其流程:
1.首先定义一个学生类ClassStudent;并定义其各个私有变量和公有函数
ClassStudent
load
重载
Class
add
output
find
delete
modify
save
私有变量
图1-2
2.Student();构造函数,用于初始化学生类中的各个变量并记录
输入学生信息:
学号
姓名
语文
数学
英语
10010
王刚
85
96
99
10011
张三
89
97
100
10012
李四
81
64
100
10013
赵武
100
69
78
10014
韩流
94
91
98
10015
李琦
88
76
93
图1-3
3.Add();函数:
用于添加学生信息的函数包括学号姓名成绩等的内容
图1-4
4.Output();函数:
用于输出学生信息,包括学号姓名各科及总分平均成绩
主函数main()
菜单函数menu()
选择菜单中的选项输出学生信息
调用Output()函数
输出学生信息
图1-5
5.Find();函数:
用于查找学生各项信息。
图1-6
6.modify();函数:
用于修改学生各项信息。
图1-7
7.delete();函数:
用于删除学生信息。
图1-8
8.sort();函数:
对学生各项信息进行排序操作。
主函数main()
菜单函数menu()
选择菜单中的选项学生信息排序
调用Sort()函数
完成排序操作
图1-9
8.save()和load();函数:
将学生信息保存到文件中,并在需要的时候调用该文件将其中的学生信息显示出来。
图1-10
第2章总体设计
1.用结构框图表示各个功能之间的关系。
按姓名查找
图2-1
2.程序代码:
图2-2
第3章类的设计
学生成绩管理系统类的设计(第一个类)
1.画出类图
查看成绩顺序图
学生
课程
成绩
选择课程查询成绩
图3-1
2.对类的函数成员的说明
不用写出代码,用文字描述
函数的首部
插入函数,先进行成绩的录入,输入学生的姓名,学号,课程,成绩即可。
然后选择课程,查询即可。
第4章详细设计
4.1工程视图
说明有几个源代码文件,可以截取工程文件视图表示
图4-1-1
4.2类图视图
每个文件包含哪些类和函数,可以截图说明
图4-2-1
4.3主要算法的流程图
Main函数工作原理图:
图4-3-1
图4-3-2
查找函数:
图4-3-3
图4-3-4
第5章测试
程序的运行结果截图:
图5-1
录入学生成绩信息后显示如下:
图5-2
输入4查看班级总分排名:
图5-3
输入0安全退出系统:
图5-4
第6章总结
此课程设计完成了对学生成绩的添加、删除、修改等功能的设计操作,并且为了插入和删除方便,运用动态数组做存储结构。
此课程设计还包含了清屏功能以及退出功能。
对程序在运行时输入错误操作的修改,提供了一定方便条件基本上能安全的运行,具备的功能符合题目的要求。
用了文件的操作,是此程序的最大优点。
程序写的还算简练,结构清晰,各个模块的分工和功能明确。
经过两周的课程设计,我认识到把课堂上老师讲的知识运用到实际操作中的重要性。
我这次课程设计的题目是学生成绩管理系统,在开始阶段,根本无从下手,后来通过查阅一些相关资料和老师的耐心讲解,最终成功完成整个程序的设计。
通过这次课设我对C++语言中的类的定义、运算符重载等知识有了进一步的理解,对流程图的画法更加熟练,对程序的开发思路有了一定的理解,我想这在以后的学习和工作中都会有帮助的,更使我意识到了学习C++语言的重要性。
程序中运用了多文件结构,虽然程序不是太大,但多文件结构的使用是我模仿正规软件的结构来写的,我想这对我以后的提高有帮助。
另外,对程序的不断调试,是我的查错能力有了很大的提高。
附录:
学生成绩管理系统#源代码:
此函数源代码在Codeblocks环境下编译通过。
具体如下:
#include
#include
#include
#include
usingnamespacestd;
classstudent{
private:
stringname;
longid;
floatChinese;
floatmath;
floatEnglish;
floatsum;
floatave;
public:
student();
voidinput();
voidshow();
voidcopy(studenta);
stringNAME(){returnname;}
longID(){returnid;}
floatchi(){returnChinese;}
floatmat(){returnmath;}
floateng(){returnEnglish;}
floatSUM(){returnsum;}
floatAVE(){returnave;}
};
voidstudent:
:
input(){
cout<<"\t\t请输入学生的姓名:
";
cin>>name;
cout<<"\t\t请输入学生的学号:
";
cin>>id;
cout<<"\t\t请输入语文成绩:
";
cin>>Chinese;
cout<<"\t\t请输入数学成绩:
";
cin>>math;
cout<<"\t\t请输入英语成绩:
";
cin>>English;
sum=Chinese+math+English;
ave=sum/3;
}
student:
:
student()
{
name="noname";
id=0;
Chinese=0;
math=0;
English=0;
sum=0;
ave=0;
}
voidstudent:
:
show()
{
cout<<"姓名:
"< "< "< <<"数学: "<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 报告