




已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
面向?qū)ο蟪绦蛟O(shè)計大作業(yè)-字符串類(或計算器類)學(xué) 院 名 稱 專業(yè)班級 班 學(xué)生姓名 學(xué) 號 指 導(dǎo) 教 師 完成時間: 2013年 5 月 20 日 計算器類1. 編程目的2. 系統(tǒng)簡介3. 編程思路4. 總體設(shè)計(附類圖)5. 關(guān)鍵技術(shù)說明6. 源代碼7. 測試(主界面及各功能模塊的運行圖及說明)8. 系統(tǒng)評價及展望1、 編程目的當(dāng)今社會是信息社會,科技經(jīng)濟高速發(fā)展的社會,為了更方便人們的工作生活和加速人們處理信息的速度,計算器應(yīng)運而生。由于它體積小巧,攜帶方便,價格便宜,構(gòu)造簡單等諸多的優(yōu)點成為人們生活的必備品。因此此次課程設(shè)計我選擇了計算器類的設(shè)計與使用,它能即時準(zhǔn)確地獲得需要的計算的結(jié)果,充分降低了數(shù)字計算的難度和節(jié)約了時間,對人們的生活有一定的幫助。編程實現(xiàn)計算器類,使其能進行整數(shù)及實數(shù)的加、減、乘、除、平方、開方等基本運算,能進行二進制,十進制,八進制,十六進制數(shù)值之間的轉(zhuǎn)換,以及能進行三角函數(shù)的計算。在本次實驗中盡最大努力完成計算器類設(shè)計的基本功能,進一步掌握與應(yīng)用C+語言進行面向?qū)ο蟪绦蛟O(shè)計。在實踐編程中訓(xùn)練總體設(shè)計思維能力,模仿并體驗軟件設(shè)計過程,加強動手能力、思考能力、邏輯思維能力等。2、 系統(tǒng)簡介 在本次的課程設(shè)計中,系統(tǒng)開發(fā)平臺為Windows XP,程序設(shè)計語言采用Visual C+6.0。vc+是Windows平臺上的C+編程環(huán)境。VC+應(yīng)用程序的開發(fā)主要有兩種模式,一種是WIN API方式,另一種則是MFC方式,傳統(tǒng)的WIN API開發(fā)方式比較繁瑣,而MFC則是對WIN API再次封裝,所以MFC相對于WIN API開發(fā)更具備效率優(yōu)勢,vc6.0的優(yōu)點是界面簡潔,占用資源少,操作方便。計算器類的設(shè)計與實現(xiàn)是在VC+6.0環(huán)境下設(shè)計與實現(xiàn)的,總體要求是:通過該軟件實現(xiàn)計算器的基本功能,主要實現(xiàn)的功能有: 計算器類的創(chuàng)建。 該計算器類可以進行加、減、乘、除、平方、開方,以及進制間的互相轉(zhuǎn)換的操作。 可以用括號輸入表達(dá)式,每次可運算多個表達(dá)式。 實現(xiàn)數(shù)據(jù)的輸入,輸出,計算,顯示及程序退出等功能。 排錯,當(dāng)用戶輸入錯誤的表達(dá)式時提示用戶。3、 編程思路 建立名為jisuanqi的工程,工程內(nèi)包含四個.cpp文件和六個.h文件要實現(xiàn)計算器的各類簡單功能,首先采用類的設(shè)計思想,將計算器功能封裝成類以實現(xiàn)計算器的功能。運行程序時首先向用戶提示“請選擇需要的運算!”提供“1、2、3”三個程序接口,分別進行計算器簡單運算,三角函數(shù)運算和進制轉(zhuǎn)換運算,根據(jù)用戶指令,調(diào)用相應(yīng)的函數(shù)文件。用戶輸入要計算的數(shù)值后按回車鍵即可的運算結(jié)果。為實現(xiàn)功能,先定義兩個頭文件,及兩個文件,在中編寫計算器主函數(shù),通過建立工程將各個文件聯(lián)系在一起。1、實現(xiàn)計算器的基本功能為實現(xiàn)加、減、乘、除、開方、平方基本運算,建立文件。創(chuàng)建calculator類,實現(xiàn)封裝。在該模塊中,首先提示用戶進入計算器簡單運算狀態(tài)“歡迎使用計算器運算數(shù)據(jù)!”按回車后提示用戶輸入數(shù)據(jù),“輸入你想運算的兩個數(shù)和運算符!”繼續(xù)運行則提示用戶選擇運算符的位置,具體形式如下:“1 運算符中綴”“2 運算符后綴”“3 運算符前綴” 按“回車鍵”后即可顯示正確的結(jié)果 2、實現(xiàn)三角函數(shù)運算建立文件,定義Function函數(shù),為讓用戶明確使用,提示用戶選擇要使用的函數(shù),根據(jù)指令,通過swith-case語句,實現(xiàn)用戶要使用的函數(shù)功能。但要注意的是在調(diào)用tan函數(shù)時,pi/2的倍數(shù)是在tan函數(shù)的定義域之外的,所以必須提示用戶不要輸入pi/2的倍數(shù)。 同樣使用swhitch函數(shù),來實現(xiàn)不同三角函數(shù)的功能。3、實現(xiàn)進制轉(zhuǎn)換運算 本程序提供六種進制轉(zhuǎn)換,分別是: 十進制轉(zhuǎn)換為十進制 ,十進制轉(zhuǎn)換為二進制 , 十進制轉(zhuǎn)換為八進制 , 十進制轉(zhuǎn)換為十六進制 , 八進制轉(zhuǎn)換為十進制, 十六進制轉(zhuǎn)換為十進制。同樣用switch語句控制執(zhí)行用戶需要的進制轉(zhuǎn)換運算。最后輸出程序運行結(jié)果。四、總體設(shè)計 主程序main()定義一個calculator類對象型調(diào)用eval_exp(expstr)表達(dá)式空?輸出錯誤信息Y尋找對應(yīng)接口,調(diào)用相應(yīng)函數(shù)N調(diào)用完畢 返回主程序EndBegin 系統(tǒng)流程圖clculate+compute():void類圖5、 源代碼/calculator.h#ifndef CALCULATOR_H#define CALCULATOR_H#include#include#includeusing namespace std;class calculatorprivate:public:void compute();void calculator :compute() double a,b; char s;cout歡迎使用計算器運算數(shù)據(jù)!endl;cout本計算器能計算的簡單運算有:+,-,*,/,sendl;/s為開方運算符cout輸入你想要運算的兩個數(shù)和運算符。endl;cout 1 運算符中綴 endl;cout 2 運算符后綴 endl;cout 3 運算符前綴 n; switch(n) case 1:cina;cins;cinb; break; case 2:cina;cinb;cins; break; case 3:cins;cina;cinb; break; switch(s) case +:cout=(a+b)endl;/加法運算 break; case -:cout=(a-b)endl; break; case *:cout=(a*b)endl;/乘法運算 break; case /: if(b!=0) cout=(a/b)endl; elsecerrError!endl; break;/除法運算 case :cout=pow(a,2)endl;/調(diào)用pow函數(shù),將第二個形參設(shè)置為2以計算平方 break;/平方運算 cases:cout=sqrt(a)endl;/開方運算 break; #endif/Function.cpp#includeFunction.h#include#include#includeusing namespace std;void Function:count()cout歡迎使用三角函數(shù)運算程序!endl;cout請輸入所要計算的函數(shù) sin,cos,tan,本計算器只支持這三種三角函數(shù)運算。endl;cout并輸入所要計算的度數(shù),如60,50。但在運算tan時請不要輸入/2的倍數(shù)。endl;cout1 sinendl;cout2 cosendl;cout3 tans;cout請輸入度數(shù):degree; switch(s) case 1:coutsindegree=sin(degree)endl;/sin函數(shù) break; case 2:coutcosdegree=cos(degree)endl;/cos函數(shù) break; case 3:couttandegree=tan(degree)endl;/tan函數(shù) break; /Function.h#ifndef FUNCTION_H#define FUNCTION_Hclass Functionprivate:public:void count();#endif/translate.cpp(進制轉(zhuǎn)換函數(shù))#includetranslate.h#include #include using namespace std;void p(int num);void translate:f(int x,int y)cout歡迎使用進制轉(zhuǎn)換程序!endl;cout 1. 十進制轉(zhuǎn)換為十進制 endl;cout 2. 十進制轉(zhuǎn)換為二進制 endl;cout 3. 十進制轉(zhuǎn)換為八進制 endl;cout 4. 十進制轉(zhuǎn)換為十六進制 endl;cout 5. 八進制轉(zhuǎn)換為十進制endl;cout 6. 十六進制轉(zhuǎn)換為十進制endl;cout請選擇輸入數(shù)據(jù)的進制:c; switch(c) case 1:cout請輸入十進制數(shù)據(jù):n;cout轉(zhuǎn)換結(jié)果:endl;coutnendl; break; case 2:cout請輸入十進制數(shù)據(jù):n;cout轉(zhuǎn)換結(jié)果:endl; p(n); break; case 3:cout請輸入十進制數(shù)據(jù):n;cout轉(zhuǎn)換結(jié)果:endl;coutoctnendl; break; case 4:cout請輸入十進制數(shù)據(jù):n;cout轉(zhuǎn)換結(jié)果:endl;couthexnendl; break; case 5:cout請輸入八進制數(shù)據(jù):octn;cout轉(zhuǎn)換結(jié)果:endl;coutdecnendl; break; case 6:cout請輸入十六進制數(shù)據(jù):hexn;cout轉(zhuǎn)換結(jié)果:endl;coutdecn=0;num-) /if(ai) / break; /for(num=i-1;i=0;i-)coutanum;coutendl;/translate.h#ifndef TRANSLATE_H#define TRANSLATE_Hclass translateprivate:public:void f(int x,int y);#endif/計算器.cpp(計算器主函數(shù))#includecalculator.h#includeFunction.h#includeFunction.cpp#includetranslate.h#includetranslate.cpp#include#includeusing namespace std;int main()int x,y;coutendl;cout 請選擇需要的運算! endl;cout 1 簡單運算! endl;cout 2 三角運算! endl;cout 3 進制轉(zhuǎn)換! endl;couts; switch(s) case 1: calculator a;pute(); break; case 2: Function b;b.count(); break; case 3: translate c;c.f(x ,y); break; return 0;6、 測試 計算器主程序界面1、簡單計算器基本運算加法運算輸入簡單運算代碼“1”,輸入運算符位置形式“1”即運算符中綴,輸入“5+2”回車,得到結(jié)果“7”乘法運算輸入簡單運算代碼“1”,輸入運算符位置形式“1”即運算符中綴,輸入“2*2”回車,得到結(jié)果“4”平方運算 輸入簡單運算代碼“1”,輸入運算符位置形式“1”即運算符中綴,輸入“29”回車,得到結(jié)果“4”。此處調(diào)用pow函數(shù),需要輸入兩個實參,因為只需計算平方,故將第二個形參設(shè)定為2,用戶可以輸入任何有效數(shù)值,計算結(jié)果均為平方的結(jié)果。此例計算2的平方,輸入“29”得到結(jié)果“4”開方運算 輸入簡單運算代碼“1”,輸入運算符位置形式“1”即運算符中綴,輸入“9s。”回車,得到結(jié)果“3”減法與除法運行情況相同,此處不再列舉。2、 三角函數(shù)運算 cos函數(shù) 輸入三角函數(shù)代碼“2”,輸入“cos”函數(shù)代碼“2”輸入度數(shù)“58”得到結(jié)果“0.11918”。 Sin函數(shù)和tan函數(shù)的運行與cos函數(shù)類似,只是當(dāng)調(diào)用tan函數(shù)時,若輸入pi/2的倍 數(shù)則輸出有誤信息3、 進制轉(zhuǎn)換 輸入“進制轉(zhuǎn)換”的代碼“3”,輸入“4”,選擇“十進制轉(zhuǎn)換為十六進制運算”輸入十進制數(shù)“10”得到轉(zhuǎn)換結(jié)果“a” 其他進制間的轉(zhuǎn)換與其類似,在此不再列舉。7、 系統(tǒng)評價及展望 此次大作業(yè),首先鞏固了C+課程所學(xué)的基礎(chǔ)知識,掌握了類的定義及模塊的封裝等 ,但是在本次設(shè)計中,類的運用還是比較少的。本設(shè)計系統(tǒng)的最大特點是簡單明了,一看就懂,便于運用。此次作業(yè)設(shè)計的最大收獲就是真正理解了各類計
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 腎移植護理講課件
- 傳統(tǒng)入戶改造方案(3篇)
- 供應(yīng)混凝土優(yōu)惠方案(3篇)
- 現(xiàn)場儀表維護方案(3篇)
- 廚師培訓(xùn)裝修方案(3篇)
- 物業(yè)家電回收方案(3篇)
- 2025年四川省達(dá)州市中考道德與法治試卷及答案
- 大學(xué)畢業(yè)論文不通過會怎樣
- 電磁屏蔽用套管項目投資風(fēng)險評估報告
- 對數(shù)學(xué)老師的教學(xué)建議
- 牛頓-拉夫遜潮流計算的程序設(shè)計
- 工藝工程師職業(yè)生涯規(guī)劃及目標(biāo)
- 市政工程施工安全臺帳范本12本(含內(nèi)容)
- 同聲傳譯考試大綱
- 初中英語2023年中考專題訓(xùn)練任務(wù)型閱讀-判斷正誤篇
- 2022年江西南昌高新技術(shù)產(chǎn)業(yè)開發(fā)區(qū)人民檢察院聘用制檢察輔助人員招聘考試真題
- 小學(xué)安全隱患排查表
- 測控電路課程設(shè)計報告-信號采集調(diào)理電路的設(shè)計【完整版】
- 銀行業(yè)法律法規(guī)與綜合能力經(jīng)濟基礎(chǔ)知識課
- 套管開窗側(cè)鉆技術(shù)
- 2023-2024學(xué)年山西省長治市小學(xué)語文五年級期末??碱}詳細(xì)參考答案解析
評論
0/150
提交評論