C 课程设计报告

发布 2022-10-04 10:36:28 阅读 7268

1)谭浩强。《c++程序设计实践指导》 清华大学出版社

2)谭浩强。《c++程序设计 》清华大学出版社。

3)http:/

目录。课程设计题目:学生成绩管理 - 1 -

第1章系统概要 - 2 -

1.1系统介绍 - 2 -

1.2 基本功能要求 - 2 -

第2章设计思路与算法 - 2 -

i、成绩录入模块 - 3 -

ii、成绩统计模块 - 3 -

iii、成绩排名模块 - 3 -

iv、成绩查询模块 - 3 -

v、输出模块 - 3 -

第3章源程序** - 3 -

第4章运行结果及分析 - 8 -

i、成绩录入模块 - 8 -

ii、成绩统计模块 - 9 -

iii、成绩排名模块 - 11 -

iv、成绩查询模块 - 13 -

v、输出模块 - 15 -

第5章心得体会 - 16 -

参考文献 - 17 -

设计一个student(学生类)类,用制作学生成绩管理系统。

从键盘输入某班级若干个学生的学号、姓名、三门课(语文、数学、英语)的成绩,分别实现如下功能:

1)统计每个学生的总分和平均分;

2)按总分由大到小排出名次;

3)打印出成绩在全班平均分以上的学生名单和数据信息。

4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试成绩。

要求:设计一个学生类,数据成员包括:学号、姓名、三门课成绩、总分、平均分、名次等信息。各功能要求分别用成员函数来实现,在主函数中通过菜单选择来实现各个功能。

算法:成绩录入就是对前面定义的类student中的成员进行赋值。其中,用户需要输入的是学生的学号、姓名两个基本信息和语文、数学和英语三门成绩,其余总成绩、平均成绩和排名由后续的计算函数来实现。

成绩统计模块需要建立在成绩录入模块的基础之上,当系统中已经包含一些数据记录后才能对这些成绩求总分、平均分等操作。本模块包含对输入的数据计算总分和计算平均分,其中,cout()函数用于计算一个同学的总分和平均分,而get**erage()函数则求出整个班级所有的三门课程的平均成绩。

在获得整个班级的总分和平均分之后,就可以对该班级中的同学按照某个参数进行排名了。在该系统中,使用每位同学的平均成绩对其进行排名,此处使用插入排序来实现。

插入排序的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。

该系统中的成绩查询工是根据用户输入的学生的学号作为关键字,在数据结构中进行查询,并将查询结果即该记录的位置返回。

事实上,如果对该系统内的成绩做了排序、统计和查询等功能后,都需要将结果输出函数中,输出了学生成绩管理系统中所有的成员值。在主函数main()中调用成绩查询、统计等函数后都需要调用该函数,以输出结果到屏幕上。

成绩录入就是对前面定义的类student中的成员进行赋值。其中,用户需要输入的是学生的学号、姓名两个基本信息和语文、数学和英语三门成绩,其余总成绩、平均成绩和排名由后续的计算函数来实现。实现成绩录入模块的函数**如下:

void setdata(student &s成绩录入模块。

cout<<"输入学号,姓名,语文,数学,英语成绩:";录入数据

cin>>>

初始化 该函数运行时其结果如下图所示:

图 4-1 输入3位学生成绩。

输入学生信息的个数可在主函数用修改相应数值。

成绩统计模块需要建立在成绩录入模块的基础之上,当系统中已经包含一些数据记录后才能对这些成绩求总分、平均分等操作。本模块包含对输入的数据计算总分和计算平均分,其中,cout()函数用于计算一个同学的总分和平均分,而get**erage()函数则求出整个班级所有的三门课程的平均成绩,其函数**如下:

void count(student &s成绩统计。

求三门课程的总分。

求三门课程的平均分。

double get**erage(student s,int n求平均分函数。

double **erage=0变量定义并初始化。

for(int i=0;i **erage+=(s[i].chinese+s[i].math+s[i].english);

/求所有学生的所有成绩和。

**erage/=(n*3求所有学生的成绩平均值。

return **erage返回该平均值。

其中,计算整个班级所有的三门课程的成绩get**erage()函数的实现流程图如下:

注意:该统计模块中,需要统计一个班级同学的总分和平均分,就需要确定班上同学的人数,这个人数就放在常量n中。

图4-3 统计平均分和总分。

在获得整个班级的总分和平均分之后,就可以对该班级中的同学按照某个参数进行排名了。在该系统中,使用每位同学的平均成绩对其进行排名,此处使用插入排序来实现。

插入排序的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止,其算法流程图如下:

根据上述的算法流程图,则乘机排名模块的实现**如下:

void sort(student s,int n插入法排序 (成绩排名)

int index定义变量。

student inserter创建对象。

for(int i=1;i

c语言课程设计报告 课程设计报告

周口师范学院。课程设计报告。院 系 计算机科学与技术学院 班级。学生姓名学号。设计题目 职工工资管理系统。完成日期 年月日 课程设计任务书。设计题目 工资管理系统 教研室主任指导教师 年月日。摘要11设计内容 任务及具体要求2 1.1设计内容2 1.2设计任务及具体要求2 2概要设计3 2.1该系统...

C课程设计报告

题目各类图形面积与周长计算和高考倒计时。学生姓名张磊 学号 20131344054 学院计算机与软件学院 专业软件工程 指导教师马瑞。二 一五年六月 25 日。目录。1 引言 1 1.1 系统开发背景和意义 1 1.2 服务器运行环境 2 1.3 课题内容 2 2 系统需求分析及相关技术介绍 2 2...

C 课程设计报告

c 程序课程设计报告。学院 资源与安全工程学院 专业班级 城市地下空间工程1303 姓名卢途。指导教师 彭述权。课程设计时间 2013 2014学年第二学期18 19周。一 题目一 设计一 学生成绩管理系统 它的主要功能是对学生的成绩进行输入 修改和管理。系统功能要求 界面要求 学生成绩管理系统 1...