版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、、程序分析與設(shè)計(標(biāo)題四號宋體加黑,正文五號宋體,行間距固定值18 ,首行縮進(jìn) 2字符)1題目描述初始化輸入:N-參賽院系總數(shù),M-男子競賽項目數(shù),W女子競賽項目數(shù);即 要求輸入一些基礎(chǔ)數(shù)據(jù),如院系名稱,每個院系參賽選手及選手編號。競賽 項目名稱與代號。這些數(shù)據(jù)存儲在文本文件中,不需要每次都單條錄入。 各項目名次取法有如下幾種:取前4名:第 1名得分 6,第2名得分4,第3名得分 2,第4名得分 1; 由程序提醒用戶填寫比賽結(jié)果,輸入各項目獲獎運動員的信息。所有信息記錄完畢后,用戶可以查詢各個院系或個人的比賽成績,生成團(tuán)體 總分報表,查看參賽院系信息、獲獎運動員、比賽項目信息等。2需求分析 根
2、據(jù)題目要求應(yīng)提供鍵盤式菜單實現(xiàn)功能選擇,還應(yīng)提供信息的輸入操作, 由于在程序中提供查詢功能所以應(yīng)有顯示、查找等操作。3總體設(shè)計根據(jù)上面的需求分析,可以將這個系統(tǒng)的設(shè)計分為 1信息輸入模塊2、比 賽結(jié)果錄入模塊 3 、查詢模塊。具體校際運動會管理系統(tǒng)分為 信息的輸入、 結(jié)果的輸入、學(xué)校各個項目的得分的查尋、總體報表的生成。4詳細(xì)設(shè)計( 1)主函數(shù) 主函數(shù)一般設(shè)計的比較簡潔,只提供輸入,處理和輸出部分的函數(shù)調(diào)用。其 中功能模塊用菜單方式選擇。(2)密碼登陸函數(shù)首先進(jìn)入歡迎界面, 提示用戶輸入密碼進(jìn)入系統(tǒng), 密碼輸入次數(shù)限制為三次, 三次輸入錯誤則退出系統(tǒng),登陸成功顯示菜單欄(3)菜單函數(shù) 提醒用戶
3、根據(jù)要求選擇功能,以及多次功能選?。?)輸入函數(shù) 進(jìn)入該功能后提醒用戶輸入相應(yīng)信息,即數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體的 形式,選手結(jié)構(gòu)體成員包括選手的姓名、編號、各項目的成績排名、選手所 在學(xué)院等。(5)查找函數(shù) 提醒用戶輸入運動員的姓名或編號,根據(jù)姓名或編號逐一比對信息,若條件 滿足則輸出該選手的數(shù)據(jù),若不滿足則返回你要找的運動員未找到'(6)排序函數(shù) 根據(jù)運動員的百米成績進(jìn)行冒泡排序,并輸出結(jié)果(7)修改函數(shù) 提醒用戶輸入運動員的姓名,根據(jù)姓名逐一比對信息,若找到則提供修改選 項,對數(shù)據(jù)進(jìn)行覆蓋(8)得分計算函數(shù)根據(jù)用戶輸入各項成績排名,進(jìn)行得分運算并得出學(xué)院排名(9)刪除函數(shù)用于輸
4、入信息的刪除(10)插入函數(shù)用于輸入新的信息(11)保存函數(shù) 將用戶輸入的信息保存到文本文件中(12)顯示函數(shù)顯示用戶保存的信息二、流程圖三、源程序清單(此部分采用小五號宋體,行間距固定值14)#include<>#include<>#include<>#include<>#include <>#define load sizeof(student)#define N 7void read();void save();int size=3;struct studentchar num10;char name20;int scorem,
5、scoreq,scoreg,scorey;char ximing20;stuN,temp;void input() um,&,&stui.scorem,&stui.scoreq,&stui.scoreg,&stui.scorey,&stui.ximing)Jprintf(" 輸出運動員號碼 , 姓名 ,100 成績 , 鉛球成績 , 跳高成績 , 跳遠(yuǎn)成績 , 系名 :n"); for(i=0;i<size;i+)printf("%st%st%dt%dt%dt%dt%sn",stui
6、.num,,stui.scorem,stui.scor eq,stui.scoreg,stui.scorey,stui.ximing);void find() um,fs)=0)printf(" 你要找的運動員已找到 :n");printf(" 該生的號碼 , 姓名 ,100 米成績 , 鉛球成績 , 跳高成績 , 跳遠(yuǎn)成績 , 系名 :n");printf("%st%st%dt%dt%dt%dt%sn",stui.num,,stui.scorem,stui.scor eq,stui.scoreg,
7、stui.scorey,stui.ximing);break;else if(strcmp(,fs)=0)printf(" 你要找的運動員已找到 :n");printf(" 該生的號碼 , 姓名 ,100 米成績 , 鉛球成績 , 跳高成績 , 跳遠(yuǎn)成績 , 系名 :n");printf("%st%st%dt%dt%dt%dt%sn",stui.num,,stui.scorem,stui.scor eq,stui.scoreg,stui.scorey,stui.ximing);break;elsep
8、rintf(" 你要找的運動員未找到 :n");printf(" 該運動員缺賽或不存在 !");break;void paixu() corem<stuj.scorem)temp=stui;stui=stuj;stuj=temp;printf(" 排序后 :n");for(i=0;i<size;i+)printf("%st%st%dt%dt%dt%dt%sn",stui.num,,stui.scorem,stui.scor eq,stui.scoreg,stui.scorey,stui
9、.ximing);void xiugai()um,,stui.scorem,stui.scoreq,stui.scoreg,stui.scorey,stui.ximing);*/read();printf(" 輸入你要修改運動員的姓名 :");scanf("%s",ch2);for(i=0;i<size;i+)if(strcmp(,ch2)=0)printf("1. 修改號碼 n2. 修改姓名 n3. 修改100米成績 n4. 修改鉛球成績 n5. 修改跳高成 績 n6. 修改跳遠(yuǎn)成績 n7. 修改系名
10、 n");scanf("%d",&c);switch(c)case 1:printf(" 請輸入你修改的運動員號碼 :");scanf("%s",&num);strcpy(stui.num,num);break;case 2:printf(" 輸入你修改的運動員姓名 :n");scanf("%s",&name);strcpy(,name);break;case 3:printf(" 輸入你修改的運動員 100米成績 :");
11、 scanf("%d",&scorem); stui.scorem=scorem;break;case 4:printf(" 輸入你修改運動員鉛球成績 :"); scanf("%d",&scoreq); stui.scoreq=scoreq;break;case 5:printf(" 輸入你修改運動員跳高成績 :"); scanf("%d",&scoreg); stui.scoreq=scoreq;break;case 6:printf(" 輸入你修改運動員跳遠(yuǎn)
12、成績 :"); scanf("%d",&scorey); stui.scorey=scorey;break;case 7:printf(" 輸入你修改運動員系名 :"); scanf("%s",&ximing);strcpy(stui.ximing,ximing); break;default:printf(" 你的輸入有誤 :n");printf(" 修改后的運動員數(shù)據(jù) :n"); for(int i=0;i<size;i+)printf("%st%s
13、t%dt%dt%dt%dt%sn",stui.num,,stui.scorem,stui.scor eq,stui.scoreg,stui.scorey,stui.ximing);save();void defen()um,,stui.scorem,stui.scoreq,stui.scoreg,stui.scorey,stui.ximing); */read();printf(" 各系的得分總分排序 :n");for(i=0;i<size;i+)if(stui.scorem=1) x=3;else if(stui.sco
14、rem=2) x=2;else if(stui.scorem=3) x=1;else x=0;if(stui.scoreq=1) y=3;else if(stui.scoreq=2) y=2;else if(stui.scoreq=3) y=1;else y=0;if(stui.scoreg=1) z=3;else if(stui.scoreg=2) z=2;else if(stui.scoreg=3) z=1;else z=0;if(stui.scorey=1) w=3;else if(stui.scorey=2) w=2;else if(stui.scorey=3) w=1;else w=
15、0;for(i=0;i<size;i+)if(strcmp(stui.ximing,ch1)=0)o=x+y+z+w;printf(" 軟件系總得分 :%dn",o);else if(strcmp(stui.ximing,ch2)=0)p=x+y+z+w;printf(" 數(shù)媒系總得分 :%dn",p);else if(strcmp(stui.ximing,ch3)=0)q=x+y+z+w;printf(" 光電系總得分 :%dn",q);voidshancchu()um,,stui.scorem,stui.s
16、coreq,stui.scoreg,stui.scorey,stui.xim ing);*/read();printf(" 輸入你要刪除的運動員的姓名 :n");scanf("%s",&ch1);for(i=0;i<size;i+)if(strcmp(,ch1)=0)for(int j=i;j<size-1;j+) stuj=stuj+1;printf(" 刪除后的運動員數(shù)據(jù) :n");for(i=0;i<size-1;i+)printf("%st%st%dt%dt%dt%dt%s
17、n",stui.num,,stui.scorem,stui.scor eq,stui.scoreg,stui.scorey,stui.ximing);size-;save();void charu() um);printf(" 姓名 :");scanf("%s",&);printf("100 米成績 :");scanf("%d",&stusize.scorem);printf(" 鉛球成績 :");scanf("%d&
18、quot;,&stusize.scoreq);printf(" 跳高成績 :");scanf("%d",&stusize.scoreg);printf(" 跳遠(yuǎn)成績 :");scanf("%d",&stusize.scorey);printf(" 系名 :");scanf("%s",&stusize.ximing);for(int i=0;i<size+1;i+)for(int j=i+1;j<size+1;j+)if(stui.s
19、corem<stuj.scorem)temp=stui;stui=stuj;stuj=temp;size+;printf(" 插入后運動員數(shù)據(jù) :n");for(int i=0;i<size;i+)printf("%st%st%dt%dt%dt%dt%sn",stui.num,,stui.scorem,stui.scor eq,stui.scoreg,stui.scorey,stui.ximing);save();void save() .Saving the filen");um,,stui.s
20、corem,stui.scoreq,stui.scoreg,stui.scorey,stui.ximing);fclose(fp); successfully!n"); void read() FILE.Save the file*fp;um,&,&stui.scorem,&stui.scoreq,&stui.scoreg,&stui.scorey,&stui.xim ing);printf("%st%st%dt%dt%dt%dt%sn",stui.num,,stui.scorem
21、,stui.scor eq,stui.scoreg,stui.scorey,stui.ximing); fclose(fp);入2. 查找n");printf("3.排序4. 修改n");printf("5.得分6. 刪除n");printf("7.插入8. 保存n");printf("9. 顯示0.退出 n");printf("=printf("請選擇功能<1-8>: bb");um,&,&stui.scorem,&st
22、ui.scoreq,&stui.scoreg,&stui.scorey,&stui.ximing);printf("%st%st%dt%dt%dt%dt%sn",stui.num,,stui.scorem,stui.scoreq,stui.scoreg,stui.scorey,stui.ximing);fclose(fp); / 關(guān)閉文件做菜單功能多次選擇時,令用戶輸入字符進(jìn)行選擇,然而程序總是退出,后來才知道也被算入用戶輸入的字符內(nèi),要在字符輸入后添加 getchar ()才能避免菜單失效做顯示函數(shù),屏幕顯示異常,總是反復(fù)顯示相同數(shù)據(jù)和亂碼,原來是結(jié)構(gòu)體初始化,當(dāng)中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車抵押貸款居間擔(dān)保合同
- 網(wǎng)絡(luò)電商平臺加盟合同范本
- 機(jī)械部件外協(xié)加工協(xié)議
- 房產(chǎn)質(zhì)押貸款協(xié)議
- 2024年電子商務(wù)安全性論文
- 代理補充協(xié)議書格式
- 房屋裝潢施工協(xié)議案例
- 勞動合同終止后的社保轉(zhuǎn)移
- 標(biāo)準(zhǔn)建設(shè)工程借款合同范本
- 私人物品交易合同模板
- 2024年安全員C證考試題庫附答案
- 2024至2030年中國鋼鐵行業(yè)當(dāng)前現(xiàn)狀及未來趨勢發(fā)展預(yù)測報告
- 2024年領(lǐng)導(dǎo)干部任前廉政知識測試試卷題庫及答案
- 中醫(yī)外科撳針
- DB13T 5958-2024 金屬非金屬露天礦山采場邊坡安全監(jiān)測技術(shù)規(guī)范
- 2024年新華師大版七年級上冊數(shù)學(xué)全冊課件(新版教材)
- 2024年統(tǒng)編版新教材語文小學(xué)一年級上冊第二單元測試題(有答案)
- 第5章 一元一次方程經(jīng)典例題 2024-2025學(xué)年人教版七年級數(shù)學(xué)上冊
- 【陜西部優(yōu)】《紅星照耀中國》公開課教案
- 搭陽光房安全協(xié)議書
- 人教版五年級上冊音樂《唱歌 盧溝謠》說課稿
評論
0/150
提交評論