C語(yǔ)言-運(yùn)動(dòng)會(huì)學(xué)生信息管理系統(tǒng)_第1頁(yè)
C語(yǔ)言-運(yùn)動(dòng)會(huì)學(xué)生信息管理系統(tǒng)_第2頁(yè)
C語(yǔ)言-運(yùn)動(dòng)會(huì)學(xué)生信息管理系統(tǒng)_第3頁(yè)
C語(yǔ)言-運(yùn)動(dòng)會(huì)學(xué)生信息管理系統(tǒng)_第4頁(yè)
C語(yǔ)言-運(yùn)動(dòng)會(huì)學(xué)生信息管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

11目 錄1、程序分析與設(shè)計(jì) 22、框圖與流程圖 43、調(diào)試過程 54、源代碼及運(yùn)行情況 65、使用說明書 25PAGEPAGE4一、程序分析與設(shè)計(jì)題目描述初始化輸入:N-參賽院系總數(shù),M-女子競(jìng)賽項(xiàng)目數(shù);即項(xiàng)目名稱與代號(hào)。這些數(shù)據(jù)存儲(chǔ)在文本文件中,不需要每次都單條錄入。各項(xiàng)目名次取法有如下幾種:517253342,第51所有信息記錄完畢后,用戶可以查詢各個(gè)院系或個(gè)人的比賽成績(jī),生成團(tuán)體總分報(bào)表,查看參賽院系信息、獲獎(jiǎng)運(yùn)動(dòng)員、比賽項(xiàng)目信息等。需求分析根據(jù)題目要求應(yīng)提供鍵盤式菜單實(shí)現(xiàn)功能選擇,還應(yīng)提供信息的輸入操作,由于在程序中提供查詢功能所以應(yīng)有顯示、查找等操作。設(shè)計(jì)目的C負(fù)責(zé)程序報(bào)告書寫,代碼書寫,調(diào)試測(cè)試,亢學(xué)超和笪凱凱同學(xué)負(fù)責(zé)學(xué)習(xí)語(yǔ)言知識(shí)總體設(shè)計(jì)根據(jù)上面的需求分析,可以將這個(gè)系統(tǒng)的設(shè)計(jì)分為1、信息輸入模塊2、比賽結(jié)果錄入模塊3、查詢模塊。具體校際運(yùn)動(dòng)會(huì)管理系統(tǒng)分為信息的輸入、結(jié)果的輸入、學(xué)校各個(gè)項(xiàng)目的得分的查尋、總體報(bào)表的生成。詳細(xì)設(shè)計(jì)主函數(shù)主函數(shù)一般設(shè)計(jì)的比較簡(jiǎn)潔,只提供輸入,處理和輸出部分的函數(shù)調(diào)用。其中功能模塊用菜單方式選擇。菜單函數(shù)提醒用戶根據(jù)要求選擇功能,以及多次功能選取輸入函數(shù)進(jìn)入該功能后提醒用戶輸入相應(yīng)信息,即數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體的形式,選手結(jié)構(gòu)體成員包括選手的姓名、編號(hào)、各項(xiàng)目的成績(jī)排名、選手所在學(xué)院等。查找函數(shù)提醒用戶輸入運(yùn)動(dòng)員的姓名或編號(hào),根據(jù)姓名或編號(hào)逐一比對(duì)信息,若條件滿足則輸出該選手的數(shù)據(jù),若不滿足則返回‘你要找的運(yùn)動(dòng)員未找到’排序函數(shù)根據(jù)運(yùn)動(dòng)員的百米成績(jī)進(jìn)行冒泡排序,并輸出結(jié)果修改函數(shù)提醒用戶輸入運(yùn)動(dòng)員的姓名,根據(jù)姓名逐一比對(duì)信息,若找到則提供修改選項(xiàng),對(duì)數(shù)據(jù)進(jìn)行覆蓋得分計(jì)算函數(shù)根據(jù)用戶輸入各項(xiàng)成績(jī)排名,進(jìn)行得分運(yùn)算并得出學(xué)院排名刪除函數(shù)用于輸入信息的刪除插入函數(shù)用于輸入新的信息保存函數(shù)將用戶輸入的信息保存到文本文件中顯示函數(shù)顯示用戶保存的信息主菜主菜單框圖:輸查排修得插刪保顯退入找序改分入除存示出流程圖:三、調(diào)試過程fwritefread,后來才發(fā)fscanffprintf這兩個(gè)語(yǔ)句。修改完的代碼5PAGEPAGE10FILE*fp;//定義指向文件的指針if((fp=fopen("e:\\xiao.txt","r"))==NULL) /*,*/{printf("打不開文件Cannotopenthefile\n");return; /**/}fscanf(fp,"運(yùn)動(dòng)員號(hào)碼,姓名,100成績(jī),鉛球成績(jī),跳高成績(jī),跳遠(yuǎn)成績(jī),系名:\n");for(inti=0;i<size;i++){fscanf(fp,"%s\t%s\t%d\t%d\t%d\t%d\t%s\n",&stu[i].num,&stu[i].name,&stu[i].scorem,&stu[i].scoreq,&stu[i].scoreg,&stu[i].scorey,&stu[i].ximing);printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);}fclose(fp); /*關(guān)閉文件*/getchar()才能避免菜單失效四、源代碼及運(yùn)行情況#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#include<time.h>#defineload#defineN7voidread();voidintsize=3;structstudent 定義鏈表*/{charnum[10];charname[20];intscorem,scoreq,scoreg,scorey;charximing[20];}stu[N],temp;voidinput() 輸入原始數(shù)據(jù)*/{system("cls");printf("\t************輸入界面************\n");printf("for(inti=0;i<size;i++)scanf("%s%s%d%d%d%d%s",&stu[i].num,&stu[i].name,&stu[i].scorem,&stu[i].scoreq,&stu[i].scoreg,&stu[i].scorey,&stu[i].ximing);printf("號(hào)碼,姓名,100for(i=0;i<size;i++)printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);}voidfind() /*查找函數(shù)*/{system("cls");printf("\t************查找界面************\n");charfs[20];read();printf("輸入你要查找運(yùn)動(dòng)員的號(hào)碼或姓名:");scanf("%s",&fs);for(inti=0;i<size;i++){if(strcmp(stu[i].num,fs)==0){printf("你要找的運(yùn)動(dòng)員已找到:\n");printf(":\n");printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);break;}elseif(strcmp(stu[i].name,fs)==0){printf("你要找的運(yùn)動(dòng)員已找到:\n");printf(":\n");printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);break;}else{printf("你要找的運(yùn)動(dòng)員未找到:\n");printf("該運(yùn)動(dòng)員缺賽或不存在!");break;}}}voidpaixu() 排序函數(shù)*/{system("cls");printf("\t************排序界面************\n");printf("對(duì)一百米的成績(jī)排序:\n");for(inti=0;i<size;i++){for(intj=i+1;j<size;j++){if(stu[i].scorem<stu[j].scorem){temp=stu[i];stu[i]=stu[j];stu[j]=temp;}}}printf("排序后:\n");for(i=0;i<size;i++)printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);}voidxiugai()/*修改函數(shù)*/{system("cls");修改界面************\n");charch2[20],c;charnum[10],name[20];intscorem,scoreq,scoreg,scorey,i;charximing[20];printf("原始數(shù)據(jù):\n");/*for(inti=0;i<size;i++)printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);*/read();printf("輸入你要修改運(yùn)動(dòng)員的姓名:");scanf("%s",ch2);for(i=0;i<size;i++){if(strcmp(stu[i].name,ch2)==0){printf("1.修改號(hào)碼\n2.修改姓名\n3.修改100米成績(jī)\n4.修改鉛球成績(jī)\n5.修改跳高成績(jī)\n6.修改跳遠(yuǎn)成績(jī)\n7.修改系名\n");scanf("%d",&c);switch(c){case1:{printf("請(qǐng)輸入你修改的運(yùn)動(dòng)員號(hào)碼:");scanf("%s",&num);strcpy(stu[i].num,num);break;}11case2:{printf("輸入你修改的運(yùn)動(dòng)員姓名:\n");scanf("%s",&name);strcpy(stu[i].name,name);break;}case3:{printf("輸入你修改的運(yùn)動(dòng)員100米成績(jī):");scanf("%d",&scorem);stu[i].scorem=scorem;break;}case4:{printf("輸入你修改運(yùn)動(dòng)員鉛球成績(jī):");scanf("%d",&scoreq);stu[i].scoreq=scoreq;break;}case5:{printf("輸入你修改運(yùn)動(dòng)員跳高成績(jī):");scanf("%d",&scoreg);stu[i].scoreq=scoreq;break;}case6:{printf("輸入你修改運(yùn)動(dòng)員跳遠(yuǎn)成績(jī):");PAGEPAGE20scanf("%d",&scorey);stu[i].scorey=scorey;break;}case7:{printf("輸入你修改運(yùn)動(dòng)員系名:");scanf("%s",&ximing);strcpy(stu[i].ximing,ximing);break;}default:printf("你的輸入有誤:\n");}printf("修改后的運(yùn)動(dòng)員數(shù)據(jù):\n");for(inti=0;i<size;i++)printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);}}save();}voiddefen() /*得分函數(shù)*/{system("cls");printf("\t************得分界面************\n");intx,y,z,w,o,p,q,i;charch1[20]="ruanjian",ch2[20]="diangong",ch3[20]="jingguan";printf("原始數(shù)據(jù):\n");/*for(inti=0;i<size;i++)printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);*/read();printf("各系的得分總分排序:\n");for(i=0;i<size;i++){if(stu[i].scorem==1)x=3;elseif(stu[i].scorem==2)elseif(stu[i].scorem==3)elsex=0;if(stu[i].scoreq==1)y=3;elseif(stu[i].scoreq==2)elseif(stu[i].scoreq==3)elsey=0;if(stu[i].scoreg==1)z=3;elseif(stu[i].scoreg==2)elseif(stu[i].scoreg==3)elsez=0;if(stu[i].scorey==1)w=3;elseif(stu[i].scorey==2)elseif(stu[i].scorey==3)elsew=0;}for(i=0;i<size;i++){if(strcmp(stu[i].ximing,ch1)==0){o=x+y+z+w;:%d\n",o);}elseif(strcmp(stu[i].ximing,ch2)==0){p=x+y+z+w;:%d\n",p);}elseif(strcmp(stu[i].ximing,ch3)==0){q=x+y+z+w;printf("經(jīng)管系總得分:%d\n",q);}}}voidshancchu() 刪除函數(shù)*/{system("cls");刪除界面************\n");charch1[20];printf("原始數(shù)據(jù):\n");inti;/*for(inti=0;i<size;i++)printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);*/read();printf("scanf("%s",&ch1);for(i=0;i<size;i++){if(strcmp(stu[i].name,ch1)==0){for(intj=i;j<size-1;j++)stu[j]=stu[j+1];}}printf("刪除后的運(yùn)動(dòng)員數(shù)據(jù):\n");for(i=0;i<size-1;i++){printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);}size--;save();}voidcharu() /*插入函數(shù)*/{system("cls");inta;printf("\t************插入界面************\n");printf("請(qǐng)輸入要插入的運(yùn)動(dòng)員個(gè)數(shù):");scanf("%d",&a);for(intj=0;j<a;j++){printf("輸入要插入的運(yùn)動(dòng)員數(shù)據(jù):\n");printf("號(hào)碼:");scanf("%s",&stu[size].num);printf("姓名:");scanf("%s",&stu[size].name);printf("100米成績(jī):");scanf("%d",&stu[size].scorem);printf("鉛球成績(jī):");scanf("%d",&stu[size].scoreq);printf("跳高成績(jī):");scanf("%d",&stu[size].scoreg);printf("跳遠(yuǎn)成績(jī):");scanf("%d",&stu[size].scorey);printf("系名:");scanf("%s",&stu[size].ximing);for(inti=0;i<size+1;i++)for(intj=i+1;j<size+1;j++)if(stu[i].scorem<stu[j].scorem){temp=stu[i];stu[i]=stu[j];stu[j]=temp;}size++;}printf("插入后運(yùn)動(dòng)員數(shù)據(jù):\n");for(inti=0;i<size;i++)printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);save();}voidsave(){

