收藏 分享(赏)

C语言课程设计学生成绩管理系统.doc

上传人:weiwoduzun 文档编号:2836960 上传时间:2018-09-28 格式:DOC 页数:16 大小:289KB
下载 相关 举报
C语言课程设计学生成绩管理系统.doc_第1页
第1页 / 共16页
C语言课程设计学生成绩管理系统.doc_第2页
第2页 / 共16页
C语言课程设计学生成绩管理系统.doc_第3页
第3页 / 共16页
C语言课程设计学生成绩管理系统.doc_第4页
第4页 / 共16页
C语言课程设计学生成绩管理系统.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、C 语言程序设计课程设计报告学生成绩管理系统学生姓名:学 号:班 级:指导教师:日 期:2011 年 12 月 18 日1. 设计目标设计一个简单的学生成绩管理系统,系统要解决成绩录入、计算学分和平均分成绩排名和成绩查询等几个方面。主要功能分为四部分: 提供成绩录入界面。 统计每个学生的总分和平均分。 按总分由大刀小排出名次。 提供成绩查询功能,即任意输入一个学号,能够查询出该学生在班级中的排名及其考试成绩。2. 总体设计根据需求分析的结果,本系统至少要分为以下几个模块:main 函数、成绩录入模块、成绩统计模块、成绩排名模块和成绩查询模块。其中各模块的功能说明如下: Main 函数模块的主要

2、功能为提供程序入口、前期环境设置、调用主要的执行函数和程序结束前的数据处理。 成绩录入模块的主要功能为提供简单的成绩录入界面,将输入的成绩存储在对应的数据结构中。 成绩统计模块的主要功能为统计每个学生的总分和平均分并输出。 成绩排名模块的主要功能为按总分由大到小排出名次并输出。 成绩查询模块的主要功能为根据用户输入一个学号,能够查找该学生在班级中的排名及其考试成绩。根据上述描述,给出该系统的总体设计图,如下图所示:学生成绩管理系统成绩录入模块 成绩排名模块 成绩查询模块主调函数模块成绩统计模块3. 详细设计由于该系统涉及多个学生的成绩存储,因此,定义一个数据结构,用于存储这些信息。现仅对学生语

3、文成绩、数学成绩、英语成绩进行统计管理。建立以下数据结构:class Studentpublic:char numberMax; /存储学生学号char nameMax; /存储学生姓名double chinese; /存储语文成绩double math; /存储数学成绩double english; /存储英语成绩double total; /总成绩double average; /平均成绩int rank; /排名;I、成绩录入模块成绩录入就是对前面定义的类 Student 中的成员进行赋值。其中,用户需要输入的是学生的学号、姓名两个基本信息和语文、数学和英语三门成绩,其余总成绩、平均成绩

4、和排名由后续的计算函数来实现。实现成绩录入模块的函数代码如下:void setData(Student s.total=0; /初始化 s.average=0; s.rank=0; 该函数运行时其结果如下图所示:输入学生信息的个数可在主函数用修改相应数值。II、成绩统计模块成绩统计模块需要建立在成绩录入模块的基础之上,当系统中已经包含一些数据记录后才能对这些成绩求总分、平均分等操作。本模块包含对输入的数据计算总分和计算平均分,其中,cout()函数用于计算一个同学的总分和平均分,而getAverage()函数则求出整个班级所有的三门课程的平均成绩,其函数代码如下:void count(Stud

5、ent /求三门课程的总分s.average=s.total/3; /求三门课程的平均分double getAverage(Student S,int N) /求平均分函数 double Average=0; /变量定义并初始化for(int i=0;i=0?排序完成结果根据上述的算法流程图,则乘机排名模块的实现代码如下:void sort(Student S,int N) /插入法排序 (成绩排名) int index; /定义变量Student inserter; /创建对象for(int i=1;i=0 /元素后移index-; Sindex+1=inserter; /插入该元素 for

6、(int j=0;j头文件。开始i=0Strcmp(Si.number,n=0return ii+i #include using namespace std; const int Max=5; /字符串最大长度 class Student;/类声明 void setData(Student /设置对象 s 的数据 void count(Student /计算对象 s 的总分,平均分 void sort(Student S,int N);/把长度为 N 的对象数组 S,按平均分排序 double getAverage(Student S,int N);/计算全班的平均分 void print(

7、Student /打印信息 int search(Student S,int N,char *n);/从长度为 M 的对象数组中,查找学号 n 的位置 class Student public:char numberMax; /学号char nameMax; /姓名double chinese; /语文成绩double math; /数学成绩double english; /英语成绩double total; /总分double average; /平均分int rank; /只有比较才不为了 0 ; void setData(Student s.total=0;/初始化 s.average=

8、0; s.rank=0; void count(Student /求三门课程的总分s.average=s.total/3; /求三门课程的平均分void sort(Student S,int N) /插入法排序 (成绩排名) int index; /定义变量Student inserter; /创建对象for(int i=1;i=0 /元素后移index-; Sindex+1=inserter; /插入该元素 for(int j=0;jorder; switch(order) case 1: for(int j=0;jcompare) print(Sk); break; case 3: char codeMax; coutcode; int result=search(S,M,code); if(result=-1) cout“您输入的学号不存在!“endl; else print(Sresult); break; case 4:break; default:cout“输入的命令不存在!“endl; return 0;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报