下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.学生姓名 :学号:专业班级:实验类型 : 验证 综合 设计 创新实验日期 :实验项目 : 学生成绩管理系统一、实验目的和要求目的:1.掌握三种程序基本结构 ;2.熟练使用数组 、用户自定义函数等相关知识进行程序设计;3.熟悉结构化程序设计语言思想编写程序代码;4.理解和掌握 C 语言的语法以及三种基本程序结构的综合应用;5.熟悉排序 、查找、统计分析等常用算法6.熟悉 C 语言的编程和调试环境 ,培养学生用计算机解决实际问题的能力要求:根据实验内容,认真编写源程序代码、上机调试程序,书写实验报告。二、实验内容综合利用所学 C 语言三种程序基本结构以及数组(或指针)、用户自定义函数等相关知识进
2、行一个小型学生成绩管理系统的设计与实现,具体内容如下 :某班有最多不超过30 人(具体人数由键盘输入 )参加某门课程的考试 ,实现如下的学生成绩管理系统:( 1)录入每个学生的学号和考试成绩( 2)计算课程的总分和平均分( 3)按成绩由高到低排出名次表.专业资料 .( 4)按学号由小到大排出成绩表( 5)按学号查询学生考试成绩( 6)按优秀(90-100 分)、良好(80-89 分)、中等(70-79 分)、及格( 60-69 分)、不及格(0-59 分)5 个类别,统计每个类别的人数及其所占百分比( 7)输出每个学生的学号 、考试成绩三、实验步骤1仔细阅读实验要求和书上的相关内容,在磁盘上新
3、建以学号姓名命名的文件夹。2编写程序代码 、编译、连接及运行程序 、查找程序中的错误3.函数及功能说明四、完整源程序代码五、结果分析及总结分析运行结果 ,并进行总结 (可以从以下几个方面来总结:你在编程过程中对问题是如何分析的 ?遇到了哪些难题 ?你是怎么克服的 ?你的收获有哪些 ?)调试代码 :#include <stdio.h>#include <stdio.h>#include <stdlib.h>#define STU_NUM 30/* 最多的学生人数 */.专业资料 .int Menu(void);void Readscore (long num,
4、float score,int n);void Aversumofscore(float score,int n);void Desortbyscore(long num,float score,int n);void Assortbynum(long num,float score,int n);void searchbynum(long num,float score,int n);void statisticanalysis(float score,int n);void printscore(long num,float score,int n);int main() char ite
5、mselected; int n;float scoreSTU_NUM; long numSTU_NUM;printf(" 输入学生人数 (n<%d)",STU_NUM); scanf("%d",&n);.专业资料 .while (1)itemselected=Menu();/* 显示菜单 ,并读取用户输入 */switch (itemselected)case 1: Readscore (num,score, n);break;case 2:Aversumofscore( score, n);break;case 3:Desortbysc
6、ore( num,score,n);printf("n sort in descending order by score:n");printscore( num,score,n);break;case 4:Assortbynum(num,score,n);printf("n sort in ascending order by score:n");printscore( num,score,n);break;.专业资料 .case 5:searchbynum(num,score, n);break;case 6:statisticanalysis( s
7、core, n);break;case 7:printscore( num,score,n);break;case 0:exit(0);/*printf("end of program!");break;*/default :printf("input error !");break;return 0;.专业资料 ./* 函数功能 :显示菜单项并获得用户键盘输入的选项*/int Menu(void) int itemselected;printf("n学生成绩管理系统:管理学生成绩 n");printf("n 1.录入每个学
8、生学号和考试成绩n");printf("n 2.计算班级总分和平均分n");printf("n 3.按成绩由高到低排出名次表n");printf("n 4.按学号由小到大排出成绩表n");printf("n 5.按学号查询学生排名和考试成绩n");printf("n 6.按优秀 ( 90-100分)、良好( 80-89分)、 中等( 70-79分)、及格(60-69 分)、不及格( 0-59 分) 5 个类别 n统计每个类别的人数及其所占百分比n");printf("n 7.
9、输出每个学生的学号、考试成绩 n");printf("n 0.程序结束 n");printf("n输入你的选择 n");scanf ("%d",&itemselected);.专业资料 .return itemselected;/* 函数功能 :输入 n 个学生的某门课成绩*/void Readscore (long num,float score,int n)int i;printf("请输入学号和分数( 学号和分数用空格隔开,回车输入下一个 ) :n");for(i=0;i<n;i+)s
10、canf("%ld%f",&numi,&scorei);/* 函数功能 :计算全班总分和平均分*/void Aversumofscore(float score,int n)float d,c;int j;.专业资料 .c=0;for(j=0;j<n;j+)c=c+scorej;d=c/n;printf("总分 =%f, 平均分 =%fn",c,d);/* 函数功能 :将数组 score 的元素值按从高到低排序,即按成绩从大到小排序*/void Desortbyscore(long num,float score,int n)flo
11、at t;long a;int j,i;for(i=0;i<=n-1;i+).专业资料 .for(j=i+1;j<n;j+)if(scorei<scorej)t=scorei;scorei=scorej;scorej=t;a=numi;numi=numj;numj=a;/* 函数功能 :将数组 num 的元素值按从低到到排序,即按学号从小到大排序*/void Assortbynum(long num,float score,int n)float a;long t;int j,i;for(i=0;i<=n-1;i+)for(j=i+1;j<n;j+)if(numi
12、>numj)t=numi;numi=numj;numj=t;.专业资料 .a=scorei;scorei=scorej;scorej=a;/* 函数功能 :按学号查找学生成绩并显示查找结果*/void searchbynum(long num,float score,int n)int i;long b;printf("请输入学号查找学生成绩n");scanf("%ld",&b);for(i=0;i<n;i+)if(numi=b)printf("%f",scorei);/* 函数功能 :统计各分数段的学生人数及所占
13、百分比*/void statisticanalysis(float score,int n).专业资料 .int i;float t5=0,0,0,0,0;float a;for(i=0;i<n;i+)if(scorei>=0&&scorei<60)t0+;else if(scorei<70&&scorei>=60)t1+;else if(scorei<80&&scorei>=70)t2+;else if(scorei<90&&scorei>=80)t3+;else if(sc
14、orei<=100&&scorei>=90)t4+;for(i=0;i<=5;i+)if(i=0)printf("小于 60 分共 %f 人,占 %f%n",ti,a=ti/n*100);.专业资料 .else if(i=1)printf("大于等于 60 分小于 70 分共 %f 人,占%f%n",ti,a=ti/n*100); else if(i=2)printf("大于等于 70 分小于 80 分共 %f 人,占%f%n",ti,a=ti/n*100); else if(i=3)printf("大于等于 80 分小于 90 分共 %f 人,占%f%n",ti,a=ti/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二胡考级艺术表现力评估规范试题
- 2026年绘画基础技能水平考核试题
- 小学生心理健康教育课程设置与实施考点考试及答案
- 全国高职院校专业技能考核试题冲刺卷
- 第三单元 阅读综合实践(教学设计)
- 2025年保险精算师考试模拟题集锦试题冲刺卷
- 2026年校本研修能力评估规范试题
- 非计划性拔管2026年考核题库及答案
- 2025年环境监测与资源保护应用与管理专业技能考试试题及答案
- 湖北2025林木种苗工技能鉴定考试经典试题含答案
- 水利系统各单位年后复工复产安全工作部署
- GB/T 47060-2026特种信封国际邮政公事信封
- 纪委监委安全办案课件
- 广东省广州市增城中学2024-2025学年九年级上学期期末物理试卷(含答案)
- 2025年数字化货运管理平台项目可行性研究报告
- 印刷线路板 项目可行性分析报告范文(总投资5000万元)
- 2025年(完整版)资料员考试题库及答案
- DB1501-T 0003-2021 居家养老服务中心(站)等级评定规范
- TCNAS 51-2025成人患者医用粘胶相关性皮肤损伤的预防及护理
- 天然气管道施工工序安排方案
- 《家校社协同育人“教联体”工作方案》专题
评论
0/150
提交评论