




已閱讀5頁,還剩6頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實驗一 多功能計算器一、問題描述設計一個多功能計算器,可以完成基本的計算。設計要求:1.具備整型數據、浮點型數據的算術(加、減、乘、除)運算功能。依次輸入第一個運算數、運算符(+,-,*,/)、第二個運算數,然后輸出結果。結果可以作為下一個運算的第一運算數。按C清屏,按R返回 菜單。例如:輸入:2+5輸出:72.實現單運算符表達式計算的功能。輸入的操作數可以包含整數或浮點數。輸入表達式如下: 例如:輸入:2+5輸出:7二、算法說明1數據結構說明(可以圖示說明,也可以文字說明)本程序主要根據選擇菜單編寫了六個自定義函數,用于在main()函數中調用,在main()中,用一個字符變量num1來記錄下菜單選項的標號,根據num1的值來決定調用哪個函數。程序要完成的功能及所要用到的函數如下:下面是整個程序的流程圖:2算法說明(即函數說明)void suanshuyunsuan() /做算術運算時調用的函數void suanshuyunsuan2() /選擇繼續做算術運算調用的函數,將上次運算的結果做為下次算術運算的第一個操作數 /判斷算術運算是否繼續void panduan() /判斷算術運算是否繼續 void biaodashiyunsuan() /單運算符表達式實現函數void qingping() /清除屏幕void fanhuicaidan() /顯示菜單三、測試結果(這部分需文字與圖示結合)1第一組測試用例(1)測試輸入: 測試目的:測試算術運算的功能結果輸出:(2)再一次輸入:1測試目的:測試算術運算是否能繼續結果輸出: (3)這時輸入:0 測試目的:退出算術運算 結果輸出: 2.第二組測試用例測試輸入:測試目的:測試單運算符表達式函數結果輸出:3.第三組測試用例測試輸入:c 測試目的:測試輸入c是否能清屏測試輸出: 4.第四組測試用例測試輸入:r 測試目的:測試返回菜單函數測試輸出: 5. 第五組測試用例測試輸入:t 測試目的:測試是否能正確退出程序測試輸出: 附錄:源代碼(附上全部源代碼,且不能雷同)#include#includewindows.hdouble z; /定義全局變量用來存放算術運算前一次的結果/做算術運算時調用的函數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) /判斷是做什么運算case +:z=num1+num2;break;case -:z=num1-num2;break;case *:z=num1*num2;break;case /:z=num1/num2;break;printf(結果:=);printf(n%lfn,z);/選擇繼續做算術運算調用的函數,將上次運算的結果做為下次算術運算的第一個操作數void suanshuyunsuan2()double num1;char fh;printf(%lfn,z);/首先輸出前一次算術運算的結果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(結果:=);printf(n%lfn,z);/判斷算術運算是否繼續void panduan()printf(是否結束運算?n);printf(0.是 );printf(1.否n);printf(請選擇0或1:);/單運算符表達式實現函數void biaodashiyunsuan()int num1,num2,num3;char fh;printf(輸入:);scanf(%d%c%d,&num1,&fh,&num2);printf(結果:=);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);/清除屏幕void qingping()system(cls);/顯示菜單void fanhuicaidan()printf( 菜單n);printf(a.算術運算n);printf(b.表達式運算n);printf(c.清屏重做n);printf(r.返回菜單n);printf(t.退出程序n);void main()char num1; /用于存放選擇的菜單選項int pd; /用于存放是否繼續算術運算的選擇項printf( 菜單n); /先顯示菜單printf(a.算術運算n);printf(b.表達式運算n);printf(c.清屏重做n);printf(r.返回菜單n);printf(t.退出程序n);while(1)rewind(stdin); /清除鍵盤緩沖區printf(nplease chose one letter from a,b,c,r,and tn);scanf(%c,&num1); /輸入一個數用于判斷是選擇了哪一個菜單項if(num1=a) /選擇了做算術運算suanshuyunsuan(); panduan();scanf(%d,&pd);while(pd) /繼續做算術運算時就循環suanshuyunsuan2();panduan();scanf(%d,&p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 心理發展與教育
- 中醫護理技術對黃疸的治療
- 餐飲店員工績效考核與晉升合同
- 系統化代牧養殖合同范本
- 餐飲連鎖總經理任期目標與績效考核合同
- 礦產資源開采安全生產責任書范本
- 城市更新改造項目舊廠房物業財產移交及改造合同
- 車輛無償租賃與品牌合作推廣合同
- 車輛合伙經營運輸市場拓展協議
- 餐館廚師崗位競聘與選拔合同
- VDA6.3-2023版培訓教材課件
- 2025年GCP(藥物臨床試驗質量管理規范)相關知識考試題與答案
- 建筑施工現場防汛方案
- 2022年寧夏回族自治區7月普通高中學業水平測試生物試卷會考試題及答案
- 婚紗攝影市場分析與前景預測
- 口腔內科學練習題庫(附答案)
- 金蝶云星空操作手冊V3
- 醫學臨床“三基”訓練護士分冊(第五版)考試題(附答案)
- 安徽省合肥市蜀山區2025年中考物理一模模擬試卷附參考答案
- 加氣站反恐怖防范安全風險評價報告
- 2025年吉林國資委出資企業招聘筆試參考題庫含答案解析
評論
0/150
提交評論