C++课程设计报告2Word文件下载.docx

上传人:b****5 文档编号:20814459 上传时间:2023-01-25 格式:DOCX 页数:19 大小:542.91KB
下载 相关 举报
C++课程设计报告2Word文件下载.docx_第1页
第1页 / 共19页
C++课程设计报告2Word文件下载.docx_第2页
第2页 / 共19页
C++课程设计报告2Word文件下载.docx_第3页
第3页 / 共19页
C++课程设计报告2Word文件下载.docx_第4页
第4页 / 共19页
C++课程设计报告2Word文件下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

C++课程设计报告2Word文件下载.docx

《C++课程设计报告2Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++课程设计报告2Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。

C++课程设计报告2Word文件下载.docx

三、设计要求及成果

根据系统功能要求,可以将问题解决分为以下步骤:

(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"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1