版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、25vc+計(jì)算器課程設(shè)計(jì)報(bào)告一、 作品名稱:計(jì)算器二、本次課程設(shè)計(jì)的目的 在程序設(shè)計(jì)中,通過(guò)設(shè)計(jì)、編制、調(diào)試一個(gè)模擬計(jì)算器的程序,加深對(duì)語(yǔ)法及語(yǔ)義分析原理的理解,并 實(shí)現(xiàn)對(duì)命令語(yǔ)句的靈活應(yīng)用。三、 主要功能實(shí)現(xiàn)計(jì)算器的功能。用戶根據(jù)程序提示,輸入數(shù)字或字符,選擇要進(jìn)行的運(yùn)算,可以進(jìn)行正弦、余弦、正切、開(kāi)方、對(duì)數(shù)、加、減、乘、除、華氏溫度與攝氏度之間的換算以及平方根的運(yùn)算。四、 具體內(nèi)容釋解1.初始運(yùn)行界面如下: 2.進(jìn)行正弦運(yùn)算3.進(jìn)行混合運(yùn)算4.求平方根運(yùn)算,根據(jù)用戶輸入與系統(tǒng)提示,運(yùn)行過(guò)程依次如下:5.進(jìn)行華氏溫度和攝氏度間的轉(zhuǎn)化,運(yùn)行如下:6.進(jìn)行測(cè)試7.選擇6鍵,回到菜單界面,運(yùn)行如下
2、:五、 備注:1. #include為編譯預(yù)處理命令,其作用是將源程序文件中的預(yù)處理命令進(jìn)行處理,生成一個(gè)中間文件,編譯系統(tǒng)再對(duì)此文件進(jìn)行編譯并生成目標(biāo)代碼,最后生成的代碼中并不包含預(yù)處理命令。2.#define max 100 為宏定義,以后程序中再出現(xiàn)100,都用max代替。3. exit()為庫(kù)函數(shù),其功能是終止程序運(yùn)行,將流程控制返回給操作系統(tǒng)。exit(表達(dá)式)通常把表達(dá)式的值作為終止程序的原因。用0表示正常退出,其他整數(shù)值作為異常處理。使用它時(shí),要包含頭文件stdlib.h。4. void test();測(cè)試函數(shù)。測(cè)試程序是由計(jì)算機(jī)出題、用戶運(yùn)算,計(jì)算機(jī)判斷對(duì)錯(cuò)并給出分?jǐn)?shù),計(jì)算機(jī)用
3、隨機(jī)數(shù)發(fā)生器給出兩個(gè)操作數(shù)。六、附錄(源程序)計(jì)算器(calculator)-源代碼及關(guān)鍵源代碼注解如下:#include #include/用以產(chǎn)生隨機(jī)數(shù)#define max 100/宏定義#include #include #include #include double number1,number2,answer,number3,num10000;/定義全局變量int n,k=1;char input,val;/定義輸入的運(yùn)算符號(hào)class oopcalc private:double x,y;/私有變量x和y double fartocel(double number1);/華氏溫
4、度轉(zhuǎn)化為攝氏溫度的函數(shù)聲明double celtofar(double number1);/攝氏溫度轉(zhuǎn)化為華氏溫度的函數(shù)聲明double sqroot(double number1);/void calcsqr();void calccos();void calctan();void calcsin();void calclog();public:double getx()return x;double gety()return y;double set()x=number1;y=number2;double calcadd(double number1,double number2);/加法
5、運(yùn)算的函數(shù)聲明double calcsub(double number1,double number2);/減法運(yùn)算的函數(shù)聲明double calcdiv(double number1,double number2);/除法運(yùn)算的函數(shù)聲明double calcmult(double number1,double number2);/乘法運(yùn)算的函數(shù)聲明void calcfartocel();void calcceltofar();void calcsroot();void exitprog();void menu();/主菜單函數(shù)void caculate();/混合運(yùn)算函數(shù)的函數(shù)聲明 void
6、 test();/測(cè)試函數(shù)的函數(shù)聲明void badinput(); ;void oopcalc:calcsin()/類(lèi)體外函數(shù),定義正弦函數(shù)coutthe sin functionn;coutnumber1;answer=sin(number1);coutthe sin of number1 is answerendl;coutpress any key to continuen;getch();menu();void oopcalc:calccos()/類(lèi)體外函數(shù),定義余弦函數(shù)coutthe cos functionn;coutnumber1;answer=cos(number1);cou
7、tthe cos of number1 is answerendl;coutpress any key to continuen;getch();menu();void oopcalc:calctan()/類(lèi)體外函數(shù),定義正切函數(shù)coutthe tan functionn;coutnumber1;answer=tan(number1);coutthe tan of number1 is answerendl;coutpress any key to continuen;getch();menu();void oopcalc:calcsqr()/求平方的函數(shù)coutthe sqr functio
8、nn;coutnumber1;answer=(number1*number1);coutthe sqr of number1 is answerendl;coutpress any key to continuen;getch();menu();void oopcalc:calclog()/對(duì)數(shù)函數(shù)coutthe log functionn;coutnumber1;if(number1=0) coutbad input!n;coutpress any key to continuen;getch();menu();elseanswer=log(number1);coutthe log of n
9、umber1 is answerendl;coutpress any key to continuen;getch();menu();double oopcalc:calcadd(double number1,double number2)/加法運(yùn)算answer=number1+number2;return(answer);double oopcalc:calcsub(double number1,double number2)/減法運(yùn)算answer = number1-number2;return(answer);double oopcalc:calcdiv(double number1,d
10、ouble number2)/除法運(yùn)算if(number2=0)getch();/排除除數(shù)為零的情況menu();elseanswer = number1/number2;return(answer);double oopcalc:calcmult(double number1,double number2)/乘法運(yùn)算answer = number1*number2;return(answer);void oopcalc:calcfartocel()/華氏溫度轉(zhuǎn)化為攝氏溫度cout the farenheit to celsius functionn;cout number1;answer =
11、(number1 - 32) * 5) / 9;cout the tempature in celsius is answer endl;cout press any key to continuen;getch();menu();void oopcalc:calcceltofar()/攝氏溫度轉(zhuǎn)化為華氏溫度cout the celsius to farenheit functionn;cout number1;answer =number1 * 9 / 5 + 32;cout the tempature in farenheit is answer endl;cout press any k
12、ey to continuen;getch();menu();void oopcalc:calcsroot()/求平方根的函數(shù)cout the square root functionn;cout number1;if(number10)/排除負(fù)數(shù)開(kāi)平方根coutyour enter is incorrect,please enter a new numbern;getch();menu();elseanswer = sqrt(number1);cout the square root of number1 is answer endl;cout press any key to contin
13、uen;getch();menu();void oopcalc:exitprog()exit(-1);void oopcalc:menu()oopcalc a;system(cls); /執(zhí)行系統(tǒng)命令:cls-清屏cout =menu=n;cout s:選擇s進(jìn)行正弦運(yùn)算n;cout c:選擇c進(jìn)行余弦運(yùn)算n;cout t:選擇t進(jìn)行正切運(yùn)算n;cout g:選擇g進(jìn)行對(duì)數(shù)運(yùn)算n;cout n:選擇n進(jìn)行求平方運(yùn)算n;cout 1: 選擇1進(jìn)行混合運(yùn)算n;cout 2: 選擇2進(jìn)行華氏溫度轉(zhuǎn)化為攝氏溫度的運(yùn)算n;cout 3: 選擇3進(jìn)行攝氏溫度轉(zhuǎn)化為華氏溫度的運(yùn)算n;cout 4: 選擇4進(jìn)
14、行求平方根運(yùn)算n;cout 5: 選擇5進(jìn)行測(cè)試n;cout 6:選擇6退出運(yùn)算n; cout input;cout =n;switch (input)case s:case s:a.calcsin();break;case c: case c: a.calccos();break;case t:case t: a.calctan();break;case g:case g:a.calclog();break;case n:case n:a.calcsqr();break;case 1:a.caculate();break;case 2:a.calcfartocel();break;case
15、3:a.calcceltofar();break;case 4:a.calcsroot();break;case 5: a.test();break;case 6:a.exitprog();break;default :a.badinput();void oopcalc:caculate() oopcalc a;coutthe multifunction(混合四則運(yùn)算)n;for(int n=1;n+)coutnumbernnumn;/輸入要運(yùn)算的數(shù)if(numn=0)/遇到0為止coutpress any key to continuen;getch();menu();switch(k)ca
16、se 1:if(n=1)answer=num1;break;/如果第一個(gè)數(shù)則不進(jìn)行運(yùn)算else answer=a.calcadd(answer,numn);/如果不是第一個(gè)數(shù)進(jìn)行運(yùn)算 coutthe answer is answerendl;break;case 2:if(n=1)answer=num1;break;/如果第一個(gè)數(shù)則不進(jìn)行運(yùn)算else answer=a.calcsub(answer,numn);/如果不是第一個(gè)數(shù)進(jìn)行運(yùn)算coutthe answer is answerendl;break;case 3:if(n=1)answer=num1;break;/如果第一個(gè)數(shù)則不進(jìn)行運(yùn)算
17、else answer=a.calcmult(answer,numn);/如果不是第一個(gè)數(shù)進(jìn)行運(yùn)算coutthe answer is answerendl;break;case 4:if(n=1)answer=num1;break;/如果第一個(gè)數(shù)則不進(jìn)行運(yùn)算else answer=a.calcdiv(answer,numn);/如果不是第一個(gè)數(shù)進(jìn)行運(yùn)算coutthe answer is answerendl;break;label1:coutval;switch(val)case+:k=1;break;case-:k=2;break;case*:k=3;break;case/:k=4;brea
18、k;default:coutbad input!n;goto label1;void oopcalc:test()/測(cè)試函數(shù)coutthe test functionn;int s;float p;s=rand()%4+1;/隨機(jī)給出題目的+或-或*或/srand ( time (null) );number1=rand()%max+1;/在1100之間隨機(jī)給出數(shù)字number2=rand()%max+1;switch(s)case 1:coutnumber1+number2=;answer=calcadd(number1,number2);break;case 2:coutnumber1-n
19、umber2=;answer=calcsub(number1,number2);break;case 3:coutnumber1/number2=;answer=calcdiv(number1,number2);break;case 4:coutnumber1*number2p;if(answer=p)coutcorrect!you are very clever!n;elsecoutno!the correct answer is answer,you should have more practise.n;coutpress any key to continuen;coutflush;getch();menu();void oopcalc:badinput()cout bad input!n;cout press any key to continuen;getch();menu
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年城市照明項(xiàng)目LED路燈購(gòu)銷(xiāo)合同
- 2024年建筑工程分包協(xié)議書(shū)
- 2024年云計(jì)算服務(wù)互操作性測(cè)試合同
- 2024廣告發(fā)布委托合同模板樣本
- 2024年工程質(zhì)量檢測(cè)合同標(biāo)準(zhǔn)
- 2024年度物業(yè)服務(wù)合同:日常房屋租住過(guò)程中的管理與維護(hù)
- 2024年度旅游開(kāi)發(fā)項(xiàng)目合同
- 2024年度影視制作與發(fā)布協(xié)議
- 兒子結(jié)婚上父親致辭
- 習(xí)慣為主題的演講稿3篇
- 批判性思維智慧樹(shù)知到答案章節(jié)測(cè)試2023年
- 廣聯(lián)達(dá)鋼結(jié)構(gòu)算量軟件-基礎(chǔ)培訓(xùn)
- 特種設(shè)備管理辦法執(zhí)行流程圖
- GB/T 5210-2006色漆和清漆拉開(kāi)法附著力試驗(yàn)
- GB/T 40019-2021基礎(chǔ)制造工藝通用元數(shù)據(jù)
- GB 29837-2013火災(zāi)探測(cè)報(bào)警產(chǎn)品的維修保養(yǎng)與報(bào)廢
- GA/T 1502-2018法庭科學(xué)視頻中人像動(dòng)態(tài)特征檢驗(yàn)技術(shù)規(guī)范
- 問(wèn)題解決型QC培訓(xùn)課件
- 西氣東輸計(jì)量交接憑證填報(bào)培訓(xùn)PPT-場(chǎng)站課件
- 中國(guó)特色社會(huì)主義理論與實(shí)踐研究知識(shí)點(diǎn)整理及思考題答案
- 《居家養(yǎng)老服務(wù)問(wèn)題及對(duì)策探究【論文】6000字》
評(píng)論
0/150
提交評(píng)論