版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、c語言課程設(shè)計(jì)前 言計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展,不僅極大地促進(jìn)了整個(gè)科學(xué)技術(shù)的發(fā)展,而且明顯地加快了經(jīng)濟(jì)信息化和社會信息化的進(jìn)程。因此,計(jì)算機(jī)教育在全國備受重視,計(jì)算機(jī)知識與能力已成為21世紀(jì)人才素質(zhì)的基本要素之一。如今,高等教育的計(jì)算機(jī)教育發(fā)展十分迅速。十多年前,只有部分理工科專業(yè)開設(shè)計(jì)算機(jī)課程。今天,幾乎所有高校的所有專業(yè)都開設(shè)了程度不同的計(jì)算機(jī)課程。人們已經(jīng)認(rèn)識到,計(jì)算機(jī)知識已成為當(dāng)代知識分子知識結(jié)構(gòu)中不可缺少的重要組成部分。而除了掌握計(jì)算機(jī)的基礎(chǔ)知識和操作的基本能力外,掌握一門高級編程語言,并可以熟練運(yùn)用它,已成為當(dāng)代大學(xué)生綜合能力必要組成。計(jì)算機(jī)技術(shù)發(fā)展如此迅猛,計(jì)算機(jī)應(yīng)用如此廣泛,需要學(xué)
2、習(xí)的東西愈來愈多,而我們的總學(xué)時(shí)是有限的。一般來說,計(jì)算機(jī)課程學(xué)習(xí)可以分為兩部分:一部分是理論課程學(xué)習(xí),一部分是上機(jī)應(yīng)用實(shí)習(xí)。根據(jù)我們專業(yè)的性質(zhì)和要求,則應(yīng)側(cè)重于上機(jī)操作運(yùn)用。為此,學(xué)校特意在暑期最后一星期安排了32個(gè)學(xué)時(shí)的上機(jī)實(shí)習(xí)?,F(xiàn)將一星期的實(shí)習(xí)內(nèi)容及結(jié)果分析分列如下:投票程序一.題目要求:設(shè)有代號為a,b,c的三個(gè)個(gè)足球先生候選人,根據(jù)投票者在選票上對他們編號的填寫順序分別記分5,3,2。請編程從鍵盤上輸入投票人數(shù)及投票結(jié)果,統(tǒng)計(jì)他們的得分,并輸出哪位當(dāng)選足球先生。請注意;若同一張票上寫有兩個(gè)相同代號,則顯示“此票無效”,若最終前兩名得分相同應(yīng)顯示“重新投票”,否則顯示三個(gè)候選者得分并輸
3、出“祝賀x當(dāng)選冠軍!”。二. 需求分析: 根據(jù)題目要求,選票數(shù)據(jù)以txt文件的形式存儲,所以應(yīng)提供文件的打開,關(guān)閉,輸入,輸出等操作,并對讀取的文件進(jìn)行調(diào)用。三總體設(shè)計(jì)根據(jù)題目要求,可對程序進(jìn)行如下設(shè)計(jì):主菜單函數(shù)選票人數(shù)模塊選票人數(shù)模塊數(shù)選票信息分?jǐn)?shù)統(tǒng)計(jì)選舉結(jié)果退出選出冠軍打開“vote. txt”文件顯示選票人數(shù)讀取“vote. txt”信息顯示選票信息處理選票票數(shù)清零票數(shù)累加并計(jì)分顯示候選人得分四詳細(xì)設(shè)計(jì):1.主函數(shù) 本系統(tǒng)主要用主函數(shù)調(diào)用打開的選票數(shù)據(jù)和進(jìn)入主菜單函數(shù),通過調(diào)用主菜單函數(shù)實(shí)行主函數(shù)的功能。主菜單函數(shù)輸入5 選擇輸入15的數(shù)輸入14的數(shù)退出選擇輸入1或2輸入2輸入1入程序
4、main() void choose(); menu();void menu() void choose();int n,w;do puts(tt足球先生投票程序);puts(tt );puts(tt 1.選票人數(shù): );puts(tt 2.選票信息: );puts(tt 3.分?jǐn)?shù): ); puts(tt 4.結(jié)果: );puts(tt 5.退出 );puts(tt );puts(tt);printf(請選擇你的數(shù)字(1-5): bb);scanf(%d,&n);if(n5) w=1;getchar();else w=0;while(w=1);switch(n)case 1:innum();b
5、reak;case 2:input();break;case 3:output();break;case 4:choose();break;case 5:exit(0);2.選票人數(shù)模塊 選票信息保存在“voter.txt”文件中,之前已通過只讀的方式從“voter.txt”文件中打開并讀取出來并保存在之前建立的結(jié)構(gòu)體變量votenum中。通過調(diào)用選票信息統(tǒng)計(jì)選票人數(shù),并通過選擇函數(shù)菜單返回或退出。程序void innum()int i=loadvote();printf(n選票人數(shù):t%dnn,i);select();3選票信息模塊 讀取選票信息,用for循環(huán)語句進(jìn)行票數(shù)的統(tǒng)計(jì)并用if el
6、se語句進(jìn)行選擇,如果出現(xiàn)票數(shù)一樣的則選票無效,通過調(diào)用累加函數(shù)將票數(shù)統(tǒng)計(jì)結(jié)果統(tǒng)計(jì)出來。 程序void input()int i;int m=loadvote();printf(n);number0.num=number1.num=number2.num=0;for(i=0;im;i+)printf(%c %c %c,votei.c1,votei.c2,votei.c3);if(votei.c1=votei.c2|votei.c1=votei.c3|votei.c2=votei.c3) printf(t該票無效!n);else add(votei.c1,votei.c2,votei.c3);p
7、rintf(n);printf(nn);select();4. 分?jǐn)?shù)統(tǒng)計(jì)模塊 通過三人所得票數(shù)按照計(jì)分方法將三人的得分計(jì)算出來,也要用到for循環(huán)語句和if else語句,并分別用將三人的得分結(jié)果輸出來。程序void output() int n,i;n=loadvote();number0.num=number1.num=number2.num=0;for(i=0;inumber1.num&number0.numnumber2.num)c=1;else if(number1.numnumber0.num&number1.numnumber2.num)c=2; else if(number2.
8、numnumber1.num&number2.numnumber0.num)c=3; else printf(重新選票!n);main();switch(c)case 1:printf(n祝賀a當(dāng)選冠軍!nnn);select();case 2:printf(n祝賀b當(dāng)選冠軍!nnn);select();case 3:printf(n祝賀c當(dāng)選冠軍!nnn);select();6.選擇模塊 選擇函數(shù)的建立是為了每運(yùn)行完一個(gè)模塊之后都可以通過選擇函數(shù)返回或退出。void select()int m,w; doputs(下一個(gè));puts(tt);puts(tt );puts(tt1. 返回 );
9、puts(tt2. 退出 );puts(tt ); puts(ttn);printf(請選擇你的數(shù)字(1-2): bb);scanf(%d,&m);if(m2)w=1;printf(錯(cuò)誤n);select();else w=0; switch(m)case 1:printf(nn);menu();break;case 2:exit(0);while(w=1);五.完整編寫過程如下:完整程序#include#include#include#define num 20struct foodchar c;int num;number3;struct vote char c1; char c2; ch
10、ar c3;votenum;void count(char c,int n);void menu()int loadvote()file *fp;int i;if(fp=fopen(voter.txt,r)=null)printf(n不能打開此文件n);return 0; for(i=0;!feof(fp);i+)fscanf(fp,%s%s%s,&votei.c1,&votei.c2,&votei.c3); fclose(fp); return(i);void select()int m,w; doputs(下一個(gè));puts(tt);puts(tt );puts(tt1. 返回 );put
11、s(tt2. 退出 );puts(tt ); puts(ttn);printf(請選擇你的數(shù)字(1-2): bb);scanf(%d,&m);if(m2)w=1;printf(錯(cuò)誤n);select();else w=0; switch(m)case 1:printf(nn);menu();break;case 2:exit(0);while(w=1);void innum()int i=loadvote();printf(n選票人數(shù):t%dnn,i);select();void add(char c1,char c2,char c3)int i;for(i=0;i3;i+)switch(i)
12、case 0:count(c1,5);break;case 1:count(c2,3);break;case 2:count(c3,2);void count(char c,int n)switch(c)case a:number0.num+=n;break;case b:number1.num+=n;break;case c:number2.num+=n;void input()int i;int m=loadvote();printf(n);number0.num=number1.num=number2.num=0;for(i=0;im;i+)printf(%c %c %c,votei.c
13、1,votei.c2,votei.c3);if(votei.c1=votei.c2|votei.c1=votei.c3|votei.c2=votei.c3) printf(t該票無效!n);else add(votei.c1,votei.c2,votei.c3);printf(n);printf(nn);select();void output() int n,i;n=loadvote();number0.num=number1.num=number2.num=0;for(i=0;in;i+)if(votei.c1=votei.c2|votei.c1=votei.c3|votei.c2=vot
14、ei.c3); else add(votei.c1,votei.c2,votei.c3); printf(n候選人的得分:t);printf(a: %dn,number0.num); printf(b: %dn,number1.num); printf(c: %dnnn,number2.num);select(); main() void choose(); menu();void menu()void choose();int n,w;do程puts(tt足球先生投票序);puts(tt );puts(tt 1.選票人數(shù): );puts(tt 2.選票信息: );puts(tt 3.分?jǐn)?shù):
15、); puts(tt 4.結(jié)果: );puts(tt 5.退出 );puts(tt );puts(tt);printf(請選擇你的數(shù)字(1-5): bb);scanf(%d,&n);if(n5) w=1;getchar();else w=0;while(w=1);switch(n)case 1:innum();break;case 2:input();break;case 3:output();break;case 4:choose();break;case 5:exit(0);void choose() int c;if(number0.numnumber1.num&number0.numnumber2.num)c=1;else if(number1.numnumber0.num&number1.numnumber2.num)c=2; else if(number2
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度BIM模型在景觀設(shè)計(jì)中的應(yīng)用合同
- 《轉(zhuǎn)甲狀腺素蛋白在腫瘤研究中的進(jìn)展》
- 《NURBS曲線插補(bǔ)實(shí)時(shí)前瞻控制方法的研究》
- 《基于區(qū)塊鏈遠(yuǎn)程醫(yī)療會診決策共識模型的研究》
- 2024年度IDC機(jī)房網(wǎng)絡(luò)設(shè)備租用合同
- 《城市低收入人群身體自尊與生活滿意度關(guān)系研究》
- 2024年安全型車庫門制造銷售合同
- 2024年建筑內(nèi)部承包合同
- 2024年瀘州大客車從業(yè)資格證考試試題
- 2024年銅仁經(jīng)營性道路旅客運(yùn)輸駕駛員從業(yè)資格考試題庫
- 2024年企業(yè)數(shù)據(jù)存儲與安全服務(wù)合同
- 2022年北京市公務(wù)員錄用考試《行測》真題及答案解析
- 江蘇省泰興市2024-2025學(xué)年高三上學(xué)期期中考試語文試題(含答案)
- 家長會教學(xué)課件
- 律師事務(wù)所律師事務(wù)所風(fēng)險(xiǎn)管理手冊
- 2024年消防宣傳月知識競賽考試題庫500題(含答案)
- 2024年典型事故案例警示教育手冊15例
- 高一歷史(中外歷史綱要上冊)期中測試卷及答案
- 20K607 防排煙及暖通防火設(shè)計(jì)審查與安裝
- 一氧化碳中毒培訓(xùn)課件
- 教案(餐巾折花)
評論
0/150
提交評論