C++课程设计报告2Word文件下载.docx
- 文档编号:20814459
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:19
- 大小:542.91KB
C++课程设计报告2Word文件下载.docx
《C++课程设计报告2Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++课程设计报告2Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
三、设计要求及成果
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述(包括属性和力一法);
(4)完成类中各个成员函数的定义;
(5)完成系统的应用模块;
(6)功能调试;
(7)提交课程设计报告:
完成系统总结报告以及系统使用说明书
第1章需求分析
第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。
获取私有数据成员id。
获取私有数据成员Chinese。
获取私有数据成员math。
获取私有数据成员English。
获取私有数据成员sum。
获取私有数据成员ave。
是构造函数,对数据进行初始化。
无返回值,无需参数,输入数据。
无返回值,无需参数,输出数据。
voidcopy(studenta);
无返回值,参数为一个student类型的参数a,操作为一个自定义的拷贝函数。
第4章详细设计
4.1工程视图
说明有几个源代码文件,可以截取工程文件视图表示
图2工作区文件视图
4.2类图视图
每个文件包含哪些类和函数,可以截图说明
图3类图视图1图4类图视图2
4.3主程序流程图
Y
N
4.4主要算法的流程图
第5章测试
主菜单:
图7学生成绩管理系统主菜单
录入学生成绩:
图8录入学生成绩
查询成绩:
图9按学号查找
图10按姓名查找
修改成绩:
图11修改学生成绩
按总分排序:
图12按总分排序
显示平均分小于班级总平均分且不及格的学生:
图13均分小于班级总平均分且不及格的学生
第6章总结
这个学生成绩管理系统存在着很多不足之处,由于自己本身编程能力的问题,这个系统可以实现的功能非常有限。
只能实现学生管理系统最基本的功能,可以进行简单的输入、输出学生资料,查询和修改学生信息。
课程设计不仅让我们巩固了所学的知识,还使得我们学习到了更多平时所忽略的,最重要的是,它磨砺了我们,让我们在大学的下一个阶段能更好的成长。
我要将C++学好,在将来能为我的就业加分。
附录:
程序代码
#include<
iostream>
string>
usingnamespacestd;
classstudent{
private:
longid;
floatsum;
floatave;
public:
student();
voidinput();
voidshow();
stringNAME(){returnname;
}
longID(){returnid;
floatchi(){returnChinese;
floatmat(){returnmath;
floateng(){returnEnglish;
floatSUM(){returnsum;
floatAVE(){returnave;
};
voidstudent:
:
input(){
cout<
<
"
\t\t请输入学生的姓名:
;
cin>
>
name;
\t\t请输入学生的学号:
id;
\t\t请输入语文成绩:
Chinese;
\t\t请输入数学成绩:
math;
\t\t请输入英语成绩:
English;
sum=Chinese+math+English;
ave=sum/3;
}
student:
student()
{
name="
noname"
id=0;
Chinese=0;
math=0;
English=0;
sum=0;
ave=0;
}
show()
{
姓名:
name<
endl<
学号:
id<
语文:
Chinese<
endl
<
数学:
math<
英语:
English<
总成绩:
sum<
平均分:
ave<
endl;
}
copy(studenta)
name=a.NAME();
id=a.ID();
Chinese=a.chi();
math=a.mat();
English=a.eng();
sum=a.SUM();
ave=a.AVE();
shortshowmenu()
shortselect;
****************************************************************"
学生成绩管理系统"
1.录入学生成绩"
2.查询、修改学生成绩"
3.按总分排序"
4.班级总分"
0.安全退出系统"
\t\t请选择:
select;
returnselect;
voidfind(studentstu[]){
stringk;
shorti,j;
longn;
shortm;
charq='
n'
*****************************************************************\n"
*\t\t\t1.按学号查找\t\t\t\t*\n"
*\t\t\t2.按姓名查找\t\t\t\t*\n"
m;
if(m==1)
{
cout<
请输入学号:
while
(1)
{
cin>
n;
if(n>
1&
&
n<
12)
{
cout<
输入有误!
请重新输入:
}
else
break;
}
for(i=0;
stu[i].ID()!
=0;
i++)
if(n==stu[i].ID())
stu[i].show();
j=i;
elseif(m==2)
请输入姓名:
cin>
k;
if(k==stu[i].NAME())
else
输入的选项有误!
是否修改(Y/N):
q;
if(q=='
y'
||q=='
Y'
)
stu[j].input();
voidarrange(studentstu[])
studenttemp;
for(i=0;
for(j=i+1;
stu[j].ID()!
j++)
if(stu[i].SUM()<
stu[j].SUM())
temp.copy(stu[i]);
stu[i].copy(stu[j]);
stu[j].copy(temp);
stu[i].show();
voidclassave(studentstu[])
floatcla=0,a;
shorti;
cla+=stu[i].SUM();
a=cla/i;
班级总分是:
a<
不及格的人是:
if(stu[i].AVE()<
60)
a/=3;
显示平均分小于班级总平均分的学生:
=a)
voidmain()
{
studentstu[100];
chartemp='
for(;
select=showmenu();
switch(select)
case1:
for(i=0;
i<
100&
(temp!
='
N'
temp!
);
stu[i].input();
是否继续(Y/N):
cin>
temp;
}break;
case2:
find(stu);
break;
case3:
arrange(stu);
case4:
classave(stu);
按任意键继续!
getchar();
system("
cls"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)