实验报告实验.docx

上传人:b****4 文档编号:6617288 上传时间:2023-05-10 格式:DOCX 页数:10 大小:17.88KB
下载 相关 举报
实验报告实验.docx_第1页
第1页 / 共10页
实验报告实验.docx_第2页
第2页 / 共10页
实验报告实验.docx_第3页
第3页 / 共10页
实验报告实验.docx_第4页
第4页 / 共10页
实验报告实验.docx_第5页
第5页 / 共10页
实验报告实验.docx_第6页
第6页 / 共10页
实验报告实验.docx_第7页
第7页 / 共10页
实验报告实验.docx_第8页
第8页 / 共10页
实验报告实验.docx_第9页
第9页 / 共10页
实验报告实验.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验报告实验.docx

《实验报告实验.docx》由会员分享,可在线阅读,更多相关《实验报告实验.docx(10页珍藏版)》请在冰点文库上搜索。

实验报告实验.docx

实验报告实验

课程名称

程序设计基础

实验项目名称

 实验3学生管理系统V1.0

实验时数

7

实验类型

□操作性 □验证性 □设计性 □综合性

指导老师

 卢敏

实验地点

(包括机号)

 6号机房

实验日期

2015年12月7日

学生姓名

 邓高峰

班 级

 网络15

学 号

 15

同组成员

教师评阅

(教师根据实际情况在两种成绩的评定方法中确定其一)

等级制成绩:

□优□良□中□及□不及格

百分制成绩:

 

(具体的教师批阅,教师可在符合的选项中勾选,同时根据具体情况补充其它评语,特别是必须指出实验过程存在的问题与不足之处。

□实验目的明确;□操作方法与步骤正确;

□设计文稿(表格、程序、数据库、网页)符合要求;□界面美观;□布局合理;

□程序结构合理;□算法正确;□语法、语义正确;□题解正确;

□实验结果正确;□保存路径正确;

□实验分析总结全面;□解析完整;□文字流畅;□实验报告规范;

其他:

评阅教师签名

实验报告内容

(不同类型的实验课对实验报告可有不同要求,各个课程的实验报告可以根据自己的学科特点做适当的调整,由任课教师确定填写的内容,学生进行勾选,具体内容用附页填写。

□实验目的和要求

□实验内容和原理

□主要仪器设备

□操作方法与实验步骤

□实验数据记录和处理

□实验结果与分析

□讨论、心得

丽水学院计算机实验报告

丽水学院计算机实验报告

一、实验目的

1.掌握数组的定义和初始化的方法;

2.掌握排序、统计分析等常用算法;

3.培养在程序中加注释的习惯;

4.进一步掌握循环嵌套的应用;

5.掌握C语言中定义函数的方法;

6.掌握函数传值调用的方法;

7.掌握数组作函数参数的使用方法;

8.掌握排序、查找、统计分析等常用算法。

二、实验环境

硬件:

Pentium以上的计算机。

软件:

WindowsXP操作系统、VisualC++6.0和C-Free等集成环境。

三、实验内容和结果

1.学生管理系统V1.0。

程序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]==100.0)

printf("%3d┃100┃1┃\n",sum[i]);

else

printf("%3d┃%4.1f┃%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)如果要求程序运行后先打印出一个菜单,提示用户选择:

成绩录入、成绩排序、成绩查找,在选择某项功能后执行相应的操作,那么程序如何修改呢?

……

四、实验心得

函数模功能将程序开发模块化,减少了代码的长度,有利于从事代码开发工作的人,以后尽量使用函数写代码。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2