- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程课程设计之——学生成绩管理系统
1.题目与要求
1.1问题提出
设计学生成绩管理系统,有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统
1.2本系统涉及的知识点
?结构体数组、结构体指针、数组、循环、函数、分支、指针
1.3 功能要求
?1、成绩录入:输入学生的学号、姓名及三门课的成绩;
?2、成绩查询:(至少一种查询方式)。按学号查询学生记录,或查询不及格学生的记录;
?3、成绩统计:计算学生的平均分;根据学生的平均分高低,对学生的数据进行排序后输出;对学生单科成绩排序,输出学生姓名与该科成绩;
?4、退出系统:退出整个系统(即主菜单);
1.4 根据所选菜单编写相应代码:
?1)输入学生的信息,利用循环赋值的方式,给结构体数组赋值。
2)输出平均分函数ave:首先定义double型数组,利用循环赋值的方式,计算出三门课的成绩的平均值放入数组中,利用循环的方式,输出相关值及平均值。
?3)按学号查询成绩函数search:首先输入要查询的学号,与结构体中的学号进行比较,如果相等输出这个学生的信息,另外输出没有查到相关结果。
?4)按平均分排序后输出函数average:首先另外一个定义结构体数组、结构体指针变量,计算三门课程的平均值存到结构体成员aver中,利用循环的方式,进行平均分排序,输出相应的学生信息。
5)对学生单科成绩排序后输出函数grade:首先另外一个定义结构体数组、结构体指针变量,通过选择k的值来选择按分数几排序,利用循环的方式,进行单科成绩排序(从大到小),输出学生姓名及该课的成绩。
?6)退出程序。
2、附录:程序清单
#include stdio.h
#includestdlib.h
typedef struct student
{
int num;
char name[13];
int score[3];
double aver;
}STU;
void ave(STU s[],int n)
{ double a[1000];
int i;
for(i=0;in;i++)
a[i]=(s[i].score[0]+s[i].score[1]+s[i].score[2])/3.0;
printf(学号\t姓名\t\t分数1\t分数2\t分数3\t平均分\n);
for(i=0;in;i++)
printf(%d\t%s\t\t%d\t%d\t%d\t%.1f\n,s[i].num,s[i].name,s[i].score[0],s[i].score[1],s[i].score[2],a[i]);
}
void search(STU s[],int n, int a)
{
int i,k=0;
for(i=0;in;i++)
{
if(s[i].num==a)
{ printf(学号\t姓名\t分数1\t分数2\t分数3\t\n);
printf(%d\t%s\t%d\t%d\t%d\n,s[i].num,s[i].name,s[i].score[0],s[i].score[1],s[i].score[2]);
k=k+1;
break;
}
}
if(k==0)
printf(\t没有查询到相关信息);
}
void average(STU s[],int n)
{ int i,j;
STU ss[10000];
STU *p=ss;
for(i=0;in;i++)
s[i].aver=(s[i].score[0]+s[i].score[1]+s[i].score[2])/3.0;
for(i=0;in;i++)
ss[i]=s[i];
for(i=0;in-1;i++)
{
for(j=i+1;jn;j++)
{
if(ss[i].averss[j].aver)
{
STU temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
}
printf(学号\t姓名\t平均分\n);
for(i=0;in;i++)
printf(%d\t%s\t%.1f\n,(p+i)-num,(p+i)-name,(p+i)-aver);
}
void grade(STU s[],int n)
{int i,j,k;
STU ss[10000];
STU *p=ss;
for(i=0;in;i++)
ss[i]=s[i];
printf(请输入k的值查询,k=0时按分数1,k=1时按分数2,k=2时按分数3:);
scanf(%d,k);
for(i=0;in-1;i++)
{
for(j=i+1;jn;j++)
{
if(ss[i].score[k]ss[j].score[k])
{
STU temp=*(p+i);
*(p+i)=*
您可能关注的文档
- 科学第二单元思维导图.docx
- 渴望读书的大眼睛阅读题答案.docx
- 论语中的责任意识.docx
- 妈妈炒菜的作文400字.docx
- 面试问题请谈谈你的优点.docx
- 七年级上册美术书法的点画之美教案.docx
- 七年级写我喜欢打羽毛球的英语作文.docx
- 青山处处埋忠骨何须马革裹尸还.docx
- 屈原列传复习优秀实用.docx
- 趣味化学竞赛判断题.docx
- 讲稿:深入理解“五个注重”把握进一步深化改革统筹部署以钉钉子精神抓好落实.pdf
- 副市长在2025年全市医疗工作会议上的讲话.docx
- 2025年市县处级以上党委(党组)理论学习中心组专题学习计划.docx
- 市民族宗教事务局党组书记、局长2024年度民主生活会个人对照检视发言材料.docx
- 烟草局党组书记2024年度抓基层党建工作述职报告.docx
- (汇编)学习2025年全国教育工作会议精神心得体会发言心得感悟.pdf
- 汇编学习领会在二十届中纪委四次全会上的重要讲话精神心得体会.pdf
- 在2025年镇安全生产、消防安全和生态环境保护第一次全体会议上的讲话提纲.docx
- 书记干部座谈会上的讲话+纪委全会上的讲话.pdf
- 党课:从毛泽东诗词中感悟共产党人初心使命.docx
最近下载
- 吸气同步筛孔雾化相结合的高流量氧疗设备.pdf VIP
- 原子能院学位论文格式模板(18页).doc
- 2025年征兵的心理测试题库及答案 .pdf VIP
- 基于人工智能的交互式护理床设计.pdf VIP
- 重庆市第一中学校2024-2025学年高三上学期12月月考英语试题(含答案).docx VIP
- 2024年华医网继续教育基于人文护理理念下的压疮护理答案.docx VIP
- 5.5 有趣的算式(课件)2024-2025学年度北师大版数学一年级下册.pptx VIP
- Newzoo:2024年全球游戏市场报告(英文版).pdf VIP
- 脑血管造影术患者的护理查房课件.pptx VIP
- 肺部感染护理查房.pptx
计算机三级持证人
从事多年企业管理、在团队建设、员工培训、营销提升、组织架构有多自己的经验,希望在这个平台分享及帮助更多的公司或企业!
文档评论(0)