版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、c+語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告 姓 名: 指 導(dǎo) 學(xué) 號(hào): 班 級(jí):10計(jì)本2班 日 期:2011年05月20日 計(jì)算機(jī)科學(xué)與技術(shù)系課程設(shè)計(jì)評(píng)分表課程名稱: 面向?qū)ο蟪绦蛟O(shè)計(jì) 分?jǐn)?shù)計(jì)算器 項(xiàng) 目評(píng) 價(jià)設(shè)計(jì)方案的合理性與創(chuàng)造性設(shè)計(jì)與調(diào)試結(jié)果設(shè)計(jì)說明書的質(zhì)量功能完善度綜合成績學(xué) 號(hào)班 級(jí)姓 名綜合成績 教師簽名: 日 期: c+語言課程設(shè)計(jì)簡單計(jì)算器說明書目 錄一、設(shè)計(jì)目標(biāo)2二、設(shè)計(jì)圖2三、圖解4四、調(diào)試和測試9五、分析及結(jié)論10六、附錄12一、設(shè)計(jì)目標(biāo)制作一個(gè)分?jǐn)?shù)計(jì)算器,以完成分?jǐn)?shù)之間,分?jǐn)?shù)與整數(shù)之間的四則運(yùn)算,以及求分?jǐn)?shù)的指數(shù)。系統(tǒng)界面不做牽制要求。在進(jìn)行運(yùn)算后可以選擇繼續(xù)運(yùn)算或者進(jìn)行下一次新的
2、運(yùn)算,能實(shí)現(xiàn)返回功能。二、設(shè)計(jì)圖進(jìn)入界面1、總體設(shè)計(jì)圖 主菜單安全退出分?jǐn)?shù)的指數(shù)運(yùn)算分?jǐn)?shù)與整數(shù)之間的四則運(yùn)算分?jǐn)?shù)與分?jǐn)?shù)之間的四則運(yùn)算2、詳細(xì)圖開始main()while()start()case0退出fenshu()js()case1js()case2zs()case3模塊功能說明及調(diào)用關(guān)系說明:三、圖解1、 歡迎使用簡單計(jì)算器2、 等待系統(tǒng)進(jìn)入主菜單在此選擇計(jì)算類型【選擇代碼,回車確定】1、為選擇分?jǐn)?shù)與分?jǐn)?shù)之間的四則運(yùn)算、2、為選擇分?jǐn)?shù)與整數(shù)之間的四則運(yùn)算3、為分?jǐn)?shù)的指數(shù)運(yùn)算0、為安全退出程序3、 選擇分?jǐn)?shù)與分?jǐn)?shù)之間的四則運(yùn)算分?jǐn)?shù)與分?jǐn)?shù)的加法 如:18/5+16/3=134/15分?jǐn)?shù)與分?jǐn)?shù)的
3、減法 如:1/6-/2=-1/3注:在此舉例分?jǐn)?shù)與分?jǐn)?shù)的加法 、減法計(jì)算完成后,按y或n,選擇是否繼續(xù),y則繼續(xù)本類運(yùn)算,n為返回到主菜單,再次進(jìn)行選擇4、 選擇分?jǐn)?shù)與整數(shù)之間的四則運(yùn)算分?jǐn)?shù)與整數(shù)的乘法 如:1/2*2=1/1分?jǐn)?shù)與整數(shù)的加法 如:1/5+6=31/5注:在此舉例分?jǐn)?shù)與整數(shù)的乘法 、加法計(jì)算完成后,按y或n,選擇是否繼續(xù),y則繼續(xù)本類運(yùn)算,n為返回到主菜單,再次進(jìn)行選擇5、 選擇分?jǐn)?shù)的指數(shù)運(yùn)算如:1/3的2次方等于1/9 如:2/3的2次方等于4/9 6、安全退出注:計(jì)算完成后,按y或n,選擇是否繼續(xù),y則繼續(xù)本類運(yùn)算,n為返回到主菜單,再次進(jìn)行選擇至此,以安全退出。四、調(diào)試和
4、測試、調(diào)試方法:首先打開microsoft visual c+ 6.0 ,運(yùn)行程序,出現(xiàn)錯(cuò)誤修改再運(yùn)行,直至運(yùn)行結(jié)果0 error ,0 warning結(jié)束。接著進(jìn)入程序界面,看程序能否實(shí)現(xiàn)所要求的各項(xiàng)功能,再作下一步的修改。、調(diào)試時(shí)出現(xiàn)的問題及解決方案:1、當(dāng)多次運(yùn)行程序時(shí),屏幕被運(yùn)行數(shù)據(jù)占滿,顯得很雜亂。解決方案:引用清屏函數(shù)。2、 在進(jìn)行運(yùn)算時(shí)要實(shí)現(xiàn)反復(fù)運(yùn)算得有返回功能,由于我們程序分支,不能正常的調(diào)用完畢后進(jìn)入下一個(gè)循環(huán),自動(dòng)返回。解決方案:直接在switch的cash語句中直接調(diào)用所需返回的函數(shù)。按y或n,選擇是否繼續(xù),y則繼續(xù)本類運(yùn)算,n為返回到主菜單,再次進(jìn)行選擇3、在一次運(yùn)算完
5、畢后如何不返回繼續(xù)作下一次的相同運(yùn)算。解決方案:作用循環(huán)語句,結(jié)果始終為真,結(jié)尾利用if語句控制是否跳入上級(jí)菜單或者continue。4、如何在歡迎界面停留時(shí)間。解決方案:通過for循環(huán),執(zhí)行無條件的;的語句,通過執(zhí)行次數(shù)控制程序在歡迎界面的停留時(shí)間。5、還有一些小錯(cuò)誤,比如未聲明就直接使用變量、未對(duì)一些變量初始化、聲明是空值函數(shù)卻有返回值、缺少;、使用getch(),system(cls)卻缺少相應(yīng)的頭文件,出現(xiàn)警告五、分析及結(jié)論在做這個(gè)課程設(shè)計(jì)報(bào)告之初是仿照以前的計(jì)算器,但是,由于程序行數(shù)做了要求,而且題目要求不一樣,所以我就在仿照以前的計(jì)算器的同時(shí),進(jìn)一步完善其功能。該程序是我經(jīng)過多次編
6、寫,修改,在不懂的問題上,與指導(dǎo)朋友劉華和劉洋 一起討論,根據(jù)觀察其他程序,通過菜單選擇實(shí)現(xiàn)不同功能得到的啟發(fā),將自己所需實(shí)現(xiàn)的功能通過文字形式的菜單表現(xiàn)出來。 然后再菜單處進(jìn)行選擇計(jì)算類型,正常完成計(jì)算,返回和退出。我最滿意的地方是“清屏”和“在界面上停留的時(shí)間”,總之這個(gè)程序基本能符合我自己的要求。不足之處:1、 代碼重用;2、 不能熟練的運(yùn)用類;3、 沒有用到指針和數(shù)組,對(duì)數(shù)組和指針還不能很好的運(yùn)用。心得體會(huì):通過這次課程設(shè)計(jì)我對(duì)這學(xué)期所學(xué)的c+語言的理論知識(shí)得到鞏固,達(dá)到該設(shè)計(jì)的基本目的,也發(fā)現(xiàn)自己的不足之出,在以后的上機(jī)中應(yīng)更加注意。同時(shí)體會(huì)到c+語言具有的語句簡潔,使用靈活,執(zhí)行效
7、率高等特點(diǎn)。發(fā)現(xiàn)上機(jī)實(shí)訓(xùn)的重要作用,特別是對(duì)數(shù)組和循環(huán)有了深刻的理解。發(fā)現(xiàn)自己對(duì)指針還不能正確使用。通過實(shí)際操作,學(xué)會(huì) c+語言程序編程的基本步驟、基本方法,開發(fā)了自己的邏輯思維能力,培養(yǎng)了分析問題、解決問題的能力。深刻體會(huì)到“沒有做不到的,只有想不到的”,“團(tuán)結(jié)就是力量”,“實(shí)踐是檢驗(yàn)真理的標(biāo)準(zhǔn)”,“不恥下問”的寓意。六、附錄 附錄源代碼:#include #include /數(shù)學(xué)函數(shù)的定義#include /屏幕操作函數(shù)#include /庫函數(shù)const int n=80000000; using namespace std;int xz;class jsqpublic:jsq()jsq
8、()menu(); /菜單fenshu(); /分?jǐn)?shù)之間的運(yùn)算js(); /整數(shù)與分?jǐn)?shù)運(yùn)算start(); /開始zs(); /分?jǐn)?shù)的指數(shù)運(yùn)算tc(); /退出fun(int t,int f);/約分函數(shù) private:int a,b,c,d,i,r,t,t1,f,f1,x;char n,q;void cd()/進(jìn)入界面int i,j;coutendlendlendlendl;cout endl;cout * 歡迎使用分?jǐn)?shù)計(jì)算器 *endl; cout endl;coutendlendl;cout |endl;cout |*|endl;cout | 重慶工商大學(xué)派斯學(xué)院 |endl;cout
9、 | 計(jì)算機(jī)科學(xué)系 |endl;cout | 制作人: 10計(jì)本2 鄧寅森 |endl;cout | 2011年5月 |endl;cout |*|endl;cout |endlendl;coutendl 正;for(i=0;in;i+);cout在;for(i=0;in;i+);cout進(jìn);for(i=0;in;i+);cout入;for(i=0;in;i+);cout系;for(i=0;in;i+);cout統(tǒng);for(i=0;in;i+);cout,;for(i=0;in;i+);cout請(qǐng);for(i=0;in;i+);cout稍;for(i=0;in;i+);cout等;for(i=0
10、;in;i+);for(j=0;j=6;j+)cout.;for(i=0;in;i+);for(i=0;i8*n;i+);coutendlendl;coutendsendsendsendsendsendsendsendsendsendsendsendsendsendsends;for(j=0;j=50;j+)cout;for(i=0;i=50000000;i+);jsq:menu() / 主菜單 dosystem(cls); /清屏coutendl;cout endl;cout *簡單計(jì)算器*endl;cout endlendl; cout 1: 分?jǐn)?shù)之間的運(yùn)算endlendl;cout 2:
11、 整數(shù)與分?jǐn)?shù)運(yùn)算endlendl;cout 3: 分?jǐn)?shù)的指數(shù)運(yùn)算endlendl;cout 0: 退 出endlendl; coutxz;while(xz3); /循環(huán)結(jié)束條件jsq:start()/自定義科學(xué)函數(shù)jsq js;js.menu();while(xz=1 & xz=3) switch(xz) case 1: js.fenshu();break; case 2: js.js();break; case 3: js.zs();break; coutendlendl; cout 是否繼續(xù)進(jìn)行運(yùn)算(yn): ;/提示是否繼續(xù) if(getch()=n) js.menu(); /調(diào)用標(biāo)準(zhǔn)函
12、數(shù)實(shí)現(xiàn)返回 else continue; /重復(fù)上一次法則運(yùn)算 if(xz=0)js.tc();jsq:fun(int t=0,int f=0)/約分int r,t1=t,f1=f;while(r=t%f)!=0) t=f; f=r;t1=t1/f;f1=f1/f;coutendl 計(jì)算結(jié)果為:t1/f1endl;jsq:tc()/退出coutendlendl 正 在 安 全 退 出 請(qǐng)稍候.;for(;i30000;i+) ; /*控制界面停留時(shí)間*/system(cls);/清屏coutendlendlendl endl; cout 謝 謝 使 用 endl; cout bay-bay e
13、ndl; cout endl;for(;i500000000;i+) ; /*控制界面停留時(shí)間*/system(cls);/清屏jsq:fenshu()/自定義分?jǐn)?shù)函數(shù)jsq js;system(cls);coutendl;cout=endl;cout歡迎使用分?jǐn)?shù)之間的計(jì)算endl;cout=endlendl;coutanb;coutendl 請(qǐng)選擇計(jì)算方式endlq;coutendlcnd;if(b=0 | d=0) coutendl 輸入錯(cuò)誤或分?jǐn)?shù)無意義endl;fenshu();switch(q)case+:t1=t=a*d+b*c;/分子f1=f=b*d;/分母js.fun(t1,f1
14、);break;case-:t1=t=a*d-b*c;f1=f=b*d;js.fun(t1,f1);break;case*:t1=t=a*c;f1=f=b*d;js.fun(t1,f1);break;case/:t1=t=a*d;f1=f=b*c;js.fun(t1,f1);break;jsq:js()/自定義分?jǐn)?shù)函數(shù)【分?jǐn)?shù)+整數(shù)】system(cls);/清屏coutendl; cout =endl;cout 歡迎使用分?jǐn)?shù)與整數(shù)運(yùn)算endl;cout =endlendl;coutanb;coutendl 請(qǐng)選擇計(jì)算方式endlq;coutendlx;if(b=0) coutendl 輸入錯(cuò)誤或分?jǐn)?shù)無意義endl;fenshu();switch(q)case+:t1=t=x*b+a;f1=f=b;fun(t1,f1);break;case-:t1=t=a-b*x;f1=f=b;fun(t1,f1);break;case*:t1=t=a*x;f1=f=b;fun(t1,f1);break;case/:t1=t=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年春九年級(jí)語文下冊(cè) 第二單元綜合測試卷(人教寧夏版)
- 金工實(shí)習(xí)總結(jié)100字(5篇)
- 固體制劑、中藥飲片生產(chǎn)技改擴(kuò)建項(xiàng)目可行性研究報(bào)告
- 模具加工生產(chǎn)線技改項(xiàng)目可行性報(bào)告
- 人事給老板提建議簽合同的總結(jié)
- 入駐醫(yī)療產(chǎn)業(yè)園合同范本
- 醫(yī)療機(jī)構(gòu)法務(wù)人員招聘協(xié)議
- 軌道交通項(xiàng)目招標(biāo)授權(quán)書
- 聘用協(xié)議范本
- 娛樂行業(yè)應(yīng)屆生勞動(dòng)合同管理
- 2024二十屆三中全會(huì)知識(shí)競賽題庫及答案
- 預(yù)防接種工作規(guī)范(2023年版)解讀課件
- 醫(yī)院檢驗(yàn)外包服務(wù)項(xiàng)目招標(biāo)文件
- 檔案整理及數(shù)字化服務(wù)方案
- 正高級(jí)會(huì)計(jì)師答辯面試資料
- 田間生產(chǎn)管理記錄檔案
- 道路橋涵工程施工方案(完整版)
- 智慧城市建設(shè)論文5篇
- 人教版八年級(jí)地理(上冊(cè))期中試卷及答案(完整)
- 園林綠化工程施工及驗(yàn)收規(guī)范(完整版)
- 光伏冬季施工方案(1)(完整版)
評(píng)論
0/150
提交評(píng)論