c语言程序设计~用高级语言实现篮球联赛个人技术数据处理系统.doc

上传人:飞****2 文档编号:52753998 上传时间:2022-10-23 格式:DOC 页数:14 大小:162.50KB
返回 下载 相关 举报
c语言程序设计~用高级语言实现篮球联赛个人技术数据处理系统.doc_第1页
第1页 / 共14页
c语言程序设计~用高级语言实现篮球联赛个人技术数据处理系统.doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《c语言程序设计~用高级语言实现篮球联赛个人技术数据处理系统.doc》由会员分享,可在线阅读,更多相关《c语言程序设计~用高级语言实现篮球联赛个人技术数据处理系统.doc(14页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、题目:篮球赛个人技术统计系统设某篮球联赛要统计20名著名球员个人技术数据。要求用高级语言实现篮球联赛个人技术数据处理系统。该系统在磁盘上存储如下信息:1。每场球赛的个人技术数据。一场球一个人的技术数据包括:姓名,所属球队,三分球个数,篮板球个数,扣篮成功次数,抢断次数,得分,比赛日期。2。个人技术数据汇总表。表中反映了每个人的技术数据的累计结果。表羡为:姓名,三分球总数,篮板球总数,扣篮成功总次数,抢断总次数,得分总数,比赛场数。本系统功能如下:1。创建存储每常球赛个人技术数据的存储系统(第一次输入个人技术数据时),然后自动创建存储个人技术数据汇总表的存储系统。2。每场比赛后,添加个人技术数据

2、,然后自动修改个人技术数据汇总表3。能输出当前的个人技术数据汇总表4。能输出指定技术项目平均每场数据较高的前三名运动员的姓名,所在队名和平均每场的单项数据。程序:/* * Basketball Statistic Information System * Write By: Yan Yi Ling; * Date: 2008-09-10 */#define MAX_PLAYER 100#define P3 0#define SD 1#define RB 2#define CT 3#define CO 4#define MAX_TOP 3#define false 0#define true 1

3、struct basketball char name20; /* players name */ char team20; /* players team */ short point_3; /* three pointer */ short rebound; /* rebound */ short sd; /* slam dunk */ short cut; /* cut */ short course; /* couese */ char date11; /* race date */playerMAX_PLAYER;substr(char *p_from, char *p_to, in

4、t p_start, int p_len) int index = 0, stop = p_start + p_len; while(p_start stop) p_toindex+ = p_fromp_start+; p_toindex = 0;str2int(char *p_str) int res = 0, index, len; for(index = 0, len = strlen(p_str); index len; index+) if(p_strindex 9 ) continue; res = res * 10 + (int)p_strindex - 48; return r

5、es;split(char *p_str, char p_chr) int index; for(index = 0; p_strindex != p_chr & p_strindex != 0; +index) /* do nothing here */ return index;#include stdio.h#include conio.hshort player_len = 0; /* how many players in the system current */main() short op_type, op_skill; char tmp20; loadInfo(); whil

6、e(1) showMenu(); scanf(%d , &op_type); switch(op_type) case 1: inputPlayerInfo(); break; case 2: printf(Please input players name: ); scanf(%s, tmp); displayPlayerInfo(tmp); break; case 3: displayPlayerInfo(); break; case 4: printf(Please input players name: ); scanf(%s, tmp); displayPlayerCount(tmp

7、); break; case 5: printf(%d = three pointn, P3); printf(%d = slam dunkn, SD); printf(%d = reboundn, RB); printf(%d = cutn, CT); printf(%d = coursen, CO); puts(Please choose one of the skill you want to order: ); scanf(%d, &op_skill); displayTopInfo(op_skill); break; case 6: puts(Thank you to use thi

8、s system!); puts(Bye!); return; default: puts(Input error! You must input number between 1 and 5!); break; printf(Enter to continue!); getchar(); getchar(); puts(nnnnnnnnnnnnnnnn); /* * show menu and return users operation */int showMenu() showTab(3); puts(Basketball Statistic Information System); s

9、howTab(7); puts(Write By: Yan Yi Ling); puts(1: Input player information); puts(2: Display player information); puts(3: Display all of the player information); puts(4: Display players count information); printf(5: Display TOP %d informaionn, MAX_TOP); puts(6: Exitn); printf(Choose one of the functio

10、n you want: );/* * show tab in the screen * param p_tab: show many tab will print to the screen */showTab(int p_tab) short index; for(index = 0; index = MAX_PLAYER) puts(Too many information!); return; printf(Please input players name: ); scanf(%s, playerplayer_len.name); printf(Please input players

11、 team: ); scanf(%s, playerplayer_len.team); printf(Please input race date(YYYY-MM-DD): ); scanf(%s, playerplayer_len.date); getchar(); /* forcus enter */ printf(How many three pointer did he/she got: ); scanf(%d, &playerplayer_len.point_3); printf(How many rebound did he/she got: ); scanf(%d, &playe

12、rplayer_len.rebound); printf(How many slam dunk did he/she got: ); scanf(%d, &playerplayer_len.sd); printf(How many cut did he/she got: ); scanf(%d, &playerplayer_len.cut); printf(How many course did he/she got: ); scanf(%d, &playerplayer_len.course); +player_len; if( saveInfo() ) puts(save informat

13、ion success!);/* * display players informaion according to players name */displayPlayerInfo(char *p_name) short index, flag = false; printf(There are %d records in the system.n, player_len); puts(NametTeamtDatet3 PointertSlam DunktReboundtCuttCourset); for(index = 0; index player_len; index+) if( !s

14、trcmp(p_name, playerindex.name) | = p_name) flag = true; printf(%st%st%stt, playerindex.name, playerindex.team, playerindex.date); printf(%dt%dtt%dt%dt%dnn, playerindex.point_3, playerindex.sd, playerindex.rebound, playerindex.cut, playerindex.course); if( !flag & != p_name) printf(Sorry, can not fi

15、nd %ss informationn, p_name); /* * save palyers information into file */saveInfo() FILE *fp; short index; if( (fp = fopen(record.txt, w+) = NULL ) puts(Can not save information into your disk, please check you permission!); return false; for(index = 0; index player_len; index+) fprintf(fp, %s,%s,%s,

16、%d,%d,%d,%d,%dn, playerindex.name, playerindex.team, playerindex.date, playerindex.point_3, playerindex.sd, playerindex.rebound, playerindex.cut, playerindex.course); return true;/* * load players information from file and save into struct player */loadInfo() FILE *fp; char str100, sub_str20; int in

17、dex1, index2; if( (fp = fopen(record.txt, r) = NULL ) puts(Its look you login this system first time!); return false; while( fgets(str, 100, fp) ) index1 = 0; index2 = split(str + index1, ,); substr(str, playerplayer_len.name, index1, index2); index1 += index2 + 1; index2 = split(str + index1, ,); s

18、ubstr(str, playerplayer_len.team, index1, index2); index1 += index2 + 1; index2 = split(str + index1, ,); substr(str, playerplayer_len.date, index1, index2); index1 += index2 + 1; index2 = split(str + index1, ,); substr(str, sub_str, index1, index2); playerplayer_len.point_3 = str2int(sub_str); inde

19、x1 += index2 + 1; index2 = split(str + index1, ,); substr(str, sub_str, index1, index2); playerplayer_len.sd = str2int(sub_str); index1 += index2 + 1; index2 = split(str + index1, ,); substr(str, sub_str, index1, index2); playerplayer_len.rebound = str2int(sub_str); index1 += index2 + 1; index2 = sp

20、lit(str + index1, ,); substr(str, sub_str, index1, index2); playerplayer_len.cut = str2int(sub_str); index1 = index2 + 1; index2 = split(str + index1, ,); substr(str, sub_str, index1, index2); playerplayer_len.course = str2int(sub_str); index1 = index2 + 1; player_len+; /* * Display count informatio

21、n according to players name */displayPlayerCount(char *p_name) int point_3, rebound, sd, cut, course, times, index; point_3 = rebound = sd = cut = course = times = index = 0; for(; index player_len; +index) if( strcmp(p_name, playerindex.name) ) continue; point_3 += playerindex.point_3; rebound += p

22、layerindex.rebound; sd += playerindex.sd; cut += playerindex.cut; course += playerindex.course; times+; printf(%ss count information: n, p_name); printf(Three PointertReboundtSlam dunktCuttCoursetRace timesn); printf(%dtt%dtt%dt%dt%dt%dn, point_3, rebound, sd, cut, course, times); /* * Display Top3

23、information according to skill */displayTopInfo(short p_skill) int pointsMAX_PLAYER; char nameMAX_PLAYER20; short topMAX_TOP, index, index2, len, tmp; if(player_len = 0) return; for(index = 0; index MAX_PLAYER; index+) nameindex0 = 0; /* caculate skill information for each player */ for(index = len

24、= 0; index player_len; index+) for(index2 = 0; index2 MAX_PLAYER; index2+) if( !strcmp(nameindex2, playerindex.name) ) tmp = index2; break; if(index2 = MAX_PLAYER) tmp = len+; strcpy(nametmp, playerindex.name); pointstmp = 0; switch (p_skill) case P3: pointstmp += playerindex.point_3; break; case SD

25、: pointstmp += playerindex.sd; break; case RB: pointstmp += playerindex.rebound; break; case CT: pointstmp += playerindex.cut; break; default: pointstmp += playerindex.course; break; /* end */ for(index = 0; index MAX_TOP; index+) topindex = index; /* get top3 records */ for(index =0; index len; ind

26、ex+) if( points0 0; tmp-) toptmp = toptmp - 1; top0 = index; /* end */ /* display information */ for( index = 0; index len; index+) printf(TOP %d: %sttt%dn, index + 1, nametopindex, pointstopindex); /* end */数据测试结果(程序调试结果):1开始输入信息:2输入队员信息:3输入完信息后, 显示成员信息(需输入程序中已有的成员名,否则出错。):4显示成员信息(正确输入成员名。):5显示成员列表:6显示成员各项技能的得分情况:7选择需要某项技能的成员得分排名(降序):8例如:选择“1”选项,输出三分球的降序排列得分情况:9结束操作(选择“6”选项):感想(错误修正):不足之处:输入比赛日期时,不能用YYYY-MM-DD的形式,只能用YY-M-D的形式,否则输入各项技能得分时,格式不对。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com