C語言實(shí)現(xiàn)計(jì)算器功能電子教案_第1頁
C語言實(shí)現(xiàn)計(jì)算器功能電子教案_第2頁
C語言實(shí)現(xiàn)計(jì)算器功能電子教案_第3頁
C語言實(shí)現(xiàn)計(jì)算器功能電子教案_第4頁
C語言實(shí)現(xiàn)計(jì)算器功能電子教案_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)一 多功能計(jì)算器一、問題描述設(shè)計(jì)一個(gè)多功能計(jì)算器,可以完成基本的計(jì)算。設(shè)計(jì)要求:具備整型數(shù)據(jù)、浮點(diǎn)型數(shù)據(jù)的算術(shù)(加、減、乘、除)運(yùn)算功能。依次輸入第一個(gè)運(yùn)算數(shù)、運(yùn)算符( +, - , * , / ) 、第二個(gè)運(yùn)算數(shù),然后輸出結(jié)果。結(jié)果可以作為下一個(gè)運(yùn)算的第一運(yùn)算數(shù)。按C清屏,按R返回 菜單。例如:輸入: 2+5輸出: 7實(shí)現(xiàn)單運(yùn)算符表達(dá)式計(jì)算的功能。 輸入的操作數(shù)可以包含整數(shù)或浮點(diǎn)數(shù)。 輸入表達(dá)式如下:例如:輸入: 2+5輸出: 7二、算法說明1 數(shù)據(jù)結(jié)構(gòu)說明( 可以圖示說明,也可以文字說明 )本程序主要根據(jù)選擇菜單編寫了六個(gè)自定義函數(shù), 用于在 main() 函數(shù)中調(diào)用, 在 main(

2、)中, 用一個(gè)字符變量num1 來記錄下菜單選項(xiàng)的標(biāo)號(hào), 根據(jù) num1 的值來決定調(diào)用哪個(gè)函數(shù)。程序要完成的功能及所要用到的函數(shù)如下:是否繼續(xù)算術(shù)運(yùn) qingping 0手 fanhuicai danO使用各菜單分別調(diào)用的函數(shù)suanshi-iyi-in s uan ()號(hào) EuanshuyurLSuan2 (.J panduant)今 bi andashiyun.suan ()卜面是整個(gè)程序的流程圖:-IM 米W 算術(shù)運(yùn)算 a萋霹符嘴清屏 C返回菜單 r退出程序 t調(diào)更 b i a(j dshiyunsuan ()函數(shù)輸入一個(gè)菜單項(xiàng)對(duì)應(yīng)的字符給口皿1調(diào)用fanhuicaidan 0函數(shù)調(diào)用

3、電如3血75與113或。函數(shù)if (numl=JbJ) |if (nuirl=J c)調(diào)用 suanshuyunsuan。函數(shù)調(diào)用panduanO函數(shù)if (numl=Jr )2 算法說明(即函數(shù)說明 )void suanshuyunsuan() /做算術(shù)運(yùn)算時(shí)調(diào)用的函數(shù)void suanshuyunsuan2() /選擇繼續(xù)做算術(shù)運(yùn)算調(diào)用的函數(shù),將上次運(yùn)算的結(jié)果做為下次算術(shù)運(yùn)算的第一個(gè)操作數(shù)/判斷算術(shù)運(yùn)算是否繼續(xù)void panduan() /判斷算術(shù)運(yùn)算是否繼續(xù)void biaodashiyunsuan()/單運(yùn)算符表達(dá)式實(shí)現(xiàn)函數(shù)void qingping()/清除屏幕void fanhu

4、icaidan() / 顯示菜單三、測試結(jié)果( 這部分需文字與圖示結(jié)合 )1第一組測試用例( 1 )測試輸入:測試目的:測試算術(shù)運(yùn)算的功能2 )再一次輸入: 1測試目的:測試算術(shù)運(yùn)算是否能繼續(xù)結(jié)果輸出:3 )這時(shí)輸入: 0測試目的:退出算術(shù)運(yùn)算測試輸入:測試目的:測試單運(yùn)算符表達(dá)式函數(shù)測試輸入: c測試目的:測試輸入 c 是否能清屏測試輸出:測試輸入: r測試目的:測試返回菜單函數(shù)測試輸入: t測試目的:測試是否能正確退出程序附錄:源代碼( 附上全部源代碼,且不能雷同 )#include#includewindows.hdouble z; /定義全局變量用來存放算術(shù)運(yùn)算前一次的結(jié)果/做算術(shù)運(yùn)算

