- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《C语言程序设计》课程设计报告
学生成绩管理系统
学生姓名:
学 号:
班 级:
指导教师:
日 期:2011年12月18日
设计目标
设计一个简单的学生成绩管理系统,系统要解决成绩录入、计算学分和平均分成绩排名和成绩查询等几个方面。
主要功能分为四部分:
提供成绩录入界面。
统计每个学生的总分和平均分。
按总分由大刀小排出名次。
提供成绩查询功能,即任意输入一个学号,能够查询出该学生在班级中的排名及其考试成绩。
总体设计
根据需求分析的结果,本系统至少要分为以下几个模块:main函数、成绩录入模块、成绩统计模块、成绩排名模块和成绩查询模块。其中各模块的功能说明如下:
Main函数模块的主要功能为提供程序入口、前期环境设置、调用主要的执行函数和程序结束前的数据处理。
成绩录入模块的主要功能为提供简单的成绩录入界面,将输入的成绩存储在对应的数据结构中。
成绩统计模块的主要功能为统计每个学生的总分和平均分并输出。
成绩排名模块的主要功能为按总分由大到小排出名次并输出。
成绩查询模块的主要功能为根据用户输入一个学号,能够查找该学生在班级中的排名及其考试成绩。
根据上述描述,给出该系统的总体设计图,如下图所示:
详细设计
由于该系统涉及多个学生的成绩存储,因此,定义一个数据结构,用于存储这些信息。现仅对学生语文成绩、数学成绩、英语成绩进行统计管理。
建立以下数据结构:
class Student
{
public:
char number[Max]; //存储学生学号
char name[Max]; //存储学生姓名
double chinese; //存储语文成绩
double math; //存储数学成绩
double english; //存储英语成绩
double total; //总成绩
double average; //平均成绩
int rank; //排名
};
I、成绩录入模块
成绩录入就是对前面定义的类Student中的成员进行赋值。其中,用户需要输入的是学生的学号、姓名两个基本信息和语文、数学和英语三门成绩,其余总成绩、平均成绩和排名由后续的计算函数来实现。实现成绩录入模块的函数代码如下:
void setData(Student s) //成绩录入模块
{
cout输入学号,姓名,语文,数学,英语成绩:; //录入数据
cins.numbers.names.chineses.maths.english;
s.total=0; //初始化
s.average=0;
s.rank=0;
}
该函数运行时其结果如下图所示:
输入学生信息的个数可在主函数用修改相应数值。
II、成绩统计模块
成绩统计模块需要建立在成绩录入模块的基础之上,当系统中已经包含一些数据记录后才能对这些成绩求总分、平均分等操作。本模块包含对输入的数据计算总分和计算平均分,其中,cout()函数用于计算一个同学的总分和平均分,而getAverage()函数则求出整个班级所有的三门课程的平均成绩,其函数代码如下:
void count(Student s) //成绩统计
{
s.total=s.chinese+s.math+s.english; //求三门课程的总分
s.average=s.total/3; //求三门课程的平均分
}
double getAverage(Student S[],int N) //求平均分函数
{
double Average=0; //变量定义并初始化
for(int i=0;iN;i++) //循环
Average+=(S[i].chinese+S[i].math+S[i].english);
//求所有学生的所有成绩和
Average/=(N*3);
您可能关注的文档
最近下载
- 高中数学《集合的概念及其基本运算》导学教案.doc VIP
- 人教版八年级下英语单词默写表格(整理打印).pdf VIP
- 九年级下册数学《二次函数》二次函数的性质.doc VIP
- 第一批产学合作协同育人项目简介.doc VIP
- 女性生育力保存PPT课件.pptx VIP
- STEAM跨学科课程整合的理念、模式构建与实施挑战研究.docx VIP
- 产学合作协同育人创新创业教育改革项目申报书模板(包含内容).docx VIP
- 110千伏输电线路工程专业监理实施细则.doc VIP
- 智慧乡村、智慧农业产供销一体化、可追溯平台建设方案.pdf VIP
- 产学合作协同育人教学内容和课程体系改革项目申报书模板—基于计算思维的大学计算机课程思政案例构建与实践(包含申报书内容、合作方案、合作协议).docx
文档评论(0)