C++课程设计报告.docx
- 文档编号:11647416
- 上传时间:2023-03-29
- 格式:DOCX
- 页数:19
- 大小:478.15KB
C++课程设计报告.docx
《C++课程设计报告.docx》由会员分享,可在线阅读,更多相关《C++课程设计报告.docx(19页珍藏版)》请在冰豆网上搜索。
C++课程设计报告
《C++程序设计》
课程设计说明书
题目
学生成绩管理系统
学号
姓名
指导教师
日期
2013.12.27
内蒙古科技大学课程设计任务书
课程名称
C++面向对象程序设计A课程设计
设计题目
学生成绩管理系统
指导教师
时间
2013.12.27
一、教学要求
1.巩固和加深学生对C++语言课程的基本知识的理解和掌握
2.掌握C++语言编程和程序调试的基本技能
3.利用C++语言进行基本的软件设计
4.掌握书写程序设计说明文档的能力
5.提高运用C++语言解决实际问题的能力
二、设计资料及参数
用C++设计一个程序,能提供下列功能:
(1)录入学生成绩。
按照学号,姓名,语文,数学,英语的格式录入学生的成绩。
(2)查询成绩。
根据学生的学号或姓名查询学生的成绩。
(3)修改。
通过查询找到相应的学生记录进行修改。
(4)统计。
计算学生的总分并排序显示输出。
统计班级学生的每门课程的平均分和总分的平均分并显示;统计得分小于班级总分的学生并显示;显示不及格学生的名单。
三、设计要求及成果
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述(包括属性和力一法);
(4)完成类中各个成员函数的定义;
(5)完成系统的应用模块;
(6)功能调试;
(7)提交课程设计报告:
完成系统总结报告以及系统使用说明书
内蒙古科技大学课程设计任务书2
第1章需求分析4
第2章总体设计5
第3章类的设计6
3.1学生成绩管理系统类的设计(第一个类)6
第4章详细设计8
4.1工程视图8
4.2类图视图8
4.3主程序流程图9
4.4主要算法的流程图9
第5章测试11
第6章总结15
附录:
程序代码15
第1章需求分析
用C++设计一个程序,能提供下列功能:
(1)录入学生成绩。
按照学号,姓名,语文,数学,英语的格式录入学生的成绩。
(2)查询成绩。
根据学生的学号或姓名查询学生的成绩。
(3)修改。
通过查询找到相应的学生记录进行修改。
(4)统计。
计算学生的总分并排序显示输出。
统计班级学生的每门课程的平均分和总分的平均分并显示;统计得分小于班级总分的学生并显示;显示不及格学生的名单。
第2章总体设计
1.用结构框图表示各个功能之间的关系。
主菜单
录入学生信息
显示学生信息
查找并修改
按总分排序
显示得分小于班级总分的人
显示不及格学生
退出
图1功能关系图
2.将框图中系统的各个功能用文字详细的描述。
(1)录入学生信息:
通过选择主菜单中的选项,选择该项,将出现录入学生信息的提示,根据提示录入学生成绩及信息。
(2)显示学生信息:
录入完成输入N,结束录入选择下一项,则显示出已录入学生的信息及各门功课成绩、总分及平均分。
(3)查找并修改:
查找分为按学号查找和按姓名查找,输入你想要的查找方式进行查找,然后是否要进行修改,选择Y/N,对其进行修改操作。
(4)按总分排序:
计算总分并按照由高到低的顺序进行排序。
(5)显示得分小于班级总分的人:
由以上信息中学生的总分与班级总分进行比较,显示出得分小于班级总分的学生。
(6)显示不及格学生:
显示出得分小于60分的学生。
(7)退出:
退出系统。
第3章类的设计
3.1学生成绩管理系统类的设计(第一个类)
1.画出类图
表1:
类关系表
类名:
classstudent
stringname;
longid;
数据成员:
floatChinese;
floatmath;
floatEnglish;
floatsum;
floatave;
student();
voidinput();
voidshow();
voidcopy(studenta);
函数成员:
stringNAME();
longID();
floatchi();
floatmat();
floateng();
floatSUM();
floatAVE();
2.对类的函数成员的说明
不用写出代码,用文字描述
函数的首部
//说明:
输入什么参数;
//进行什么操作;
//返回什么结果;
stringNAME();:
获取私有数据成员name。
longID();:
获取私有数据成员id。
floatchi();:
获取私有数据成员Chinese。
floatmat();:
获取私有数据成员math。
floateng();:
获取私有数据成员English。
floatSUM();:
获取私有数据成员sum。
floatAVE();:
获取私有数据成员ave。
student();:
是构造函数,对数据进行初始化。
voidinput();:
无返回值,无需参数,输入数据。
voidshow();:
无返回值,无需参数,输出数据。
voidcopy(studenta);:
无返回值,参数为一个student类型的参数a,操作为一个自定义的拷贝函数。
第4章详细设计
4.1工程视图
说明有几个源代码文件,可以截取工程文件视图表示
图2工作区文件视图
4.2类图视图
每个文件包含哪些类和函数,可以截图说明
图3类图视图1图4类图视图2
4.3主程序流程图
开始
Select=0?
输入菜单选项Select
输入数据
输出并查询学生信息
显示得分小于班级总分且不及格的学生
结束
显示菜单
Case1:
Case2:
Switch(select)
Case3:
Case4:
排序
图5主程序流程图
Y
N
4.4主要算法的流程图
第5章测试
主菜单:
图7学生成绩管理系统主菜单
录入学生成绩:
图8录入学生成绩
查询成绩:
图9按学号查找
图10按姓名查找
修改成绩:
图11修改学生成绩
按总分排序:
图12按总分排序
显示平均分小于班级总平均分且不及格的学生:
图13均分小于班级总平均分且不及格的学生
第6章总结
这个学生成绩管理系统存在着很多不足之处,由于自己本身编程能力的问题,这个系统可以实现的功能非常有限。
只能实现学生管理系统最基本的功能,可以进行简单的输入、输出学生资料,查询和修改学生信息。
课程设计不仅让我们巩固了所学的知识,还使得我们学习到了更多平时所忽略的,最重要的是,它磨砺了我们,让我们在大学的下一个阶段能更好的成长。
我要将C++学好,在将来能为我的就业加分。
附录:
程序代码
#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+ 课程设计 报告