




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、C+銀序設(shè)計實踐報告中南大學(xué)C+課程設(shè)計設(shè)計報告學(xué)生姓名學(xué)號專業(yè)班級指導(dǎo)老師*2011年6月1、實驗?zāi)康摹?nèi)容32、題目一:比賽求平均分2.1 程序內(nèi)容32.2 實驗程序設(shè)計及結(jié)構(gòu)323設(shè)計過程32.4 運行結(jié)果43、題目二:火柴游戲3.1 程序內(nèi)容53.2 實驗程序設(shè)計533設(shè)計過程53.4 運行結(jié)果64、題目三:足球比分4.1 設(shè)計內(nèi)容64.2 設(shè)計方案75、設(shè)計的特點與心得7參考文獻(xiàn)7附錄題目一實驗源代碼8題目二實驗源代碼*10題目三實驗源代碼-121、實驗?zāi)康摹?nèi)容通過課程設(shè)計,能夠熟練運用C+進行面向?qū)ο缶幊?建立對象模型,降低軟件的復(fù)雜性,改善軟件的重用性和維護性,提高軟件的生產(chǎn)效
2、率,全面掌握面向?qū)ο缶幊碳夹g(shù).要求學(xué)生在指導(dǎo)老師的指導(dǎo)下,獨立完成實習(xí)課題的全部內(nèi)容,包括:(1) 通過調(diào)查研究和上機實習(xí),收集和調(diào)查有關(guān)技術(shù)資料;(2) 掌握設(shè)計課題的基本步驟和方法;(3) 根據(jù)課題的要求進行上機實驗調(diào)試.2、題目一:比賽求平均分2.1 程序內(nèi)容在體育、文藝比賽及選舉等打分類項目中,為了公平起見,往往n個評委打出分?jǐn)?shù)后,要去掉一個最高分和一個最低分,然后求取平均得分。當(dāng)n較大時(本題設(shè)為9),則應(yīng)取掉兩個最高分和兩個最低分,然后求取平均分。編程實現(xiàn)該算法。2.2 實驗程序設(shè)計及結(jié)構(gòu)(1)需求分析:輸入9個評委所打分?jǐn)?shù),程序運行最后結(jié)果為去掉最高分和最低分后的平均分(2)設(shè)計
3、結(jié)構(gòu):總體結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)Hiniib山n$n-ri7rii>IJ-磯0al曰口a3Ja4a5a6J胃磯同從a到a9依次為9位評委的打分.2.3 設(shè)計過程(1)建立iostream/ofstream/fstream、輸入、輸出、輸入輸出流對象,建立ifndef,define預(yù)編命令,STRUCT據(jù).根據(jù)流程圖,建立main函數(shù),并運用for循環(huán).(3)運行main函數(shù)進行調(diào)試.2.4 運行結(jié)果1 L皿Jb1M_J_k3、題目二:火柴游戲3.1 程序內(nèi)容:23根火柴游戲:兩個游戲者開始擁有23根火柴(或小棒)。每個游戲者輪流移走1根、2根或3根火柴,拿到最后一根火柴的就算輸了。編一程序與計算機
4、玩這個游戲。3.2 實驗程序設(shè)計(1)需求分析:運行程序能使人與計算機進行23根火柴游戲。設(shè)計思路:使計算機能最先使火柴變成4或4以下計算機就能贏了。3.3 設(shè)計過程(1)建立iostream/ofstream/fstream、輸入、輸出、輸入輸出流對象,建立ifndef,define預(yù)編命令,STRUCT據(jù).(2)根據(jù)設(shè)計思路運用if判斷語句設(shè)計(3)建立main函數(shù)(4)運行main函數(shù)調(diào)試3.4 運行結(jié)果,"D: .iVicrcso Yisujt Studio c.CMyDrojecr&3Debugs.txF請玩家草取吠柴灰罡病掉了泳戲用j F國早三了,: 豈前還剃b根
5、 iT火第'D:Mk"osoft Vi>LI Studio 凡0,Pro:ect55Dewq3e'囑氟蹦律惠取火柴,q - 閽嚶 m.三眼火柴4、題目三:足球比分4.1 設(shè)計內(nèi)容:問題描述足球聯(lián)賽采用主客場雙循環(huán)賽制,勝一場得3分,平局各得1分,負(fù)一場得。分,聯(lián)賽排名以積分多者在前,當(dāng)兩隊(或多隊)積分相同時,則凈勝球(即進球數(shù)與失球數(shù)之差)多者在前,若凈勝球相同,則進球數(shù)多者在前,若仍相同,則抽簽或踢附加賽決定名次(這在聯(lián)賽結(jié)束后進行,聯(lián)賽未結(jié)束則兩隊名次并列,本程序不做這方面要求)。試編一程序統(tǒng)計最近一輪比賽后,各隊積分及排名。基本要求設(shè)積分表結(jié)構(gòu)如下:隊名
6、(不超過15個字符),已比賽的場數(shù),贏的場數(shù),平的場數(shù),負(fù)的場數(shù),進球數(shù),失球數(shù),積分。積分表放在正文文件中。最近一輪的結(jié)果從鍵盤輸入,其形式為:主隊名(可用代碼),客隊名(可用代碼),主隊得分(即進球數(shù)),客隊得分(即進球數(shù))。程序應(yīng)根據(jù)此輪結(jié)果修改各隊的積分和名次,所得的最新記分表仍在原積分文件中并同時在屏幕上顯示。測試數(shù)據(jù)可選擇我國當(dāng)年的甲A或甲B聯(lián)賽的數(shù)據(jù)輸入,并檢查與報章公布的數(shù)據(jù)是否一致。4.2 設(shè)計方案:定義一個球隊類和對象數(shù)組,每個球隊均是球隊類的對象。由于聯(lián)賽中參賽隊伍數(shù)目是固定的,因此將每個球隊存放在對象數(shù)組的一個數(shù)組元素中。每輸入兩個隊的比賽成績,則相應(yīng)的隊的有關(guān)數(shù)據(jù)(比
7、賽場數(shù),贏得場數(shù),進球數(shù)等等)即可進行修改,比賽成績錄入完成,調(diào)用聯(lián)賽排序方法(對象數(shù)組作為參數(shù),積分為排序元素)排出名次并輸出。5、設(shè)計的特點與心得:經(jīng)過一個學(xué)期的學(xué)習(xí)和上機實踐,使我對C+吾言有了更認(rèn)識和和了解,要想學(xué)好它要重在實踐,要通過不斷的上機操作才能更好的學(xué)習(xí)它,通過實踐,我也發(fā)現(xiàn)我的好多不足之處,對各種控制結(jié)構(gòu)及語句、數(shù)組的基本與高級應(yīng)用、指針數(shù)組、字符數(shù)組、動態(tài)數(shù)組、函數(shù)的定義、調(diào)用方式;函數(shù)在編程中的具體應(yīng)用;以及變量存儲特征與標(biāo)識符的作用域,通過實踐,使我在這些方面有了認(rèn)識和提高。課程設(shè)計它是一項任務(wù),更是一種挑戰(zhàn)和歷練。在課程設(shè)計中,為了使用時方便,著重對不足方面的知識進
8、行了分析與理解,在這一過程中對文件的操作有了很大的提高。通過實際的演練,可以增強對知識的理解和運用能力。參考文獻(xiàn)1、楊長興、劉衛(wèi)國,C+程序設(shè)計,中國鐵道出版社,2008年附錄題目一實驗源代碼:#include<stdio.h>#include<iostream.h>voidmain()inta9,i,j,temp,b=0,s;cout<<"請打分:"<<endl;for(i=0;i<9;i+)cin»ai;for(i=0;i<9;i+)for(j=i;j<9;j+)(if(ai<=aU)(t
9、emp=ai;ai=aj;aj=temp;)for(i=2;i<7;i+)(b=b+ai;)s=b/5;cout«"最后成績?yōu)椋?quot;«s;)題目二實驗源代碼:#include<stdio.h>#include<stdlib.h>#include<iostream>intgetMin(inta,intb)returna<b?a:b;intmain()printf("游戲開始n");intcount=23;intinput;intcomputerInput;while(true)printf(
10、"當(dāng)前還剩%d根火柴,請玩家拿取火柴:n",count);printf("1.一根火柴");if(count>=2)printf("2.兩根火柴");if(count>=3)printf("3.三根火柴");printf("n");while(true)2&&count >=std:cin>>input;if(input=1|(input2)|(input=3&&count>=3)break;elseprintf("請
11、正確輸入序號n");count-=input;if(count=0)printf("游戲結(jié)束,玩家輸?shù)袅擞螒騨");break;if(count%4=1)computerInputrand()%(getMin(count,3)+1;elsecomputerInput=(count%4=0)?3:count%4-1;printf("電腦拿走了%d根火柴n",computerInput);count-=computerInput;if(count=0)printf("游戲結(jié)束,電腦輸?shù)袅擞螒騨");break;system(&q
12、uot;pause");題目三實驗源代碼:/程序需要先在d盤建立2個文本文檔teams.txt,teamlist.txt,以保存球隊信息和比分信息/#include<iostream>#include<string>#include<fstream>usingnamespacestd;classTeamprivate:intgoal;intcgoal;intpgoal;intwin;intlost;intequal;intscorce;public:charname20;Team()goal=0;cgoal=0;pgoal=0;win=0;lost
13、=0;equal=0;scorce=0;voidDisplay()cout<<name<<''<<goal<<''<<cgoal<<'<<pgoal<<''<<win<<''<<lost<<''<<equal<<'<<scorce<<endl;voidgoalchg(inta);voidmatchchg(int
14、a,intb);voidmatch(Team&t);voidsetIm();intgetS();intgetPG();voidTeam:goalchg(inta)if(a>0)this->goal+=a;if(a<0)this->cgoal-=a;pgoal=goal-cgoal;voidTeam:matchchg(inta,intb)if(a>b)this->win+=1;this->scorce+=3;if(a<b)this->lost+=1;if(a=b)this->equal+=1;this->scorce+=1
15、;voidTeam:match(Team&t)inta,b;cout<<"presshome'sgoal:"cin>>a;if(a<0)cout<<"warning"<<endl;exit(1);cout<<"pressihome'sgoal:"cin>>b;if(b<0)cout<<"warning"<<endl;exit(1);this->goalchg(a);this-&g
16、t;goalchg(0-b);t.goalchg(b);t.goalchg(0-a);this->matchchg(a,b);t.matchchg(b,a);voidTeam:setIm()cout<<"team'sname:"cin>>this->name;intTeam:getS()returnthis->scorce;intTeam:getPG()returnthis->pgoal;voidgetteamlist();fstreamteam("d:teams.txt",ios:in|ios:o
17、ut|ios:binary);voidmain()charname20;Teamt5;intt1,t2;charn;inti;if(!team)cout<<"lostfile"<<endl;exit(1);teamwhile(1)cout<<"doyouhavesettheIM?(Y)"<<endl;cin>>n;if(n='Y'|n='y')break;for(inti=0;i<=4;i+)ti.setIm();team.write(char*)&
18、ti,sizeof(ti);break;team.seekg(0,ios:beg);for(i=0;i<5;i+)team.read(char*)&ti,sizeof(ti);while(1)cout<<"isanymatchnow?(N)"<<endl;cin>>n;if(n='N'|n='n')break;docout<<"hometeamname:"cin>>name;for(i=0;i<5;i+)if(strcmp(name,ti.na
19、me)=0)t1=i;break;elsecontinue;while(i=5);docout<<"keteamname:"cin>>name;for(i=0;i<5;i+)if(strcmp(name,)=0)t2=i;break;elsecontinue;while(i=5);tt1.match(tt2);team.seekg(0,ios:beg);for(i=0;i<5;i+)team.write(char*)&ti,sizeof(ti);getteamlist();voidgetteamlist()Teamt15;Teamhao;fstreamgamelist("d:teamlist
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025【強化合同管理的緊迫性】合同管理為何重要
- 2025飲料供應(yīng)合同協(xié)議書范本
- 2024年電纜橋架項目資金籌措計劃書代可行性研究報告
- 2024年塑料加工專用設(shè)備項目資金籌措計劃書代可行性研究報告
- 2025建筑陶瓷采購合同模板
- 2025合作生產(chǎn)協(xié)議合同格式
- 《信息化時代的檔案管理:課件發(fā)展新篇章》
- 2025合作合同:加盟合同
- 2025電子產(chǎn)品買賣合同
- 2025授權(quán)銀行代繳醫(yī)療保險費合同樣本
- GB 7718-2025食品安全國家標(biāo)準(zhǔn)預(yù)包裝食品標(biāo)簽通則
- 2025年高考?xì)v史總復(fù)習(xí)世界近代史專題復(fù)習(xí)提綱
- 對患者入院評估的系統(tǒng)化方法試題及答案
- 教育與社會發(fā)展的關(guān)系試題及答案
- 內(nèi)蒙古匯能集團筆試題庫
- 七年級英語下學(xué)期期中押題預(yù)測卷(深圳專用)(原卷版)
- 2024年貴州貴州路橋集團有限公司招聘真題
- DB11-T 2397-2025 取水供水用水排水?dāng)?shù)據(jù)庫表結(jié)構(gòu)
- 多式聯(lián)運模式在跨境電商中的應(yīng)用-全面剖析
- 產(chǎn)后保健知識課件
- 2025年應(yīng)急管理普法知識競賽題(附答案)
評論
0/150
提交評論