版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江苏开放大学
形成性考核作业
学__一
姓__—
课程代码:_---------
课程名称:______程隹逡±L基碘
评阅教师:------------------------
第2次任务
共3次任务
050308程序设计基础第四单元形成性考核作业
作业说明:
1.做作业之前首先在封面填上自己的学号和姓名,做完作业后请写上作业完成时间。
2.学习完第四单元后必须完成本次作业,并请在规定时间内通过学习平台提交Word文档形
式的电子作业,本次作业占形成性考核总成绩的20%o
作业内容:
根据“学生成绩的统计”程序,编写一个“歌唱比赛评分系统”的程序,要求运用数组和前面
所学循环结构、输入输出、选择结构,能够进行多名歌手简单信息的录入,比赛分数的录入,
去掉一个最高分,去掉一个最低分,剩余取平均分作为选手成绩,能够根据选手姓名或者编号
查询输出选手成绩。
作业要求:
(1)程序的主要设计思路,以文字或图表的形式描述比如歌手信息包括哪些,比赛分数如
何存储等程序设计细节;
(2)程序的源代码以及对源代码必要的行注释;
(3)请把程序运行结果截图贴在本次作业中;
(4)以上内容请在本文档中完成,并将本文档提交至学习平台,作为本课程第二次作业。
作业回答区:
#include<stdio.h>
#include<windows.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>
#include<string.h>
ttdefinesize5〃评委人数
#definemaxstu10〃选手人数
structstudent〃信息结构体
(
intbanji;〃编号
charname[20];〃名字
intscore[size];〃评委评分
floatmax;〃最大值
floatmin;〃最小值
floatsum;〃总分
floataverage;〃平均值
};
intcount=0;〃选手人数
structstudentstu[size];〃定义全局变量
voidfunl0〃选手信息录入
第1页
050308程序设计基础第四单元形成性考核作业
inti,j;〃i代表选手,j代表评委
intsm;〃定义需要录入几位选手
floatmaxi,mini;〃最大值,最小值
printf(〃请输入10位以内选手人数:〃);
scanf_s&sm);
for(i=0;i<sm;i++)
(
printf(〃请输入%d选手信息\n〃,i+1);
printf(〃请输入编号:〃);
scanf_s(〃%d〃,&stu[i].banji);
getchar();
printf(〃请输入姓名:");
gets_s(stu[i].name);
for(j=0;j<size;j++)
(
printf(〃请输入%d评委打分:〃,j+1);
scanf_s(〃%d〃,&stu[i].score[j]);
)
count++;
)
〃最高分,最低分,总分,平均值
for(i=0;i<count;i++)
(
maxi=stu[i].score[0];
for(j=0;j<size;j++)
(
if(maxi<stu[i].score[j])
maxi=stu[i].score[j];
)
stu[i].max=maxi;
)
for(i=0;i<count;i++)
(
mini=stu[i].score[0];
for(j=0;j<size;j++)
(
if(mini>stu[i].score[j])
mini=stu[i].score[j];
)
stu[i].min=mini;
)
for(i=0;i<count;i++)
第2页
050308程序设计基础第四单元形成性考核作业
stu[i].sum=stu[i].score[0];
for(j=1;j<size;j++)
(
stu[i].sum=stu[i].sum+stu[i],score[j];
}
stu[i].average=(stu[i].sum-stu[i].max-stu[i].min)/3;
}
}
voidfun2()〃按姓名查找
{
inti;〃定义循环
charx[20];〃定义查找姓名
printf(“请输入要查找选手的名字:”);
scanf_s("%s”,x);
getchar();
for(i=0;i<count;i++)
(
if(strcmp(stu[i].name,x)!=0)〃判断是否相等
(
continue;
printf(“没有找到学号为%s的选手信息\n”,x);
}
else
(
printf("要查找的选手的信息为:\n编号:%d姓名:%s分数:%d%d%d%d%d最高分:%f
最低分:%f总分:%f平均值:%f",
stu[i].banji,stu[i].name,stu[i],score[0],stu[i].score[1],stu[i].score[2],
stu[i],score[3],stu[i],score[4],stu[i].max,stu[i].min,stu[i].sum,stu[i].average);
)
}
getchar();
}
voidfun3()〃插入歌手信息
(
intweizhi,i,j;
floatmax2,min2;
structstudentx;〃定义局部变量
if(count==maxstu)
(
printf("位置已满,无法插入\n");
}
else
printf(”请输入要插入的位置:");
第3页
050308程序设计基础第四单元形成性考核作业
scanf_s(〃%d〃,&weizhi);
if(weizhi>count+1||weizhi<1)
(
printf(〃位置错误\n〃);
)
else
(
getchar();
printf(〃请输入编号:〃);
scanf_s&x.banji);
getchar();
printf(〃请输入姓名:〃);
gets_s(x.name);
for(j=0;j<size;j++)
(
printf(〃请输入评委打分:〃);
scanf_s&x.score[j]);
}
getchar();
for(i=0;i<count;i++)
(
max2=x.score[0];
for(j=0;j<size;j++)
(
if(max2<x.score[j])
max2=x.score[j];
}
x.max=max2;
}
for(i=0;i<count;i++)
(
min2=x.score[0];
for(j=0;j<size;j++)
(
if(min2>x.score[j])
min2=x.score[j];
}
x.min=min2;
}
for(i=0;i<count;i++)
{
x.sum=x.score[0];
for(j=1;j<size;j++)
第4页
050308程序设计基础第四单元形成性考核作业
X.sum=x.sum+x.score[j];
}
x.average=(x.sum-x.max-x.min)/3;
)
for(i=count-1;i>=weizhi-1;i一)
(
stu[i+1]=stu[i];
)
stu[weizhi-1]=x;
count++;
)
)
}
voidfun4()〃删除歌手信息
(
inti,j;
chara[20];
printf("请输入要删除选手的名字:");
scanf_sa);
getchar();
for(i=0;i<count;i++)
{
if(strcmp(stu[i].name,a)!=0)
(
continue;
printf(“没有找到学号为%s的选手信息\n”,a);
}
else
(
printf(〃要删除的选手的信息为:\n编号:%d姓名:%s分数:%d%d%d%d%d最高分:%f
最低分:%f总分:%f平均值:%f〃,
stu[i].banji,stu[i].name,stu[i].score[0],stu[i].scorefl],stu[i].score[2],
stu[i].score[3],stu[i].score[4],stu[i].max,stu[i].min,stu[i].sum,stu[i].average);
)
getchar();
for(j=i+1;j<=count;j++)
(
Stu[j-1]=stu[j];
)
count一;
)
)
voidfun50〃修改歌手信息
第5页
050308程序设计基础第四单元形成性考核作业
inti,j;
floatmax2,min2;
charm[20];
printf(〃请输入要修改选手的名字:〃);
scanf_s(〃%s〃,m);
getchar();
for(i=0;i<count;i++)
(
if(strcmp(stu[i].name,m)!=0)
(
continue;
printf(〃没有找到学号为%s的选手信息\n〃,m);
)
else
(
printf(〃当前选手的信息为:\n编号:%d姓名:%s分数:%d%d%d%d%d最高分:%f最
低分:%f总分:%f平均值:%f\n〃,
stu[i].banji,stu[i].name,stu[i].score[0],stu[i].scored],stu[i].score[2],
stu[i].score[3],stu[i].score[4],stu[i].max,stu[i].min,stu[i].sum,stu[i].average);
printf(〃请输入要修改的编号:〃);
scanf_s(〃%d〃,&stu[i].banji);
getchar();
printf(〃请输入要修改的姓名:〃);
gets_s(stu[i].name);
for(j=0;j<size;j++)
{
printf(〃请输入%d评委打分:〃,j+1);
scanf_s(级d〃,&stu[i].score[j]);
getchar();
〃最高分,最低分,总分
for(i=0;i<count;i++)
(
max2=stu[i].score[0];
for(j=0;j<size;j++)
(
if(max2<stu[i].score[j])
max2=stu[i].score[j];
)
stu[i].max=max2;
)
for(i=0;i<count;i++)
第6页
050308程序设计基础第四单元形成性考核作业
min2=stu[i].score[0];
for(j=0;j<size;j++)
(
if(min2>stu[i].score[j])
min2=stu[i].score[j];
)
stu[i].min=min2;
)
for(i=0;i<count;i++)
(
stu[i].sum=stu[i].score[0];
for(j=1;j<size;j++)
(
stu[i].sum=stu[i].sum+stu[i].scorefj];
)
stu[i].average=(stu[i].sum-stu[i].max-stu[i].min)/3;
)
}
voidfun6()〃显示选手信息
(
inti;
getchar();
for(i=0;i<count;i++)
(
printf(〃\n%d选手的信息为:\n编号:%d姓名:%s分数:%d%d%d%d%d最高分:%f最低
分;%f总分:%f平均值:%f〃,i+1,
stu[i].banji,stu[i].name,stu[i].score[0],stu[i].score[l],stu[i].score[2],
stu[i].score[3],stu[i].score[4],stu[i].max,stu[i].min,stu[i].sum,stu[i].average);
)
getchar();
)
voidfun7()〃按平均分排序
(
inti,j;
structstudenttemp;
for(i=0;i<count;i++)
(
for(j=i+1;j<count;j++)
(
if(stu[i].average>stu[j].average)
(
temp=stu[i];
stu[i]=stu[j];
第7页
050308程序设计基础第四单元形成性考核作业
stu[j]=temp;
getchar();
for(i=0;i<count;i++)
(
printf(〃\n%d平均分按小到大排序为:\n编号:%d姓名:%s分数:%d%d%d%d%d最高分:%f
最低分:%f总分:%f平均值:%f〃,i+1,
stu[i].banji,stu[i].name,stu[i].score[0],stu[i].scorefl],stu[i].score[2],
stu[i].score[3],stu[i].score[4],stu[i].max,stu[i].min,stu[i].sum,stu[i].average);
)
getchar();
)
voidSetColor(unsignedshortForeColor,unsignedshortBackGroundColor)
(
HANDLEhCon=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hCon,(ForeColor%16)|(BackGroundCo1or%16*16));
)
voidmain()
intn,i;
for(i=1;i<=50;i++)
SetColor(0,14);
printf(〃〃);
printf2*i);
Sleep(101-2*i);
printf(〃\b\b\b〃);
SetColor(15,0);
printf(〃\b\n加载完成!即将进入:〃);
Sleep(2000);
system(〃cls〃);
do
system(〃cls〃);
printf(〃\n\t\t\t******歌手评分系统******\n");
printf(/z\n\t\t\tl:录入选手信息\n〃);
printf(z/\n\t\t\t2:按姓名查找\n〃);
printf(z,\n\t\t\t3:插入歌手信息\n〃);
printf(z/\n\t\t\t4:删除歌手信息\n〃);
printf(〃\n\t\t\t5:修改歌手信息\n〃);
printf(z,\n\t\t\t6:显示歌手信息\n〃);
第8页
050308程序设计基础第四单元形成性考核作业
printfC\n\t\t\t7:按平均分排序\n〃);
printf(z/\n\t\t\t0:退出\n〃);
printf('\n\t\t\t请选择(0-7):\n〃);
scanf_s(〃%d〃,&n);
switch(n)
case1:funl();break;
case2:fun2();break;
case3:fun3();break;
case4:fun4();break;
case5:fun5();break;
case6:fun6();break;
case7:fun7();break;
1
J
}while(n!=0);
国C:\Users\yurongguo\Deslctop\Prqject3\Debug\Prqject3.exe一□X
******歌手评分系统******
1:录入选手信息
2:按姓名查找
3:插入歌手信息
4:删除歌手信息
5:修改歌手信息
6:显小歌手信息
7:按平均分排序
0:退出
请选择(0-7):
□
><
退
1
数
清
入
加
手
1W人
选
入
1手
清
锦
入
壬
痕
富
入
龙6
评:
委
入1
富8
评
入2
委9
清
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机器人(一级)模拟考试测试预习题
- 2025届高考化学基础知识复习大单元整合 提能力验考情2
- 2024年上海市消防操作员《中级技能-监控方向》科目真题冲刺卷下半年A卷
- 黑龙江省海伦市第四中学2024年中考数学对点突破模拟试卷含解析
- 2024-2025学年新教材高中物理 第3章 相互作用 第2节 弹力教案 粤教版必修第一册
- Unit 1 Me and My Class 单元语法 正文2024-2025学年八年级英语上册同步习题教学设计(冀教版)河北专版
- Unit 2 At Home Lesson 10(教学设计)-2024-2025学年冀教版(三起)英语四年级上册
- 医疗行业智慧医疗信息化建设方案
- 医疗卫生行业医疗健康数据分析与应用方案
- 学会运动负荷的自我监测-安徽省宿州市第九中学初中体育教学设计
- 主题二 任务一 用图片美化小报 教学设计 -2023-2024学年桂科版初中信息技术七年级下册
- 普通话水平测试指南教案
- 2024年保密知识学习测试考试竞赛题库及答案
- 人教新目标八年级上册英语《Unit 2 How often do you exercise?》Section B-说课稿1
- 工行柜员临柜业务操作代码
- MBA案例分析:交易成本
- 口袋妖怪绿宝石宠物分布图(共43页)
- 供应商4M变更业务流程标准化
- 小学生心理健康教育案例(共10个)
- 嵌岩桩承载力计算
- 夜间施工噪声、扬尘、光照等环境污染控制措施
评论
0/150
提交评论