c语言程序设计用高级语言实现篮球联赛个人技术数据处理系统技巧.docx
《c语言程序设计用高级语言实现篮球联赛个人技术数据处理系统技巧.docx》由会员分享,可在线阅读,更多相关《c语言程序设计用高级语言实现篮球联赛个人技术数据处理系统技巧.docx(14页珍藏版)》请在冰豆网上搜索。
c语言程序设计用高级语言实现篮球联赛个人技术数据处理系统技巧
c语言程序设计用高级语言实现篮球联赛个人技术数据处理系统[技巧]
题目:
篮球赛个人技术统计系统
设某篮球联赛要统计20名著名球员个人技术数据。
要求用高级语言实现篮球联赛个人技术数据处理系统。
该系统在磁盘上存储如下信息:
1。
每场球赛的个人技术数据。
一场球一个人的技术数据包括:
姓名,所属球队,三分球个数,篮板球个数,扣篮成功次数,抢断次数,得分,比赛日期。
。
个人技术数据汇总表。
表中反映了每个人的技术数据的累计结果。
表羡为:
姓名,三分2
球总数,篮板球总数,扣篮成功总次数,抢断总次数,得分总数,比赛场数。
本系统功能如下:
1。
创建存储每常球赛个人技术数据的存储系统(第一次输入个人技术数据时),然后自动创建存储个人技术数据汇总表的存储系统。
2。
每场比赛后,添加个人技术数据,然后自动修改个人技术数据汇总表
3。
能输出当前的个人技术数据汇总表4。
能输出指定技术项目平均每场数据较高的前三名运动员的姓名,所在队名和平均每场的单项数据。
程序:
/**
*BasketballStatisticInformationSystem
*WriteBy:
YanYiLing;
*Date:
2008-09-10
*/
#defineMAX_PLAYER100
#defineP30
#defineSD1
#defineRB2
#defineCT3
#defineCO4
#defineMAX_TOP3
#definefalse0
#definetrue1
structbasketball{
charname[20];/*player'sname*/
charteam[20];/*player'steam*/
shortpoint_3;/*threepointer*/
shortrebound;/*rebound*/
shortsd;/*slamdunk*/
shortcut;/*cut*/
shortcourse;/*couese*/
chardate[11];/*racedate*/}player[MAX_PLAYER];
substr(char*p_from,char*p_to,intp_start,intp_len){
intindex=0,stop=p_start+p_len;
while(p_startp_to[index++]=p_from[p_start++];
}
p_to[index]='\0';
}
str2int(char*p_str){
intres=0,index,len;
for(index=0,len=strlen(p_str);indexif(p_str[index]<'0'||p_str[index]>'9')continue;
res=res*10+(int)p_str[index]-48;
}
returnres;
}
split(char*p_str,charp_chr){
intindex;
for(index=0;p_str[index]!
=p_chr&&p_str[index]!
='\0';++index){
/*donothinghere*/
}
returnindex;
}
#include"stdio.h"
#include"conio.h"
shortplayer_len=0;/*howmanyplayersinthesystemcurrent*/
main()
{
shortop_type,op_skill;
chartmp[20];
loadInfo();
while
(1){
showMenu();
scanf("%d",&op_type);
switch(op_type){
case1:
inputPlayerInfo();
break;
case2:
printf("Pleaseinputplayer'sname:
");
scanf("%s",tmp);
displayPlayerInfo(tmp);
break;
case3:
displayPlayerInfo('');
break;
case4:
printf("Pleaseinputplayer'sname:
");
scanf("%s",tmp);
displayPlayerCount(tmp);
break;
case5:
printf("%d=>threepoint\n",P3);
printf("%d=>slamdunk\n",SD);
printf("%d=>rebound\n",RB);
printf("%d=>cut\n",CT);
printf("%d=>course\n",CO);
puts("Pleasechooseoneoftheskillyouwanttoorder:
");
scanf("%d",&op_skill);
displayTopInfo(op_skill);
break;
case6:
puts("Thankyoutousethissystem!
");
puts("Bye!
");
return;
default:
puts("Inputerror!
Youmustinputnumberbetween1and5!
");
break;
}
printf("Entertocontinue!
");
getchar();
getchar();
puts("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
}
}
/**
*showmenuandreturnuser'soperation
*/
intshowMenu(){
showTab(3);
puts("BasketballStatisticInformationSystem");
showTab(7);
puts("WriteBy:
YanYiLing");
puts("1:
Inputplayerinformation");
puts("2:
Displayplayerinformation");
puts("3:
Displayalloftheplayerinformation");
puts("4:
Displayplayer'scountinformation");
printf("5:
DisplayTOP%dinformaion\n",MAX_TOP);
puts("6:
Exit\n");
printf("Chooseoneofthefunctionyouwant:
");}
/**
*showtabinthescreen
*@paramp_tab:
showmanytabwillprinttothescreen
*/
showTab(intp_tab){
shortindex;
for(index=0;indexprintf("\t");
}
/**
*inputandsaveplayer"sinformation
*/
inputPlayerInfo(){
if(player_len>=MAX_PLAYER){
puts("Toomanyinformation!
");
return;
}
printf("Pleaseinputplayer'sname:
");
scanf("%s",player[player_len].name);
printf("Pleaseinputplayers'team:
");
scanf("%s",player[player_len].team);
printf("Pleaseinputracedate(YYYY-MM-DD):
");
scanf("%s",player[player_len].date);
getchar();/*forcusenter*/
printf("Howmanythreepointerdidhe/shegot:
");
scanf("%d",&player[player_len].point_3);
printf("Howmanyrebounddidhe/shegot:
");
scanf("%d",&player[player_len].rebound);
printf("Howmanyslamdunkdidhe/shegot:
");
scanf("%d",&player[player_len].sd);
printf("Howmanycutdidhe/shegot:
");
scanf("%d",&player[player_len].cut);
printf("Howmanycoursedidhe/shegot:
");
scanf("%d",&player[player_len].course);
++player_len;
if(saveInfo())
puts("saveinformationsuccess!
");}
/**
*displayplayersinformaionaccordingtoplayer'sname
*/
displayPlayerInfo(char*p_name){
shortindex,flag=false;
printf("Thereare%drecordsinthesystem.\n",player_len);
puts("Name\tTeam\tDate\t3Pointer\tSlamDunk\tRebound\tCut\tCourse\t");
for(index=0;indexif(!
strcmp(p_name,player[index].name)||''==p_name){
flag=true;
printf("%s\t%s\t%s\t\t",player[index].name,player[index].team,
player[index].date);
printf("%d\t%d\t\t%d\t%d\t%d\n\n",player[index].point_3,player[index].sd,
player[index].rebound,player[index].cut,