/*保存數(shù)據(jù)到文件函數(shù)*/FILE*fp; /**///charoutfile[20];//printf("輸出文件例如:c:\\scoreEnteroutfilename,forexamplec:\\score\n");//scanf("%s",outfile);if((fp=fopen("e:\\xiao.txt","w"))==NULL)/*為輸出打開一個(gè)二進(jìn)制文件,為只寫方式*/{printf("打不開文件Cannotopenthefile\n");return; /**/}printf("\n保存中...Savingthefile. \n");//fprintf(fp,"運(yùn)動(dòng)員號(hào)碼,姓名,100成績(jī),鉛球成績(jī),跳高成績(jī),跳遠(yuǎn)成績(jī),系名:\n");for(inti=0;i<size;i++)fprintf(fp,"%s\t%s\t%d\t%d\t%d\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);fclose(fp); /*關(guān)閉文件*/printf("保存成功 Savethefilesuccessfully!\n");}voidread(){FILE*fp;//定義指向文件的指針if((fp=fopen("e:\\xiao.txt","r"))==NULL){

/*為輸出打開一個(gè)二進(jìn)制文件,為只寫方式*/printf("打不開文件Cannotopenthefile\n");return; /**/}fscanf(fp,"運(yùn)動(dòng)員號(hào)碼,姓名,100成績(jī),鉛球成績(jī),跳高成績(jī),跳遠(yuǎn)成績(jī),系名:\n");for(inti=0;i<size;i++){fscanf(fp,"%s\t%s\t%d\t%d\t%d\t%d\t%s\n",&stu[i].num,&stu[i].name,&stu[i].scorem,&stu[i].scoreq,&stu[i].scoreg,&stu[i].scorey,&stu[i].ximing);printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].scorem,stu[i].scoreq,stu[i].scoreg,stu[i].scorey,stu[i].ximing);}fclose(fp); /*關(guān)閉文件*/}voidmenu(){intch1;charstructtm*pt;定義時(shí)間結(jié)構(gòu)體time_tt;t=time(NULL);pt=localtime(&t);/*讀取系統(tǒng)日期并把它放到結(jié)構(gòu)體中*/do{printf("\t\t 當(dāng) 前 系 統(tǒng) 日期:%d-%d-%d\n",pt->tm_year+1900,pt->tm_mon+1,pt->tm_mday);/*顯示當(dāng)前系統(tǒng)日期*/printf("======================菜單=====================\n");printf("1.輸入printf("3.排序printf("5.得分

\n");\n");\n");printf(" 7.插printf(" 9.顯

8.保存0.退出

\n");printf("===============================================\n");printf("請(qǐng)選擇功能<1-8>:[]\b\b");//getchar();scanf("%d",&ch1);switch(ch1){case1:input(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論