C++语言课程设计报告书.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C++语言课程设计报告书.doc》由会员分享,可在线阅读,更多相关《C++语言课程设计报告书.doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 淮 海 工 学 院 计算机工程学院课程设计报告设计名称:学生成绩系统姓 名:学 号:专业班级:系 (院):计算机科学与技术系设计时间:设计地点:计算机工程学院机房、教室、学生宿舍、图书馆成绩:指导教师评语: 签名: 年 月 日1课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完C+程序设计课程后进行的一次全面的综合练习。本课程设计的目的和任务:(1)巩固和加深学生对C+课程的基本知识的理解和掌握;(2)掌握C+编程和程序调试的基本技能;(3)利用C+进行简单软件设计的基本思路和方法;(4)提高运用C+解决实际问题的能力;(5)掌握书写程序设计说明文档的能力。本次
2、课程设计利用C+程序设计课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,使学生能够独立完成所布置的任务。2课程设计任务与要求:要求:1) 设计题目、设计要求以及系统功能需求分析;2) 总体设计:包括模块说明、模块结构图和系统流程图;3) 详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图;4) 源程序代码及设计成果:完整源程序清单和设计成果;5)总结: 调试分析过程描述:包括测试数据、测试输出结果以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等)包括课程设计过程中的学习体会与收获、对C+
3、和本次课程设计的认识等内容.;任务:设计一个学生成绩排名系统,该系统的主要功能如下:1) 具备对成绩的管理功能(添加、删除、排序)2) 具备对成绩的统计功能(最高分,最低分,平均分,及格率等)3) 具备按学号、姓名、或课程名查询成绩的功能。4)学生成绩应该保存在文件中。备注:成绩记录以下信息:学号,姓名,课程名,成绩(百分制)。可以用能表示学生成绩的结构体数组存储数据。3课程设计说明书概要设计一、模块说明在我设计的程序中一共包括了六个模块,分别是:添加模块、删除模块、排序模块、统计模块、查找模块、界面模块。这六个模块都是独立分开作为子函数的,其它五个则是作为switch语句中的一部分,通过sw
4、itch语句,从界面模块中调用,把六大模块联系了起来,同时,为了实现多次使用这六大模块,在其它模块中也加入了界面模块的调用。二、模块结构图Main 函数界面模块添加信息删除信息信息排序统计信息查找信息三、系统流程图各功能模块流程图:添加信息添加信息输入学号姓名成绩替换到已定义的数组中删除信息删除信息输入要删除的学号将目标数组各项都替换为0信息排序信息排序按数学按英语按C+按总分选择法冒泡法冒泡法冒泡法统计信息统计信息学号不是0人数+1 计入总分并判断是否及格YN及格人数+1Y统计总分及格率等N查找信息查找信息按学号按姓名按总分按数学按英语按C+按科目输入后与有成绩的数组中的目标项对比,相同即输
5、出界面模块界面成绩统计成绩查找添加成绩删除成绩成绩排序成绩管理4课程设计成果程序源代码,运行结果#include #include #include #include using namespace std;class chengjipublic:int num;string name;int m_num; int e_num;int c_num;int t_num;int a_num;public:chengji() /构造函数初始化num=0;name=0;m_num=0;e_num=0;c_num=0;t_num=m_num+e_num+c_num; /求总成绩a_num=t_num/3
6、; /求平均成绩void tianjia(int); /实现添加功能的成员函数void shanchu(int); /实现删除功能的成员函数friend void paixu(); /实现排序功能的友员函数friend void tongji(); /实现统计功能的友元函数friend void chazhao(); /实现查找功能的友元函数friend void jiemian(); /实现界面功能的友元函数friend void save();student41;void chengji:tianjia(int tnum) /定义添加功能的成员函数string tname;int tm_n
7、um;int te_num;int tc_num; ofstream outfile(C:chengji.txt,ios:out); /定义文件流对象,打开磁盘文件chengji.txtcouttname; /输入姓名couttm_num; /输入数学成绩 coutte_num; /输入英语成绩couttc_num; /输入C+成绩num=tnum; /将学号赋给类中的numname=tname; /将姓名赋给类中的namem_num=tm_num; /将数学成绩赋给类中的m_nume_num=te_num; /将英语成绩赋给类中的e_numc_num=tc_num; /将C+成绩赋给类中的c
8、_numt_num=m_num+e_num+c_num; /将学号赋给类中的t_numa_num=t_num/3; /将学号赋给类中的a_num for(int i=0;i41;i+)outfilestudenti.num studenti.name studenti.m_num studenti.e_num studenti.c_num studenti.t_numendl;out(); cout添加成功!endl;jiemian(); /调用界面函数void chengji:shanchu(int n) /定义删除功能的成员函数studentn-1.num=0;studentn-1.nam
9、e=0;studentn-1.m_num=0;studentn-1.e_num=0;studentn-1.c_num=0;studentn-1.t_num=0;studentn-1.a_num=0;cout删除成功!endl;jiemian(); /调用界面函数void paixu() /定义排序功能的友员函数cout请选择排序的方式:1:按数学成绩 2:按英语成绩3:按C+成绩 4:按总分n1;switch(n1)case 1: /按数学成绩排序chengji fangshi41,change;int n2,n3=-1,n4,k;for(n2=0;n241;n2+)if(studentn2.
10、num!=0)n3+;fangshin3.num=n2+1;fangshin3.name=studentn2.name;fangshin3.m_num=studentn2.m_num;if(fangshi0.num=0) cout没有数据,请重新选择!endl;jiemian();elsen4=n3+1;for(n2=0;n2n4-1;n2+)k=n2;for(n3=n2+1;n3n4;n3+)if(fangshik.m_numfangshin3.m_num)k=n3;change.num=fangshik.num;change.name=fangshik.name;change.m_num=
11、fangshik.m_num;fangshik.num=fangshin2.num;fangshik.name=fangshin2.name;fangshik.m_num=fangshin2.m_num;fangshin2.num=change.num;fangshin2.name=change.name;fangshin2.m_num=change.m_num;for(n2=0;n2n4;n2+)coutfangshin2.numsetw(20)fangshin2.namesetw(5)fangshin2.m_numendl;jiemian();break;case 2: /按英语成绩排序c
12、hengji fangshi50,change;int n2,n3=-1,n4;for(n2=0;n250;n2+)if(studentn2.num!=0)n3+;fangshin3.num=n2+1;fangshin3.name=studentn2.name;fangshin3.e_num=studentn2.e_num;if(fangshi0.num=0) cout没有数据,请重新选择!endl;jiemian();elsen4=n3+1;for(n2=0;n2n2;n3-)if(fangshin3.e_numfangshin3-1.e_num)change.num=fangshin3.n
13、um;change.name=fangshin3.name;change.e_num=fangshin3.e_num;fangshin3.num=fangshin3-1.num;fangshin3.name=fangshin3-1.name;fangshin3.e_num=fangshin3-1.e_num;fangshin3-1.num=change.num;fangshin3-1.name=change.name;fangshin3-1.e_num=change.e_num;for(n2=0;n2n4;n2+)coutfangshin2.numsetw(20)fangshin2.names
14、etw(5)fangshin2.e_numendl;jiemian(); /调用界面函数break;case 3: /按C+成绩排序chengji fangshi50,change;int n2,n3=-1,n4;for(n2=0;n250;n2+)if(studentn2.num!=0)n3+;fangshin3.num=n2+1;fangshin3.name=studentn2.name;fangshin3.c_num=studentn2.c_num;if(fangshi0.num=0) cout没有数据,请重新选择!endl;jiemian(); /调用界面函数elsen4=n3+1;f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 语言 课程设计 报告书
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内