用C编写的运动会统计系统.docx
- 文档编号:12764532
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:25
- 大小:18.42KB
用C编写的运动会统计系统.docx
《用C编写的运动会统计系统.docx》由会员分享,可在线阅读,更多相关《用C编写的运动会统计系统.docx(25页珍藏版)》请在冰豆网上搜索。
用C编写的运动会统计系统
/*输入各项目的前三名或前五名*/
#include
#include
#defineN5/*学校参加数*/
#defineM5/*男子项目数*/
#defineW5/*女子项目数*/
typedefstruct
{charschoolno[10];/*学校编号*/
charschoolname[20];/*学校名称*/
intscore;/*各学校所得的分数*/
}school;
typedefstructitem{/*定义项目结构体*/
schoolsch[N];
charitemno[10];/*项目编号*/
}item;
itemitemset[M+W];
/*初始化项目数组*//*凡是输入以后都从文件中读入*/
voidinit_itemset(itemitemset[])
{inti,j;
for(i=0;i {printf("输入第%d个项目\n",i+1); scanf("%s",itemset[i].itemno); for(j=0;j {printf("输入学校编号和名称\n"); scanf("%s",itemset[i].sch[j].schoolno); scanf("%s",itemset[i].sch[j].schoolname); itemset[i].sch[j].score=0; } } } voidcreateDataBase(itemitemset[])/*写文件*/ { FILE*fp; inti,j; for(i=0;i {for(j=0;j {scanf("%s",itemset[i].sch[j].schoolno); scanf("%s",itemset[i].sch[j].schoolname); scanf("%d",&itemset[i].sch[j].score); } scanf("%s",itemset[i].itemno); } if((fp=fopen("wenjian5","wb"))==NULL) {printf("cannotopenfile\n"); return;} for(i=0;i if(fwrite(&itemset[i],sizeof(structitem),1,fp)! =1) printf("filewriteerror"); fclose(fp); } voidreadDataBase()/*读文件*/ {inti,j; FILE*fp; if((fp=fopen("wenjian5","rb"))==NULL) {printf("cannotopenfile\n"); return; } /*for(i=0;i if(fread(&itemset[i],sizeof(structitem),1,fp)! =1) {if(feof(fp)){fclose(fp);return;} printf("filereaderror"); }*/ for(i=0;i fread(&itemset[i],sizeof(structitem),1,fp); fclose(fp); for(i=0;i {for(j=0;j printf("%s,%s,%d\n",itemset[i].sch[j].schoolno,itemset[i].sch[j].schoolname,itemset[i].sch[j].score); printf(",%s\n",itemset[i].itemno); } getch(); } /*用以查找与输入项目号,学校相应的信息,并修改相应学校在相应项目所得分等其他信息*/ voidsearch(itemitemset[],charitemno[],charschoolno[],charschoolname[],intscore) {inti,j,k; for(i=0;i {if(strcmp(itemset[0].sch[i].schoolno,schoolno)==0)/*先找到学校编号*/ break; } for(j=0;j {if(strcmp(itemset[j].itemno,itemno)==0) break; } itemset[j].sch[i].score+=score; //printf("%d\n",itemset[j].sch[i].score); if(j>N) {printf("输入的学校编号出错\n"); } if(i>M+W) {printf("输入的项目编号出错\n"); } } voidinputData(itemitemset[])/*用i决定输入的是前三名还是前五名*/ { charschoolno[10]; charschoolname[20]; intscore; inti,j; intk; intn; intm=1; charitemno[10]; printf("输入第%d组数据\n",m); printf("请输入项目号: "); scanf("%s",itemno); while(strcmp(itemno,"-1"))/*以项目号为-1作为输入的结束标志*/ {printf("请输入3或5代表输入前三名或前五名: "); scanf("%d",&k); if(k==3)/*如果i等于0,就代表输入的是前三名*/ {printf("第一名加5分\n"); printf("第二名加3分\n"); printf("第三名加2分\n"); printf("请输入学校编号: "); scanf("%s",schoolno); printf("请输入学校名称: "); scanf("%s,",schoolname); printf("请输入所得分数: "); scanf("%d",&score); if((score==5)||(score==3)||(score==2)) {m++; search(itemset,itemno,schoolno,schoolname,score); } elseprintf("输入的分数有误\n"); } if(k==5)/*如果i等于5,就代表输入的是前五名*/ {printf("第一名加7分\n"); printf("第二名加5分\n"); printf("第三名加3分\n"); printf("第四名加2分\n"); printf("第五名加1分\n"); printf("请输入学校编号: "); scanf("%s",schoolno); printf("请输入学校名称: "); scanf("%s,",schoolname); printf("请输入所得分数: "); scanf("%d",&score); if((score==7)||(score==5)||(score==3)||(score==2)||(score==1)) {m++; search(itemset,itemno,schoolno,schoolname,score); } elseprintf("输入的分数有误\n"); } printf("请输入项目号: "); scanf("%s",itemno); if(strcmp(itemno,"-1")) {system("cls"); printf("\n"); printf("================================================\n"); printf("***************欢迎进入数据输入系统*************\n"); printf("================================================\n"); printf("\n\n"); printf("输入第%d组数据\n",m); printf("项目号%s: \n",itemno); printf("\n\n"); } } } /*求各学校的总分,记住要把结果写到文件中去*/ voidschoolSumScore(itemitemset[],intschScore[N])/*schScore[N]要在主函数里初始化*/ {inti,j;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编写 运动会 统计 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)