网站大量收购闲置独家精品文档,联系QQ:2885784924

软件工程课程设计之学生成绩管理系统.docx

软件工程课程设计之学生成绩管理系统.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)=*

文档评论(0)

企业管理 + 关注
实名认证
服务提供商

计算机三级持证人

从事多年企业管理、在团队建设、员工培训、营销提升、组织架构有多自己的经验,希望在这个平台分享及帮助更多的公司或企业!

领域认证该用户于2023年05月09日上传了计算机三级

1亿VIP精品文档

相关文档