C++语言课程设计报告模版Word格式文档下载.docx
- 文档编号:19024696
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:14
- 大小:246.66KB
C++语言课程设计报告模版Word格式文档下载.docx
《C++语言课程设计报告模版Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++语言课程设计报告模版Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
(5)掌握书写程序设计报告的能力。
(6)培养学生实际操作能力和团结协作能力,为后续课程的学习打下坚实的基础。
2、课程设计任务与要求
任务:
编写学生成绩管理程序,实现学生成绩列表、查询、修改、排序、统计、退出等功能。
要求:
定义学生类,每个学生对象的数据包括id(学号)、name(姓名)、sex(性别)、score【6】5门课的成绩和平均成绩,类的成员函数实现对类的数据成员的操作,主界面和选择项功能均由非成员函数来实现。
3.主要数据结构(类,函数)
学生信息管理程序
1、定义一个学生类(student)及其成员函数
classStudent
{
private:
longid;
stringname;
charsex;
floatscore[6];
public:
Student(longi=0,stringnam=””,chars=’m’,floats1=0,floats2=0,floats3=0,floats4=0,floats5=0);
voiddisplay();
voidaverage();
voidmodify();
longget_id(){returnid;
}
floatget_aver(){returnscore[0];
floatget_score()(intn);
};
完成各成员函数,在主程序中用学生类来完成学生信息的列表、查询、修改、排序、统计等。
4、程序流程图
流程:
主程序:
1、定义变量,用于接收学生的输入、姓名、性别、成绩等。
2、定义Student类的对象。
3、画主界面,给出0-6的选项。
保证为循环,只有0能退出。
4、在循环内部,对6个选项进行分支讨论,以添加分支为例:
要求学生输入信息,进入1中设定的变量,并进行对象的调用完成对象的列表,进入2中设定的变量,并进行对象的调用完成对象的查询,进入3中设定的变量,并进行对象的调用完成对象的最大值最小值,进入4中设定的变量,并进行对象的调用完成对象的修改,进入5中设定的变量,并进行对象的调用完成对象的排名,进入6中设定的变量,并进行对象的调用完成对象的统计。
5、测试数据及结果
输入1时,显示所有的学生信息
功能2为查询学生成绩,以学号检索
输入3时,显示最高最低成绩
输入4时,显示修改学生成绩
输入5时,显示成绩排名列表
输入6时,显示统计情况
输入0时,退出系统
6、课程设计总结
经过这次程序设计,使我对这门课程有了更深的认识,对原来学习的知识更加融会贯通。
与此同时,更加体会到同学们之间的互助和协作能力,加深了同学之间的交流。
对于以后继续学习这门课程有了很好的铺垫。
7、附件源代码
#include<
iostream>
iomanip>
string>
usingnamespacestd;
longid;
stringname;
charsex;
floatscore[6];
public:
Student(longi=0,stringnam="
"
chars='
m'
floats1=0,floats2=0,floats3=0,floats4=0,floats5=0);
voidaverage();
voiddisplay();
voidmodify();
longget_id(){returnid;
floatget_aver(){returnscore[0];
floatget_score(intn){returnscore[n];
Student:
:
Student(longi,stringnam,chars,floats1,floats2,floats3,floats4,floats5)
id=i;
name=nam;
sex=s;
score[0]=0;
score[1]=s1;
score[2]=s2;
score[3]=s3;
score[4]=s4;
score[5]=s5;
average();
}
voidStudent:
average()
{
floatsum=0;
for(intk=1;
k<
6;
k++)
sum+=score[k];
score[0]=sum/5;
}
display()
{
cout<
<
setw(12)<
id<
name<
"
sex<
setw(7)<
score[1]<
score[2]<
setw(8)<
score[3]<
score[4]<
score[5]<
score[0]<
endl;
modify()
inti;
cout<
修改第几门课的成绩:
;
cin>
>
i;
输入该课程新成绩:
score[i];
average();
voidsurface()
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓"
┃学生成绩管理程序┃"
┃┃"
┃设计人:
马欣欣┃"
┃2012年6月┃"
┃功能选项(0-6):
┃"
┃1--输出成绩列表┃"
┃2--查询学生成绩┃"
┃3--最高最低成绩┃"
┃4--修改学生成绩┃"
┃5--成绩排名列表┃"
┃6--统计┃"
┃0--退出┃"
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛"
voidtable()
{cout<
Studentid"
setw(15)<
Nmaesex"
score1score2score3score4score5average"
voidlist(Student*p)
table();
for(intj=0;
j<
5;
j++)
p[j].average();
p[j].display();
voidsearch(Student*p)
longm;
输入要查询的学号"
m;
for(i=0;
i<
i++)
if(p[i].get_id()==m)
{
p[i].average();
table();
p[i].display();
break;
};
if(i==5)
cout<
查无此生!
voidmax_min(Student*p)
floatm=p[0].get_aver(),w=m;
inti,j,k;
for(i=1;
floatf=p[i].get_aver();
if(f>
m){w=f;
k=i;
elseif(f<
w){w=f;
j=i;
Thetiptopscoreis:
\n"
p[k].display();
Thelowestscoreis:
p[j].display();
voidchange(Student*p)
inti;
longm;
输入要修改成绩的学生的学生号"
cin>
p[i].modify();
修改后的成绩"
查无此生"
voidsort(Student*p)
Students;
inti,j,k;
for(i=0;
4;
{
k=i;
for(j=i+1;
if(p[i].get_aver()<
p[j].get_aver())k=j;
if(k!
=i){s=p[i];
p[i]=p[k];
p[k]=s;
}
list(p);
voidstat(Student*p)
intm;
统计第几门课成绩?
intsum=0,s9=0,s8=0,s7=0,s6=0,s0=0;
cin>
for(inti=0;
floatf=p[i].get_score(m);
if(f>
=90)s9++;
if(f>
=80)s8++;
=70)s7++;
=60)s6++;
elses0++;
第"
m<
门课成绩统计:
分数段"
人数"
90-100"
s9<
80-89"
s8<
70-79"
s7<
60-69"
s6<
60"
s0<
}
voidchoose(Student*p)
intn;
while
(2)
请选择(0-6):
n;
switch(n)
case1:
list(p);
break;
case2:
search(p);
case3:
max_min(p);
case4:
change(p);
case5:
sort(p);
case6:
stat(p);
if(n==0)break;
intmain()
Studentstu[5]={
Student(110132001,"
WangKai"
'
96,87,95,99,89),Student(110132002,"
TangLing"
f'
98,79,74,65,80),
Student(110132003,"
LiangFang"
85,98,99,100,76),Student(110132004,"
dengZhe"
100,98,99,96,95),
Student(110132005,"
HuangYang"
75,60,63,68,66)};
Student*p=stu;
surface();
choose(p);
return0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 语言 课程设计 报告 模版