纸牌游戏运动会统计学生成绩管理系统.docx
- 文档编号:18492183
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:48
- 大小:1.11MB
纸牌游戏运动会统计学生成绩管理系统.docx
《纸牌游戏运动会统计学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《纸牌游戏运动会统计学生成绩管理系统.docx(48页珍藏版)》请在冰点文库上搜索。
纸牌游戏运动会统计学生成绩管理系统
模拟实习报告
实习内容:
综合模拟实习
相关课程:
C程序设计、数据结构
学期:
2010-2011学年第1学期
学时学分:
32学时2学分
专业班级:
信管0802班
学 号:
@@@@@@@@@@
姓 名:
@@@@@@@
指导老师:
@@@@@@
提交日期:
2010年12月5日
模拟实习成绩评定表
等级
成绩
组成
优秀
良好
中等
及格
不及格
报
告
文
档
1.文档很规范。
2.排版很清晰。
3.内容很全面。
4.设计很合理。
1.文档规范。
2.排版清晰。
3.内容全面。
4.设计合理。
1.文档较规范。
2.排版较清晰。
3.内容较全面。
4.设计较合理。
1.文档欠规范。
2.排版欠清晰。
3.内容欠全面。
4.设计欠合理。
1.文档不规范。
2.排版不清晰。
3.内容不全面。
4.设计不合理。
算
法
分
析
1.算法正确。
2.算法分析很全面。
3.算法描述很清晰。
1.算法正确。
2.算法分析全面。
3.算法描述清晰。
1.算法正确。
2.算法分析较全面。
3.算法描述较清晰。
1.算法基本正确。
2.算法分析欠全面。
3.算法描述欠清晰。
1.算法不正确。
2.算法分析不全面。
3.算法描述不清晰。
程
序
实
现
1.程序设计思路很清晰。
2.程序代码编写很完整。
3.程序运行正确。
1.程序设计思路清晰。
2.程序代码编写完整。
3.程序运行正确。
1.程序设计思路较清晰。
2.程序代码编写较完整。
3.程序运行正确。
1.程序设计思路欠清晰。
2.程序代码编写欠完整。
3.程序运行基本正确。
1.程序设计思路不清晰。
2.程序代码编写不完整。
3.程序运行不正确。
结
果
分
析
1.有运行结果描述。
2.结果描述很清晰、很完整。
3.结果分析很深入。
1.有运行结果描述。
2.结果描述清晰、完整。
3.结果分析深入。
1.有运行结果描述。
2.结果描述较清晰、较完整。
3.结果分析较深入。
1.有运行结果描述。
2.结果描述欠清晰、欠完整。
3.结果分析欠深入。
1.无运行结果描述。
2.结果描述不清晰、很完整。
3.结果分析不深入。
实
习
总
结
1.有实习总结。
2.实习总结很全面、很深入。
3.能从实习中总结出创新成果。
1.有实习总结。
2.实习总结全面、深入。
3.能从实习中总结出创新成果。
1.有实习总结。
2.实习总结较全面、较深入。
1.有实习总结。
2.实习总结欠全面、欠深入。
1.无实习总结。
2.实习总结不全面、不深入。
综合成绩评定:
评阅老师(签章):
年月日
信息管理与系统开发设计综合模拟实习
一、实习目的
通过模拟实习,主要要达到两个目的,一是检验和巩固专业知识、二是提高综合素质和能力。
信管08级学生的模拟实习主要是复杂程序和简单软件的实现。
通过该模拟实习,可以将学生课堂上掌握的理论知识与处理数据的业务相结合,以检验我们同学们掌握知识的宽度、深度及对知识的综合运用能力。
二、实习环境
计算机硬件配置:
Interl(R)Core(TM)2DuoCPUP7450@2.13GHz2GB内存
操作系统:
Windows7
开发环境:
VisualStudio2010
三、实习内容
内容一:
运动会分数统计
任务:
参加运动会有n个学校,学校编号为1……n。
比赛分成m个男子项目,和w个女子项目。
项目编号为男子1……m,女子m+1……m+w。
不同的项目取前五名或前三名积分;取前五名的积分分别为:
7、5、3、2、1,前三名的积分分别为:
5、3、2;哪些取前五名或前三名由学生自己设定。
(m<=20,n<=20)
要求:
(1)可以输入各个项目的前三名或前五名的成绩;
(2)能统计各学校总分;
(3)可以按学校编号、学校总分、男女团体总分排序输出;
(4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。
规定:
输入数据形式和范围:
20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)
输出形式:
有中文提示,各学校分数为整形
界面要求:
有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
存储结构:
学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。
(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;
测试数据:
要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。
进行程序测试,以保证程序的稳定。
测试数据及测试结果请在上交的资料中写明;
内容二:
纸牌游戏
任务:
编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后…从第4张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张牌;...再依次5的倍数的牌翻一次,6的,7的直到以52为基数的翻过,输出:
这时正面向上的牌有哪些?
内容三:
设计学生成绩管理系统。
该系统中存储学生的学号、姓名、性别、年龄、课程成绩等信息。
要求:
(1)浏览学生信息
(2)添加学生信息
(3)删除学生信息
(4)查找学生信息
(5)修改学生信息
(6)对成绩的处理
①求出每个学生各门课程的总成绩、平均成绩、最高分和最低分。
②求出某一门课程所有学生总成绩、平均成绩、最高分和最低分。
(7)按照学生某门课程的成绩对学生排序
四、算法分析、设计与描述
1.算法分析和设计
内容一:
该程序是针对运动会分数统计管理的一个简单系统包含运动会信息输入、成绩查询、学校成绩查询等功能,使用模块化编程设计voidxxbh()、voidxxzf()、voidmalezf()、voidfemalezf()、voidcxsch()、voidcxxm()6个函数完成实验要求的各项功能。
1、学校编号排序模块:
用于对学校编号排列输出,可以用voidxxbh()函数实现功能。
2、按学校总分排序模块:
用于对学校总分排列输出,可以用voidxxzf()函数实现功能。
3、按学校男总分排序模块:
:
用于对学校男子总分排列输出,可以用voidmalezf()函数实现功能。
4、按学校女总分排序模块:
:
用于对学校女子总分排列输出,可以用voidfexxnf()函数实现功能。
5、查询某个学校成绩模块:
用于查询某个学校的比赛成绩信息输出,可以用voidcxsch()函数完成此功能。
6、查询某个项目成绩模块:
用于查询某个学校的比赛成绩信息输出,可以用voidcxxm()函数完成此功能。
内容二:
该程序以2为基数,若翻到的牌是二的倍数张时,则由正面变成反面,即翻一面,是三的倍数则再翻一次,是四的倍数则再翻一次,以此类推,循环直到第52时结束,则此张牌结算完成。
以此循环下去,此程序只需要用for循环函数即可达到功能要求。
对52张牌定义为数组aa[],使数组初始化,即所有初始状态都为正面。
然后对52张牌(序号放在i里)对2,3...52(放在j里)按i+1是否是j的倍数进行状态翻转。
对翻转处理后状态仍然是正面的(aa[]保持为1)的将其编号输出。
1、for(i=1;i<=52;i++)语句。
对所有牌初始话都为正面。
2、for(j=2;j<=52;j++)语句。
对52张牌中的2,3,4...52放在j中,按i+1是否是j的倍数进行状态翻转。
3、for(i=0;i<52;i++)语句。
对翻转处理后状态仍然是正面的的纸牌将其编号输出。
内容三:
该程序分6个模块完成各项功能,通过主函数调用个函数完成实验,以达到实验目的。
1、显示模块:
用于对学生的基本信息的显示,可以用函数voidprint(ID*head)来实现,
2、添加学生信息模块:
其中包括学生的学号,姓名,年龄,性别以及学生的高数成绩、线代成绩、英语成绩;可用函数ID*cin(ID*head)来实现此操作。
3、查询模块:
用于对学生的基本信息查询,通过学生的学号进行查找,可用ID*find(ID*head)来实现。
通过学好查询,找到学生信息,输出包括初始是输入的一切信息。
4、排序模块:
可用函数ID*sort(ID*head来实现。
其中通过平均分的高低来比较,并且以此来排序。
5、删除学生信息模块:
通过学生的学号来查找,找出相应信息确定删除,可以通过函数ID*delet(ID*head)实现此功能。
6、修改学生信息模块:
通过对学生学号查找,找出相应的信息进行修改,可以通过函数ID*alter(ID*head)实现此操作。
6、安全退出系统与自动保存文件模块:
可用一个函数ID*over(ID*head)来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。
2.算法描述
内容一:
运行程序流程图如下(转下页):
Y
N
N
Y
NN
YY
YY
图一
内容二:
运行程序流程图如下
N
Y
N
Y
N
Y
N
Y
图二
实验三:
运行程序流程图如下:
图三
五、程序设计
1.程序设计的基本思路
内容一:
该程序是针对运动会分数统计管理的一个简单系统包含运动会信息输入、成绩查询、学校成绩查询等功能,使用模块化编程设计voidxxbh()、voidxxzf()、voidmalezf()、voidfemalezf()、voidcxsch()、voidcxxm()6个函数完成实验要求的各项功能。
内容二:
该程序以2为基数,若翻到的牌是二的倍数张时,则由正面变成反面,即翻一面,是三的倍数则再翻一次,是四的倍数则再翻一次,以此类推,循环直到第52时结束,则此张牌结算完成。
以此循环下去,此程序只需要用for循环函数即可达到功能要求。
内容三:
学生成绩管理系统是专门对学生基本信息进行管理的系统,包含对学生信息的浏览、添加、删除、查找、修改、对成绩的操作、排序等功能。
因此,可先定义学生的基本信息框架,声明各函数原型,再通过设计相应的函数来实现各模块的功能。
2.程序代码
内容一:
#include
#include
#include
usingnamespacestd;
intn;//n个学校
intm;//m个男子项目
intw;//w个女子项目
structpro//表示项目的结构体
{
stringname;//项目名称
intsnum[6];//前5名学校的编号
}p[21];
structschool//表示学校的结构体
{
intnum;
stringname;//学校名称
intscore;//学校总分
intmale;//男子总分
intfemale;//女子总分
}sch[21];
inta[101][101];
intintegral[5]={7,5,3,2,1};
//**************************************函数原型
voidinput();
voidprint(inti);
voidxxbh();//**************************************按编号排序
voidxxzf();//**************************************按学校总分排序
voidmalezf();//**************************************//按学校男总分排序
voidfemalezf();//**************************************//按学校女总分排序
voidcxsch();//**************************************//查询学校信息
voidcxxm();//**************************************查询项目信息
voidsolve();
intmain()
{
input();
solve();
return0;
}
voidinput()
{
inti,j,y,x;
printf("******************请输入学校数目******************\n");
y=0;
while
(1)
{
scanf("%d",&n);
if(n>=1&&n<=20)y=1;
if(y)break;
elseprintf("******************您的输入有误,请重新输入!
!
!
******************\n");
}
for(i=1;i<=n;i++)
{
printf("******************请输入第%d个学校的名称******************\n",i);
cin>>sch[i].name;
sch[i].score=0;
sch[i].female=0;
sch[i].male=0;
sch[i].num=i;
}
printf("******************输入男子项目数和女子项目数******************\n");
y=0;
while
(1)
{
scanf("%d%d",&m,&w);
if(m<=20&&m>=1&&w<=20&&w>=1)y=1;
if(y)break;
elseprintf("******************您的输入有误,请重新输入!
!
!
******************\n");
}
for(i=1;i<=m+w;i++)
{
printf("******************输入第%d个项目的名称******************\n",i);
cin>>p[i].name;
printf("******************输入第%d个项目的前5名的学校编号******************\n",i);
for(j=1;j<=5;j++)
{
y=0;
while
(1)
{
scanf("%d",&x);
if(x>=1&&x<=20)y=1;
if(y)break;
elseprintf("******************您的输入有误,请重新输入!
!
!
******************\n");
}
p[i].snum[j]=x;
sch[x].score+=integral[j-1];
if(i<=m)sch[x].male+=integral[j-1];
elsesch[x].female+=integral[j-1];
}
}
}
voidprint(inti)
{
cout< < } voidxxbh()//**************************************按编号排序 { inti,j; schoolt; for(i=1;i { for(j=i;j<=n;j++) if(sch[i].num>sch[j].num) {t=sch[i];sch[i]=sch[j];sch[j]=t;} } printf("\n******************按学校编号排列******************\n"); printf("编号学校名称总分男子总分女子总分\n"); for(i=1;i<=n;i++) print(i); } voidxxzf()//**************************************按学校总分排序 { inti,j; schoolt; for(i=1;i { for(j=i;j<=n;j++) if(sch[i].score {t=sch[i];sch[i]=sch[j];sch[j]=t;} } printf("\n******************按学校总分排列******************\n"); printf("编号学校名称总分男子总分女子总分\n"); for(i=1;i<=n;i++) print(i); } voidmalezf()//**************************************//按学校男总分排序 { inti,j; schoolt; for(i=1;i { for(j=i;j<=n;j++) if(sch[i].male {t=sch[i];sch[i]=sch[j];sch[j]=t;} } printf("\n******************按学校男子总分排列******************\n"); printf("编号学校名称总分男子总分女子总分\n"); for(i=1;i<=n;i++) print(i); } voidfemalezf()//**************************************//按学校女总分排序 { inti,j; schoolt; for(i=1;i { for(j=i;j<=n;j++) if(sch[i].female {t=sch[i];sch[i]=sch[j];sch[j]=t;} } printf("\n******************按学校女子总分排列******************\n"); printf("编号学校名称总分男子总分女子总分\n"); for(i=1;i<=n;i++) print(i); cout< } voidcxsch()//**************************************//查询学校信息 { inti,y,s; printf("******************请输入需要查询的学校编号******************\n"); y=0; while (1) { scanf("%d",&s); if(s>=1&&s<=n)y=1; if(y)break; elseprintf("******************您的输入有误,请重新输入! ! ! ******************\n"); } printf("******************此该学校全部信息******************\n"); printf("编号学校名称总分男子总分女子总分\n"); for(i=1;i<=n;i++) { if(sch[i].num==s) { print(i); break; } } cout< } voidcxxm()//**************************************查询项目信息 { inti,y,s; printf("******************请输入需要查询的项目编号******************\n"); y=0; while (1) { scanf("%d",&s); if(s>=1&&s<=n)y=1; if(y)break; elseprintf("******************您的输入有误,请重新输入! ! ! ******************\n"); } cout< ******************"< printf("名次编号学校名称\n"); for(i=1;i<=5;i++) cout<<""< cout< } voidsolve() { intz; while (1) {printf("\n\n\n\n"); printf("★★★★★★★★★★★★★★★★★★★\n"); printf("★欢迎进入运动会分数统计系统★\n"); printf("〓〓〓〓★★★★★★★★★★★★★★★★★★★★★★★〓〓〓〓〓〓〓\n"); printf("〓〓〓〓〓〓★☆1.按学校编号排序输出☆★〓〓〓〓〓〓\n"); printf("〓〓〓〓〓〓★☆2.按学校总分排序输出☆★〓〓〓〓〓〓\n"); printf("〓〓〓〓〓〓★☆3.按学校男总分排序输出☆★〓〓〓〓〓〓\n"); printf("〓〓〓〓〓〓★☆4.按学校女总分排序输出☆★〓〓〓〓〓〓\n"); printf("〓〓〓〓〓〓★☆5.查询某个学校成绩☆★〓〓〓〓〓〓\n"); printf("〓〓〓〓〓〓★☆6.查询某个项目成绩☆★〓〓〓〓〓〓\n"); printf("〓〓〓〓〓〓★☆7.安全退出系统☆★〓〓〓〓〓〓\n"); printf("〓〓〓〓★★★★★★★★★★★★★★★★★★★★★★★〓〓〓〓〓〓〓\n"); printf("请选择(1-7)进行操作: "); scanf("%d",&z); if(z==1)xxbh(); if(z==2)xxzf(); if(z==3)malezf(); if(z==4)femalezf(); if(z==5)cxsch(); if(z==6)cxxm(); if(z==7)break; } } 内容二: #include #include #include intmain() { intaa[53],k=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 纸牌 游戏 运动会 统计 学生 成绩管理系统