C++語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告分?jǐn)?shù)計(jì)算器_第1頁
C++語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告分?jǐn)?shù)計(jì)算器_第2頁
C++語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告分?jǐn)?shù)計(jì)算器_第3頁
C++語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告分?jǐn)?shù)計(jì)算器_第4頁
C++語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告分?jǐn)?shù)計(jì)算器_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論