实验报告实验.docx
- 文档编号:23449431
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:10
- 大小:17.57KB
实验报告实验.docx
《实验报告实验.docx》由会员分享,可在线阅读,更多相关《实验报告实验.docx(10页珍藏版)》请在冰豆网上搜索。
实验报告实验
课程名称
程序设计基础
实验项目名称
实验3学生管理系统
实验时数
7
实验类型
□操作性 □验证性 □设计性 □综合性
指导老师
卢敏
实验地点
(包括机号)
6号机房
实验日期
2015年12月7日
学生姓名
邓高峰
班 级
网络15
学 号
15
同组成员
无
教师评阅
(教师根据实际情况在两种成绩的评定方法中确定其一)
等级制成绩:
□优□良□中□及□不及格
百分制成绩:
(具体的教师批阅,教师可在符合的选项中勾选,同时根据具体情况补充其它评语,特别是必须指出实验过程存在的问题与不足之处。
)
□实验目的明确;□操作方法与步骤正确;
□设计文稿(表格、程序、数据库、网页)符合要求;□界面美观;□布局合理;
□程序结构合理;□算法正确;□语法、语义正确;□题解正确;
□实验结果正确;□保存路径正确;
□实验分析总结全面;□解析完整;□文字流畅;□实验报告规范;
其他:
评阅教师签名
实验报告内容
(不同类型的实验课对实验报告可有不同要求,各个课程的实验报告可以根据自己的学科特点做适当的调整,由任课教师确定填写的内容,学生进行勾选,具体内容用附页填写。
)
□实验目的和要求
□实验内容和原理
□主要仪器设备
□操作方法与实验步骤
□实验数据记录和处理
□实验结果与分析
□讨论、心得
丽水学院计算机实验报告
丽水学院计算机实验报告
一、实验目的
1.掌握数组的定义和初始化的方法;
2.掌握排序、统计分析等常用算法;
3.培养在程序中加注释的习惯;
4.进一步掌握循环嵌套的应用;
5.掌握C语言中定义函数的方法;
6.掌握函数传值调用的方法;
7.掌握数组作函数参数的使用方法;
8.掌握排序、查找、统计分析等常用算法。
二、实验环境
硬件:
Pentium以上的计算机。
软件:
WindowsXP操作系统、VisualC++和C-Free等集成环境。
三、实验内容和结果
1.学生管理系统。
程序1学生成绩统计。
从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:
(1)统计不及格人数并打印不及格学生名单;
(2)统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单;
(3)统计各分数段的学生人数及所占的百分比。
程序1源程序:
#include<>
#defineN30
intmain()
{
intnum[N],score[N],i,j=0,k,count=0,sum=0,t=0,stu[N]={0};
floatave=0;
for(i=0;i { printf("第%d个同学的成绩: ",i+1); scanf("%d%d",&num[i],&score[i]); sum=sum+score[i]; if(num[i]<0) break; } k=i; ave=sum/k; for(i=0;i { if(score[i]<60) { count++; printf("不及格学生学号: %d分数: %d\n",num[i],score[i]); } } printf("不及格人数为: %3d\n",count); for(i=0;i { if(score[i]>ave) { t++; printf("高于平均分学生学号%d分数%d\n",num[i],score[i]); } } printf("高于平均分人数: %d\n",t); for(i=0;i { if(score[i]<60) { j=0; } else { j=((int)score[i]-50)/10; } stu[j]++; } for(j=0;j<1;j++) printf("0到59分数段人数比例: %.2f\n",(float)stu[j]/k); for(j=1;j<5;j++) printf("%d到%d分数段人数比例: %.2f\n",50+10*j,59+10*j,(float)stu[j]/k); for(j=5;j<6;j++) printf("100分人数比例: %.2f\n",(float)stu[j]/k); return0; } 程序1运行结果: 思考题: 在编程实现对数据的统计任务时,需要注意什么问题? 注意输入输出格式,以及对班级人数的统计。 程序2成绩排名次。 某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过30人参加考试。 考试后要求: (1)计算每个学生的总分和平均分; (2)按总分成绩由高到低排出成绩的名次; (3)打印出名次表,表格内包括学生编号、各科分数、总分和平均分; (4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。 程序2源程序: #include<> #defineM3 #defineN30 voidInput(longnum[],intscore[][M],intn); voidGetSumAver(intscore[][M],intn,intsum[],floataver[]); voidSort(longnum[],intscore[][M],intn,intsum[],floataver[]); voidPrint(longnum[],intscore[][M],intn,intsum[],floataver[]); intSearch(longnum[],intn,longx); intmain() { intn,i,j,k,r,score[N][M],sum[N]; longnum[N],x; floataver[N]; printf("期末考试的学生人数(不超过30人): "); scanf("%d",&n); Input(num,score,n); GetSumAver(score,n,sum,aver); Sort(num,score,n,sum,aver); Print(num,score,n,sum,aver); printf("查询的考生的学号: "); scanf("%d",&x); i=Search(num,n,x); if(i! =-1) printf("学号: %d\n排名: 第%d\n数学: %d分\n英语: %d分\n物理: %d分\n",num[i],i+1,score[i][0],score[i][1],score[i][2]); else printf("此人未参加此次考试! \n"); } voidInput(longnum[],intscore[][M],intn) { inti,j; for(i=0;i { printf("请输入第%d个学生的学号及数学、英语和物理考试的成绩: \n",i+1); scanf("%ld",&num[i]); for(j=0;j scanf("%d",&score[i][j]); } } voidGetSumAver(intscore[][M],intn,intsum[],floataver[]) { inti,j; for(i=0;i { sum[i]=0; for(j=0;j sum[i]=sum[i]+score[i][j]; aver[i]=(float)sum[i]/M; } } voidSort(longnum[],intscore[][M],intn,intsum[],floataver[]) { intt,t1,i,j,k,m; longt2; floatt3; for(i=0;i { k=i; for(j=i+1;j { if(sum[j]>sum[i]) { k=j; for(m=0;m { t=score[k][m]; score[k][m]=score[i][m]; score[i][m]=t; } t1=sum[k];sum[k]=sum[i];sum[i]=t1; t2=num[k];num[k]=num[i];num[i]=t2; t3=aver[k];aver[k]=aver[i];aver[i]=t3; } } } } voidPrint(longnum[],intscore[][M],intn,intsum[],floataver[]) { inti,j; printf("\n----------------------------------------------------------------------\n"); printf("学生期末考试三门科目成绩汇总(按总分排名)\n"); printf("┏━━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━┓\n"); printf("┃学号┃数学┃英语┃物理┃总分┃平均分┃名次┃\n"); printf("┣━━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━┫\n"); for(i=0;i { printf("┃%6d┃",num[i]); for(j=0;j { printf("%3d┃",score[i][j]); } if(aver[i]== printf("%3d┃100┃1┃\n",sum[i]); else printf("%3d┃%┃%d┃\n",sum[i],aver[i],i+1); if(i printf("┣━━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━┫\n"); } printf("┗━━━━━┻━━━━┻━━━━┻━━━━┻━━━━┻━━━━┻━━━┛\n"); printf("\n----------------------------------------------------------------------\n"); } //在学号数组中顺序查找学生的学号 intSearch(longnum[],intn,longx) { inti; for(i=0;i if(num[i]==x) return(i); return(-1); } } 程序2运行结果: 思考题: (1)如果增加一个要求: 要求按照学生的学号由小到大对学号、成绩等信息进行排序,那么程序如何修改呢? …… (2)如果要求程序运行后先打印出一个菜单,提示用户选择: 成绩录入、成绩排序、成绩查找,在选择某项功能后执行相应的操作,那么程序如何修改呢? …… 四、实验心得 函数模功能将程序开发模块化,减少了代码的长度,有利于从事代码开发工作的人,以后尽量使用函数写代码。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)