当前位置:文档之家› C++学生成绩排名系统课程设计(附源码)

C++学生成绩排名系统课程设计(附源码)


当程序有学生记录时:
总结
此次课程设计,在小组各成员的共同努力下完 成,组长设计了成绩排序系统的成绩类,然后将各 个实现功能分给组员进行实现,由于我基础不太 好,给他们添了很大的麻烦。虽然课程设计结束 了,但其中还存在着很多问题。一方面,因为有关 文件储存这方面的知识欠缺,不太牢固,导致了我 们每次都要手动录入学生成绩信息,因此我们的程 序还需要进一步完善;另一方面,面向对象的程序 开发需要符合客观生活逻辑,所以程序在删除,统
5
第1章 开发环境和开发工具
.1 C++简介 C++是在C语言的基础上开发的一种集面向对象 编程、泛型编程和过程化编程于一体的编程语言。 当C语言发展到顶峰的时刻,出现了一个版本叫C with Class,那就是C++最早的版本,在C语言中增 加class关键字和类,那个时候有很多版本的C都希 望在C语言中增加类的概念;后来C标准委员会决定 为这个版本的C起个新的名字,那个时候征集了很 多种名字,最后采纳了其中一个人的意见,以C语 言中的++运算符来体现它是C语言的进步,故而叫 C++,成立了C++标准委员会。 C++应用较为广泛,是一种静态数据类型检查 的,支持多重编程的通用程序设计语言。它支持过 程化程序设计,数据抽象,面向对象设计,制作图 标等多种程序设计风格。C++语言的主要特点表现 在两个方面,一是尽量兼容C,二是支持面向对象的 方法。它操持了C的简洁、高效的接近汇编语言等 特点,对C的类型系统进行了改革的扩充,因此 C++比C更安全,C++的编译系统能检查出更多的类 型错误. 1.2 开发背景 随着科学技术的不断发展,计算机科学日渐成熟, 其强大的功能已为人们所深刻认识,它己进入人类社
河南城建学院 C++语言课程设计报告书
专 题 班
业:信息管理与信息系统 目:学生成绩排名系统 级: 0834131
课程设计名称: 《面向对象程序设计》
设 计 者 学 号: 设 计 者 姓 名: 同 组 人 员: 指 导 老 师:张妍琰 郭力争 完 成 时 间:2015 年 1月9 日
目录 目录 1 第一章 开发环境和开发工具 1 1.1 C++简介 1 1.2 开发背景 1 1.3 开发环境 2 第二章 设计目的与实现 3 2.1 系统需求分析 3 2.2系统功能分析 3 2.3系统总体设计 4 2.3.1编写要求 4 2.3.2开发设计思想 4 2.3.3系统功能模块分析与设计 2.4程序实现流程 5 2.5成绩统计模块算法思想 7 第三章 测试与分析 9 3.1数据显示 9 3.2结果分析 9 总结 11 心得体会 12 参考文献 13
的能力。培养了基本的、良好的程序设计技能以及合 作能力。这次课程设计同样提高了我的综合运用所学 知识的能力。并对VC6.0有了更深入的了解。《C++语 言程序设计》是一门实践性很强的课程,上机实习是 对学生全面综合素质进行训练的一种最基本的方法, 是与课堂听讲、自学和练习相辅相成的、必不可少的 一个教学环节。上机实习一方面能使书本上的知识 变“活”,起到深化理解和灵活掌握教学内容的目 的;另一方面,上机实习是对学生软件设计的综合能 力的训练,包括问题分析,总体结构设计,程序设计 基本技能和技巧的训练。此外,还有更重要的一点 是:机器是比任何教师更严厉的检查者。因此, 在“数据结构”的学习过程中,必须严格按照老师的 要求,主动地、积极地、认真地做好每一个实验,以 不断提高自己的编程能力与专业素质。 通过这段时间的课程设计,我认识到C++语言程 序设计是一门比较难的课程。需要多花时间上机练 习。这次的程序训练培养了我实际分析问题、编程和 动手能力,使我掌握了程序设计的基本技能,提高了 我适应实际,实践编程的能力。 总的来说,这次课程设计让我获益匪浅,对 C++语言程序设计也有了进一步的理解和认识。
学生成绩统计 学号不是0 Yes No
人数+1计入总分并判断是否及格 Yes No 及格人数+1 统计总分及格率等
. 2.4-4 【5】学生成绩查找
学生成绩查找 按姓名 按科目 按学号 按语文 按C++ 按总分 按数学 按英语 输入后与有成绩的数组的目标项对比,相等即输出
2.4-5 【6】主页面模块
2.3.3系统功能模块分析与设计
本系统分为五个模块:添加学生信息、删除学生 信息、学生成绩排序、学生成绩统计、学生成绩查 找。得到如图3-1所示的系统功能模块图。
学生成绩排序系统 学生成绩排序系统 删除学生信息 按数学 添加学生信息 学生成绩统计 学生成绩排序 学生成绩查找 按语文 按总分 按C++ 按课程 按姓名 按学号 按英语
会的各个领域并发挥着越来越重要的作用。采用计算 机进行信息化管理已成为衡量教学管理科学化和现代 化的重要标志,而学生成绩排名的全面自动化、信息 化则是其中重要的组成部分。学生成绩排名信息的好 坏对于教学管理者来说至关重要,在很大程度上影响 着教学管理者对学生的看法及学生个人考评。因此, 本文所研究的学生成绩排名系统具有一定的使用价值 和现实意义。 1.3 开发环境 本文所采用的开发环境主要是基于VC6.0。 VC++6.0是微软公司推出的开发Win32应用程序 (Windows 95/98/2000/XP/NT)的、面向对象的 可视化集成工具。它的最大优点就是提供了功能 强大的MFC类库,MFC是一个很大的C++类层次结 构,其中封装了大量的类及其函数,很多 Windows程序所共有的标准内容可以由MFC的类来 提供,MFC类为这些内容提供了用户接口的标准 实现方法,程序员所要做的就是通过预定义的接 口把具体应用程序特有的东西填入这个轮廓,这 将简化编程工作,大大的减少程序员编写的代码 数量,使编程工作变得更加轻松容易。
学生成绩统计 成绩查询 成绩统计 成绩管理
按课程 按姓名 按学号
2.4-6
2.5成绩统计模块算法思想 采用类的对象数组对类中的对象进行引用,在使 用对象数组时只能引用单个数组元素,每个数组元 素都是一个对象,通过这个对象,便可以访问到它 的公有成员。通过对其成员的访问实现统计功能。
void tongji() { int n1,n2=0,n_m=0,n_e=0,n_c=0,n_y=0,t_m=0,t_e=0,t_c=0,t_y=0,t_t=0;/ 计数,n2统计总人数 for(n1=0;n1<50;n1++) { if(student[n1].num!=0)//对类的对象数组中的成员 进行访问 { n2++; t_m=t_m+student[n1].m_num;//数学总分数 t_e=t_e+student[n1].e_num;//英语总分数 t_c=t_c+student[n1].c_num;//英语总分数 t_y=t_y+student[n1].y_num;//语文总成绩 t_t=t_t+student[n1].t_num;//总分数
2.2.2 成绩的统计功能
成绩统计功能:统计功能可以实现学生总人数 的统计,各科平均分以及各科及格率,另外,还包 括总分的平均分,可以研究整体学生的成绩。
2.2.3成绩的查找功能
成绩的查找功能:查找功能可以根据需求选 择三种方式中的一种进行查找,包括按学号查找, 按姓名查找,按科目查找,在按科目查找功能下, 又细分了按英语成绩,按数学成绩,按C++成绩, 按语文成绩查找。 2.3系统总体设计
2.2.1 成绩的管理功能
【1】添加学生信息:添加学生的成绩信息, 包括学生学号,姓名,各科成绩,输入功能操作结 束返回到主菜单。若员工信息输入有误,需及时修 改。 【2】删除学生信息:删除某个学生的成绩信 息,采用数组的方法,根据学号进行删除,删除功 能操作结束,返回到主菜单。 【3】学生信息排序:排序功能可以根据需求 分四种方式进行学生成绩的排序,包括按四科科目 的成绩分别进行排序以及按总成绩进行排序。排序 功能操作结束,返回到主页面。
} if(student[n1].m_num>=60) { n_m++; } if(student[n1].e_num>=60) { n_e++; } if(student[n1].c_num>=60) { n_c++; } if(student[n1].y_num>=60) { n_y++; } } if(n2==0) { cout<<"对不起,无记录"<<endl; main(); } else cout<<"总人数为:"<<n2<<endl<<"数学平均分为:" <<t_m/n2<<" 及格率为:"<<n_m*100/n2<<"%"<<endl<<"英 语平均分为:"<<t_e/n2<<" 及格率为:" <<n_e*100/n2<<"%"<<endl<<"C++平均分为:"<<t_c/n2<<" 及格率为:"<<n_c*100/n2<<"%"<<endl<<"语文平均分:" <<t_y/n2<<" 及格率为:"<<n_y*100/n2<<"%"<<endl<<"总 分平均分为:"<<t_t/n2<<endl;}
相关主题