C++语言课程设计报告模版.docx
《C++语言课程设计报告模版.docx》由会员分享,可在线阅读,更多相关《C++语言课程设计报告模版.docx(14页珍藏版)》请在冰豆网上搜索。
![C++语言课程设计报告模版.docx](https://file1.bdocx.com/fileroot1/2023-1/2/9d017bde-c249-4673-9741-24e67c8c9335/9d017bde-c249-4673-9741-24e67c8c93351.gif)
C++语言课程设计报告模版
C++课程设计说明书
题目:
学生成绩管理程序
课程:
C++课程设计
院(部):
计算机与信息技术学院
专业:
软件工程(软件开发)
班级:
学生姓名:
学号:
完成日期:
2012年6月
目录
1、课程设计目的1
2、课程设计任务与要求1
3、主要数据结构(类函数)1
4、程序流程图2
5、测试数据和结果2
6、课程设计总结6
7、附件源代码6
1、课程设计目的
(1)巩固和加深学生对c++课程基本知识的理解和掌握;
(2)掌握c++编程和调试的基本技能;
(3)利用c++进行简单软件设计的基本思路和方法,初步理解面向对象编程思想;
(4)提高运用c++解决实际问题的能力;
(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
#include
#include
usingnamespacestd;
classStudent
{
private:
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;
}
voidStudent:
:
display()
{
cout<}
voidStudent:
:
modify()
{
inti;
cout<<"修改第几门课的成绩:
";
cin>>i;
cout<<"输入该课程新成绩:
";
cin>>score[i];
average();
}
voidsurface()
{
cout<<"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓"<cout<<"┃学生成绩管理程序┃"<cout<<"┃┃"<cout<<"┃设计人:
马欣欣┃"<cout<<"┃2012年6月┃"<cout<<"┃┃"<cout<<"┃功能选项(0-6):
┃"<cout<<"┃1--输出成绩列表┃"<cout<<"┃2--查询学生成绩┃"<cout<<"┃3--最高最低成绩┃"<cout<<"┃4--修改学生成绩┃"<cout<<"┃5--成绩排名列表┃"<cout<<"┃6--统计┃"<cout<<"┃0--退出┃"<cout<<"┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛"<}
voidtable()
{cout<<<"score1score2score3score4score5average"<voidlist(Student*p)
{
table();
for(intj=0;j<5;j++)
{
p[j].average();
p[j].display();
}
cout<}
voidsearch(Student*p)
{
inti;
longm;
cout<<"输入要查询的学号";
cin>>m;
for(i=0;i<5;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;i<5;i++)
{
floatf=p[i].get_aver();
if(f>m){w=f;k=i;}
elseif(f}
cout<<"Thetiptopscoreis:
\n";
table();
p[k].display();
cout<<"Thelowestscoreis:
\n";
table();
p[j].display();
}
voidchange(Student*p)
{
inti;
longm;
cout<<"输入要修改成绩的学生的学生号";
cin>>m;
for(i=1;i<5;i++)
if(p[i].get_id()==m)
{
table();
p[i].display();
p[i].modify();
cout<<"修改后的成绩"<p[i].display();
break;
};
if(i==5)
cout<<"查无此生"<}
voidsort(Student*p)
{
Students;
inti,j,k;
for(i=0;i<4;i++)
{
k=i;
for(j=i+1;j<5;j++)
if(p[i].get_aver()
if(k!
=i){s=p[i];p[i]=p[k];p[k]=s;}
}
list(p);
}
voidstat(Student*p)
{
intm;
cout<<"统计第几门课成绩?
";
intsum=0,s9=0,s8=0,s7=0,s6=0,s0=0;
cin>>m;
for(inti=0;i<5;i++)
{
floatf=p[i].get_score(m);
if(f>=90)s9++;
if(f>=80)s8++;
if(f>=70)s7++;
if(f>=60)s6++;
elses0++;
}
cout<<"第"<"<cout<<"分数段"<<"人数"<cout<<"90-100"<cout<<"80-89"<cout<<"70-79"<cout<<"60-69"<cout<<"60"<}
voidchoose(Student*p)
{
intn;
while
(2)
{
cout<<"请选择(0-6):
";
cin>>n;
switch(n)
{
case1:
list(p);
break;
case2:
search(p);
break;
case3:
max_min(p);
break;
case4:
change(p);
break;
case5:
sort(p);
break;
case6:
stat(p);
}
if(n==0)break;
}
}
intmain()
{
Studentstu[5]={
Student(110132001,"WangKai",'m',96,87,95,99,89),Student(110132002,"TangLing",'f',98,79,74,65,80),
Student(110132003,"LiangFang",'f',85,98,99,100,76),Student(110132004,"dengZhe",'m',100,98,99,96,95),
Student(110132005,"HuangYang",'m',75,60,63,68,66)};
Student*p=stu;
surface();
choose(p);
return0;
}