5、時(shí)調(diào)用的函數(shù)void suanshuyunsuan()char fh,hh1,hh2; /hh1 與 hh2 是用來存放回車字符的double num1,num2;printf( 輸入 :);scanf(%lf%c%c%c%lf,&num1,&hh1,&fh,&hh2,&num2);switch(fh)/判斷是做什么運(yùn)算case +:z=num1+num2;break;case -:z=num1-num2;break;case *:z=num1*num2;break;case /:z=num1/num2;break;printf( 結(jié)果 :=);printf(n%lfn,z); /選擇繼續(xù)做算

6、術(shù)運(yùn)算調(diào)用的函數(shù),將上次運(yùn)算的結(jié)果做為下次算術(shù)運(yùn)算的第一個(gè)操作數(shù)void suanshuyunsuan2()double num1;char fh;printf(%lfn,z);/ 首先輸出前一次算術(shù)運(yùn)算的結(jié)果rewind(stdin);scanf(%c%lf,&fh,&num1);switch(fh)case +:z=z+num1;break;case -:z=z-num1;break;case *:z=z*num1;break;case /:z=z/num1;break;printf( 結(jié)果 :=);printf(n%lfn,z);/判斷算術(shù)運(yùn)算是否繼續(xù)void panduan()prin

7、tf( 是否結(jié)束運(yùn)算?n);printf(0. 是 );printf(1.否n);printf( 請選擇 0 或 1:);/單運(yùn)算符表達(dá)式實(shí)現(xiàn)函數(shù)void biaodashiyunsuan()int num1,num2,num3;char fh;printf( 輸入 :);scanf(%d%c%d,&num1,&fh,&num2);printf( 結(jié)果 :=);switch(fh)case +:num3=num1+num2;break;case -:num3=num1-num2;break;case *:num3=num1*num2;break;case /:num3=num1/num2;br

8、eak;printf(%d,num3);/清除屏幕void qingping()system(cls);/顯示菜單void fanhuicaidan()printf( 菜單 n); TOC o 1-5 h z printf(a. 算術(shù)運(yùn)算n);printf(b. 表達(dá)式運(yùn)算n);printf(c. 清屏重做n);printf(r. 返回菜單n);printf(t. 退出程序n); void main()char num1;/用于存放選擇的菜單選項(xiàng)int pd; /用于存放是否繼續(xù)算術(shù)運(yùn)算的選擇項(xiàng)printf( 菜單 n);/先顯示菜單 TOC o 1-5 h z printf(a. 算術(shù)運(yùn)算n);printf(b. 表達(dá)式運(yùn)算n);printf(c. 清屏重做n);printf(r. 返回菜單n);printf(t. 退出程序n);while(1)rewind(stdin); /清除鍵盤緩沖區(qū)printf(nplease chose one letter from a,b,c,r,and tn);scanf(%c,&num1);/輸入一個(gè)數(shù)用于判斷是選擇了哪一個(gè)菜單項(xiàng)if(num1=a)/選擇了做算術(shù)運(yùn)算suanshuyunsuan();panduan();scanf(%d,&pd);while(pd)/繼續(xù)做算術(shù)運(yùn)算時(shí)就循環(huán)suanshuyunsuan2();p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論