#中南大學(xué)C++課程方案實踐報告_第1頁
#中南大學(xué)C++課程方案實踐報告_第2頁
免費預(yù)覽已結(jié)束,剩余22頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、課程設(shè)計實踐報告設(shè)計題目:簡易計算器姓名:專業(yè)班級:學(xué)號:指導(dǎo)老師:上課地點:上 課 時 間1 / 19設(shè)計要求 :1設(shè)計思想 1程序代碼 1調(diào)試過程 10運行結(jié)果 11 心得目錄體會16設(shè)計要求 :用 visual C+ 程序設(shè)計一個簡易的計算器,具有多種功能。例如加 減乘除、階乘、溫度轉(zhuǎn)換等。設(shè)計思想為了方便起見,我主要是以類和對象來進行設(shè)計,將各個功能化成 各個小類,然后綜合的用 main 主函數(shù)來運行以保證程序的穩(wěn)定可靠 性程序代碼#include#include#include#includeusing namespace stdclass showpublic:void showt

2、ime(2/ 19cout*coutvv1加減乘除運算2.復(fù)數(shù)乘法運算endl。coutvv3素數(shù)判斷vv4.最小公倍數(shù),最大公約數(shù) vvendl。coutvv5一元二次方程求解 vvsetw(20vv6.求階乘vvendl。coutvv7排列組合求解vvsetw(26vv8.溫度轉(zhuǎn)換vvendl。coutvvendlvv* 版權(quán)所有 * 盜版不究 * 本代碼最終解釋權(quán)歸 fengkj 所有*vvendl。class jiajianint i。double a,b,s。public:void print(coutvv1加 法 運 算 vvt2減 法 運 算 vvt3乘 法運 算vvt4除法運算

3、 vvendl歡迎使用i。coutvv請輸入兩個數(shù) a,bva。 coutvvb=。 cinb。switch(icase 1:s=a+b。 coutvvavv+vvbvv=vvs 。break。case 2:s=a-b。 coutvvavv-vvbvv=vvs 。break。case 3:s。 s=a*b。 coutvvavv*vvbvv=vvs 。break。case 4:if(b=0coutvv 數(shù) 據(jù) 錯 誤 ! 。 elses=a/b 。coutvvavv/vvbvv=vvs 。 break。default:coutvv代號數(shù)據(jù)錯誤,請重輸。goto here。class fushu4

4、/ 19float a,b,c,d,j,k。public:void getin(coutvv請輸入兩個復(fù)數(shù):vvendl。coutvvx=_+_i。cinab。coutvvy=_+_i。cincd。void multi(j=a*c-b*d 。 k=b*c+a*d 。 void print(if(k0coutvvx+y=vvjvv+vvkvvivvendl 。 elseif(kv0coutvvx+y=vvjvv-vv-kvvivvendl。elsecoutvvx+y=vvjvvendl 。 。class sushupublic:long t。void get(coutvv請輸入一個待驗證的數(shù) x

5、:。cint。int prime(long x5/ 19long i。for(i=2。 ivx/2。 i+6/ 19if(x%i=0return 2 。return 3。void print(long x。 x=t。 if(prime(x=2coutvvtvv不是素 數(shù)。else coutvvtvv1是素數(shù)。class gongbeishulong x,y,max,min。public:void get(coutvv請輸入兩個正整數(shù) x,y:vvendl。coutvvx=。 cinx。 coutvvy=。 ciny。void jisuan(long m,n,r,t。m=x。 n=y。t=m*n

6、 。if(mvnr=m 。 m=m。 n=r。 while(r=m%n!=07/ 19m=n。8/ 19n=r。max=n。min=t/n。void print(coutx 和 ycoutvv請輸入方程的系數(shù) a,b,c:vvendl。coutvva= 。 cina。 coutvvb= 。 cinb。 c=。cinc。 void jisuan(float i。 i=b*b-4*a*c 。 t=0。 s=0。if(i=0 x1=(-b+sqrt(i/(2*a。sqrt(i/(2*a。elsex1=-b/(2*a 。x2=-b/(2*ai/(2*a 。 t=-sqrt(-i/(2*a 。 void

7、 print(大公約數(shù)coutvv常數(shù)x2=(-b-。 s=sqrt(-9/ 19coutvv方程的解為:vvendl。coutx1=x1+titx2=x2+scoutvv請輸入待階乘的數(shù):n=。cinn。 void jisuan(int i。s=1。for(i=1。 ivn。 i+s*=i 。void print(coutvv階乘結(jié)果為:vvn!=vvs。class pailieint n,r 。10/ 19public:void get(ak: coutvv請輸入排列組合數(shù):C(n,r、P(n,r:vvendl。 coutvvn=。cinn。coutvvr=。cinr。if(nvrcout

8、vv數(shù)據(jù)錯誤,請重新輸入!。goto ak。int jiecheng(int xint i,s=1。 for(i=1。 iv=x。 i+s*=i 。 return s。 void print(coutvv排列數(shù) P=vvjiecheng(n/jiecheng(n-rvv,vv組合 數(shù)C=vvjiecheng(n/(jiecheng(r*jiecheng(n-r。 。class wenduint i。float n,s。public:void get(coutvv請選擇溫度轉(zhuǎn)換方向:0 攝氏轉(zhuǎn)華氏 1.華氏轉(zhuǎn)攝氏:。cini。11/ 19coutvv請輸入溫度:。cinn。void zhuanh

9、uan(s=0。if(!is=32+n*1.8。else s=(n-32/1.8 void print(if(!icoutvv攝氏溫度為:nC,int i,pp=1,ss=1。while(ppsystem(cls。show v。v.showtime(。qq: coutvv請輸入您要進行運算的編碼:。cini。switch(icase 1:g1: jiajian aa。aa.print(。coutvv重新計算請按 1,否貝 U 請 按12/ 190 。 cinss。 if(ssgoto g1。 else break。case 2:g2: fushu bb。 bb.getin(。 bb.multi

10、(。 bb.print(。 coutvv重新計算請按 1, 否貝 請按 0。 cinss。 if(ssgoto g2。 else break。case 3:g3: sushu cc。cc.get(。cc.print(。coutvv重新計算請按1,否則請按 0 。 cinss。 if(ssgoto g3。 else break。case 4:g4: gongbeishu dd。 dd.get(。 dd.jisuan(。 dd.print( 。coutvv重新計算請按 1,否則請按 0。cinss if(ssgoto g4。 elsebreak。case 5:g5: qiujie ee。 ee.g

11、et(。 ee.jisuan(。 ee.print(。 coutvv重 新計算請按 1,否則請按 0。 cinss。 if(ssgoto g5。 else break。case 6:g6: jiecheng ff。ff.get(。ffjisuan(。ff.print(。coutvv重 新計算請按 1,否則請按 0。 cinss。 if(ssgoto g6。 else break。case 7:g7: pailie gg。gg.get(。gg.print(。coutvv重新計算請按 1,否則請按 0。 cinss。 if(ssgoto g7。 else break。case 8:g8: wend

12、u hh 。 hh.get(。 hh.zhuanhuan(。 hh.print( 。coutvv重新計算請按 1,否則請按 0。cinssD if(ssgoto g8。 elsebreak。default:coutvv數(shù)據(jù)錯誤!請輸入 18 之間的一個整數(shù)。goto qq。coutvv返回主菜單請按 1,退出程序請按 0。cinpp。13/ 19調(diào)試過程因為學(xué)的知識不是很多,也不是很熟練,在最開始的時 候老是范一些小錯誤,而且很多語法錯誤,比如忘了寫分號 啊,把分號寫成逗號啦。而且忘了寫全 就會出現(xiàn)很多個錯 誤,在一個龐大的程序里面找這些錯誤再一一改正,很可能 還是不能運行,但是多加一個 就很

13、可能全部錯誤都搞定! 調(diào)試的時候很多地方都是牽一發(fā)而動全身,特別是修改的時 候,修改一個變量就得把其他部分的都改掉,不然就會一直 出現(xiàn)錯誤。還經(jīng)常忘了定義變量就用,不過看英文提示面前 能看懂,也能找到相應(yīng)的錯誤。在把語法小錯誤解決之后就剩下運行了,但是運行的情 況不容樂觀,很多地方呢不是我想要的結(jié)果。例如在加減乘 除那里,因為當(dāng)時變量粗心的定義為 long ,得出的數(shù)總是為 整數(shù),后來改正為 float 后問題就解決了,還有就是開始界 面里的序列號對不齊,后來嘗試著用setw( 來解決,嘗試 多次后得以解決。在老師的建議之下通過包含stdlib.h 頭文件和調(diào)用 systemjcls涵數(shù)成功的

14、做到進行一次計算之后清理屏 幕的效果。14/ 19運行結(jié)果I KA 計算器占:XET*版權(quán)所有詛版不究*本代碼最終解釋權(quán)歸兔噸kj所有的”11加和請輸入您要進存運算苗編碼:.通過輸入編碼來選擇計算類型。例如輸入1.f 運數(shù)簷換刖丟乘轉(zhuǎn)afaf畧聚溫W. 算加素一排1 1 3 3 5 5 7 7求1 1十除更合蔚嚴本代眄釋權(quán)歸 Z 有I法運算沢乘法運算筑除進運算回M M M M M H求算1 1運除更合囂1010素-排B1313 5 5 7 7M M M M所算霊軀仃范-“!幕輸一請請15/ 19方法同上繼續(xù)進行輸入代碼的操作16/ 19最大公約數(shù)24H H H H H H M加癖除運算 y 鬻

15、汕呈求解?-排列組合求如蘭嚴吁士的曹腹權(quán)所有潞版不究*本代碼最終解釋權(quán)0enM所有 匸耀馨囲亍豐強醫(yī) 沢乘法運算 乩除注運算 請輸X代號:和輸入兩個數(shù)髒bI=I回 | K:HH.exe一一算-召數(shù)換1乘轉(zhuǎn)昨S-集溫1T -1-加穌除運算 化排列組合求顯HHH H H M K藩嚴代碼最細釋權(quán)歸 i 所有法運算皐乘法運算軋除法運算請建入您矍進 請輸X代號:L輸入兩個數(shù)aL-12.Sb=13.16_B K:HMH.exe約公大最f 算-f 運數(shù)換計霎乘轉(zhuǎn) B B聚溫It It*-*- V V攵24 4 6 6 8 817/ 19重新計算輸入1,否則輸入 0.這里我輸入 0 然后出賞世嚴?腿權(quán)廓克濫版

16、不究*本代碼最終解釋權(quán)0snflkj所有.I麋覆豐觸醫(yī)3-乘法運算4-除注運算請輸犬代號:請輸入兩個數(shù)髒ba=12-5b=13.1612.5*13.16=164.511返回主菜單請按蘇1輸入 1i-HTB/ki r 請輸入兩個數(shù)髒ba-12 .Sb=13.1612.5*13.16=164.5重新計算請按1.否則請按0算運匚-除懐算-二運數(shù)換滬寥乘轉(zhuǎn)邨昌聚溫歡:;加 K:H Ms.exe遛期最大公約數(shù):澀轉(zhuǎn)換十輕二士否則請按盹I程序請按陷加素一求算1運5,除懐合18/ 19回到主菜單,并清理屏幕。其他函數(shù)基本同上,在演示一個,例如4.最小公倍數(shù)最大公約數(shù)HH工約一一公大最算-運數(shù)換肝霎乘轉(zhuǎn)睦畧聚

17、溫2 2 4 46 6 8 8.腹權(quán)所有 鍛腋不究*本代碼最終解釋權(quán)歸兔砂kj所有.請趣入您要進生運算崗編碼:4請喘人兩個止鑒數(shù)護K:計算除更合1313 5 5 7 71匚王眸19/ 19冷加.腹權(quán)所有 噬版不究*本代碼最終解釋權(quán)歸弘科kj所有.請麵入您要進癥運算萌編碼沁請詢?nèi)藘蓚€止鑒數(shù)淇x=32尸軀.心得體會 K:tt Mi.exe亦素一排1313 5 5 7 7算運京嬰合求f582.4sisi 具最大公約數(shù)瞿翻舞心代呦釋權(quán)歸 Z 有也堆人兩個止鑒數(shù)覽小編碼汩1冃牆x=32y=4932重臧 OteOte 疔皿倍數(shù)是“s8s8 具最大公約數(shù)HH&迎歡:;求除懐合加素一B1313 5 5

18、20/ 19本次程序設(shè)計所用時間較長,工作量很飽滿,而且所用的知識很多,但是我們平常在課堂上所學(xué)的知識很有限,這就需 要我大量的自學(xué)書本和課外的其他書籍上的知識。為了讓程序 容易使人看懂,我用到的知識點不是非常多,大都是一些基本 知識,我能熟練地運用這些知識編程也算一個很大的成功了。 畢竟很多知識沒有學(xué),能用基本知識就盡量用的基本知識。C+ 設(shè)計實踐是對之前學(xué)過的知識的加深和鞏固,之前學(xué)得較 淺,實踐的機會不多,這次實踐讓我對 C+ 程序有了更加深入 的了解,心理也由原來的不喜歡到喜歡,感覺很有意思也很有 用,可也設(shè)計一些有用的或者是自己喜歡的程序。最令我收益 的是寫程序的過程和調(diào)試修改的過程,因為之前我們就學(xué)了幾 章,沒有把知識學(xué)習(xí)全面,因此編寫起來是有難度的,

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論