C++语言课程设计报告模版.docx
- 文档编号:6029302
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:14
- 大小:246.66KB
C++语言课程设计报告模版.docx
《C++语言课程设计报告模版.docx》由会员分享,可在线阅读,更多相关《C++语言课程设计报告模版.docx(14页珍藏版)》请在冰豆网上搜索。
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; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 语言 课程设计 报告 模版
![提示](https://static.bdocx.com/images/bang_tan.gif)