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

下載本文檔

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

文檔簡(jiǎn)介

第頁(yè)實(shí)驗(yàn)一多功能計(jì)算器一、問(wèn)題描述設(shè)計(jì)一個(gè)多功能計(jì)算器,可以完成基本的計(jì)算。設(shè)計(jì)要求:1.具備整型數(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’返回菜單。例如:輸入:25輸出:72.實(shí)現(xiàn)單運(yùn)算符表達(dá)式計(jì)算的功能。輸入的操作數(shù)可以包含整數(shù)或浮點(diǎn)數(shù)。輸入表達(dá)式如下:例如:輸入:2+5輸出:7二、算法說(shuō)明1.?dāng)?shù)據(jù)結(jié)構(gòu)說(shuō)明(可以圖示說(shuō)明,也可以文字說(shuō)明)本程序主要根據(jù)選擇菜單編寫(xiě)了六個(gè)自定義函數(shù),用于在main()函數(shù)中調(diào)用,在main()中,用一個(gè)字符變量num1來(lái)記錄下菜單選項(xiàng)的標(biāo)號(hào),根據(jù)num1的值來(lái)決定調(diào)用哪個(gè)函數(shù)。程序要完成的功能及所要用到的函數(shù)如下:下面是整個(gè)程序的流程圖:2.算法說(shuō)明(即函數(shù)說(shuō)明)voidsuanshuyunsuan()//做算術(shù)運(yùn)算時(shí)調(diào)用的函數(shù)voidsuanshuyunsuan2()//選擇繼續(xù)做算術(shù)運(yùn)算調(diào)用的函數(shù),將上次運(yùn)算的結(jié)果做為下次算術(shù)運(yùn)算的第一個(gè)操作數(shù)//判斷算術(shù)運(yùn)算是否繼續(xù)voidpanduan()//判斷算術(shù)運(yùn)算是否繼續(xù)voidbiaodashiyunsuan()//單運(yùn)算符表達(dá)式實(shí)現(xiàn)函數(shù)voidqingping()//清除屏幕voidfanhuicaidan()//顯示菜單三、測(cè)試結(jié)果(這部分需文字及圖示結(jié)合)1.第一組測(cè)試用例(1)測(cè)試輸入:測(cè)試目的:測(cè)試算術(shù)運(yùn)算的功能結(jié)果輸出:(2)再一次輸入:1測(cè)試目的:測(cè)試算術(shù)運(yùn)算是否能繼續(xù)結(jié)果輸出:(3)這時(shí)輸入:0測(cè)試目的:退出算術(shù)運(yùn)算結(jié)果輸出:2.第二組測(cè)試用例測(cè)試輸入:測(cè)試目的:測(cè)試單運(yùn)算符表達(dá)式函數(shù)結(jié)果輸出:3.第三組測(cè)試用例測(cè)試輸入:c測(cè)試目的:測(cè)試輸入c是否能清屏測(cè)試輸出:4.第四組測(cè)試用例測(cè)試輸入:r測(cè)試目的:測(cè)試返回菜單函數(shù)測(cè)試輸出:5.第五組測(cè)試用例測(cè)試輸入:t測(cè)試目的:測(cè)試是否能正確退出程序測(cè)試輸出:附錄:源代碼(附上全部源代碼,且不能雷同)#include<stdio.h>#include"windows.h"doublez;//定義全局變量用來(lái)存放算術(shù)運(yùn)算前一次的結(jié)果//做算術(shù)運(yùn)算時(shí)調(diào)用的函數(shù)voidsuanshuyunsuan() charfh,hh1,hh2;//hh1及hh2是用來(lái)存放回車字符的 doublenum1,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%lf\n",z);//選擇繼續(xù)做算術(shù)運(yùn)算調(diào)用的函數(shù),將上次運(yùn)算的結(jié)果做為下次算術(shù)運(yùn)算的第一個(gè)操作數(shù)voidsuanshuyunsuan2() doublenum1; charfh; printf("%lf\n",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%lf\n",z);//判斷算術(shù)運(yùn)算是否繼續(xù)voidpanduan() printf("是否結(jié)束運(yùn)算?\n"); printf("0.是"); printf("1.否\n"); printf("請(qǐng)選擇0或1>:");//單運(yùn)算符表達(dá)式實(shí)現(xiàn)函數(shù)voidbiaodashiyunsuan() intnum1,num2,num3; charfh; 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;break; printf("%d",num3);//清除屏幕voidqingping() system("cls");//顯示菜單voidfanhuicaidan() printf("菜單\n"); printf("a.算術(shù)運(yùn)算\n"); printf("b.表達(dá)式運(yùn)算\n"); printf("c.清屏重做\n"); printf("r.返回菜單\n"); printf("t.退出程序\n");voidmain() charnum1;//用于存放選擇的菜單選項(xiàng) intpd;//用于存放是否繼續(xù)算術(shù)運(yùn)算的選擇項(xiàng) printf("菜單\n");//先顯示菜單 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("\npleasechoseoneletterfrom\"a,b,c,r,andt\"\n"); 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(); panduan(); scanf("%d",&pd); if(num1=='b')//選擇

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論