




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言課程設(shè)計(jì)報(bào)告班級:16 物聯(lián)網(wǎng)1、 題目說明(1) 讀取輸入信息,能正確進(jìn)行數(shù)字運(yùn)算(2) 擁有記憶功能,可查詢最近幾次計(jì)算結(jié)果并繼續(xù)進(jìn)行數(shù)字運(yùn)算。二、基本功能實(shí)現(xiàn)(1)能實(shí)現(xiàn)兩個(gè)數(shù)之間的加減,乘,除,乘方,開方等運(yùn)算。(2)實(shí)現(xiàn)記憶功能,可保留近十位結(jié)果,可用#鍵查看。(3)*鍵作為清0鍵,清除當(dāng)前屏幕上的值為0表示重新開開始三、設(shè)計(jì)流程(可以畫流程圖,可以直接寫說明)輸入值1.判斷如果輸入的是數(shù)字如果輸入的是字符判斷輸入索要執(zhí)行的操作符和操作數(shù)2如果為q如果為#調(diào)用yunsuan()計(jì)算并輸出結(jié)果查看歷史結(jié)果調(diào)用putres()將結(jié)果保存結(jié)束四、代碼#include <stdi
2、o.h>#include <stdlib.h>#include <string.h>#include <math.h>double yunsuan(double a, char operate, double b); /處理數(shù)值之間的運(yùn)算void PutRes(double array, double res, int *i); /保存該次運(yùn)算結(jié)果int main() char str40;double a = 0;double b = 0;double res = 0;double history10 = 0,0,0;char opt; int i
3、= 0;printf("歡迎進(jìn)入計(jì)算功能(eg: 1 n+ 1 ; '#':查詢歷史結(jié)果; 'q':退出程序)····n");while(1)fgets(str,40,stdin); /將從鍵盤的一整行標(biāo)準(zhǔn)輸入保存在字符串str中if(sscanf(str,"%lf", &a) = 1) /將str以長浮點(diǎn)型的格式放入a中,如果返回值為1,說明輸入的是數(shù)值, scanf("%c %lf", &opt, &b); /獲取操作符的值和另外一個(gè)操
4、作數(shù)的值 res = yunsuan(a,opt,b); /調(diào)用yunsuan()函數(shù)計(jì)算,并將結(jié)果給res printf("%lf %c %lf = %lfnn",a, opt, b, res); PutRes(history, res, &i); /調(diào)用函數(shù)PutRes()將本次結(jié)果保存到數(shù)組history中(i用引用傳遞) / printf("%dn", i);else if(sscanf(str,"%c",&opt) = 1) /將str以字符型的格式放入opt中,如果返回值為1,說明輸入的是字符if(opt
5、= '#') /如果opt為#,則顯示history中的數(shù)值 int j = 0;for(j = 0; j < i; +j) /i為history中存放的數(shù)值個(gè)數(shù) printf(" %lf ", historyj); printf("n");else if(opt = '+' | opt = '-' | opt = '*' | opt = '/' | opt = '') /如果為操作符,則為連續(xù)運(yùn)算,則下面秩序獲得b的值,a的值則為上次運(yùn)算結(jié)果 scan
6、f("%lf", &b); opt = str0; /因?yàn)閟tr是字符串,而opt是字符,所以不能直接賦值,上句判斷出str是字符,所以是只有一個(gè)字符的字符串,故可以這樣賦值 a = res; res = yunsuan(a,opt,b); printf("%lf %c %lf = %lfnn",a, opt, b, res); PutRes(history, res, &i);else if(opt = 'q') /q退出程序printf("Bye Bye.");return 0;return 0;/
7、*功能:處理數(shù)值之間的運(yùn)算參數(shù)1:操作數(shù)1參數(shù)2:操作方式參數(shù)3:操作數(shù)2返回值:兩數(shù)值的運(yùn)算結(jié)果。*/double yunsuan(double a, char operate, double b)switch(operate)case '+':a += b;break;case '-':a -= b;break;case '*':a *= b;break;case '/':a /= b;break;case '':a = pow(a, b);break;case '':a = sqrt(a);b
8、reak;default: /如果不滿足上面所有分支則結(jié)束程序break;return a;/*功能:保存該次運(yùn)算結(jié)果參數(shù)1:用來保存結(jié)果的數(shù)組參數(shù)2:本次要存放的結(jié)果參數(shù)3:數(shù)組中目前存放的個(gè)數(shù)返回值:無*/void PutRes(double array, double res, int *i)int j = *i; /i用引用傳遞,確保在調(diào)用該函數(shù)式,形參和實(shí)參都能發(fā)生改變 if(j < 10) /如果數(shù)組內(nèi)當(dāng)前的值少于十個(gè)直接存入,并將個(gè)數(shù)加1 arrayj = res;j+;elsefor(j = 1; j < 10; +j) /如果數(shù)組內(nèi)有十個(gè)數(shù),則從第二個(gè)數(shù)開始前移,
9、再講本次結(jié)果存放在下標(biāo)為9的位置 arrayj-1 = arrayj;array9 = res;*i = j; /更新當(dāng)前數(shù)組內(nèi)數(shù)值個(gè)數(shù)五、運(yùn)行效果(截圖)六、bug調(diào)試(調(diào)試過程中遇到的問題和解決方法):六、心得體會在這為期兩個(gè)星期的時(shí)間內(nèi),通過我們小組之間成員的相互討論和合作,我們完成了老師要求的程序設(shè)計(jì),更值得高興的事我們的程序取得了成功,在這一個(gè)學(xué)期的c語言學(xué)習(xí)中,我們平時(shí)所學(xué)的知識最多也就是在做作業(yè)時(shí)才能用到,平時(shí)沒什么練習(xí)的機(jī)會,這次的課程設(shè)計(jì)是我們第一次通過自己的構(gòu)思和小組成員討論并且不斷查閱資料來設(shè)計(jì)一段程序,這次的設(shè)計(jì)不僅鞏固了以前所學(xué)的知識,還讓我對c語言有了更深一部的了解掌握了更多的技巧和技能。C語言是計(jì)算機(jī)程序設(shè)計(jì)的重要理論基礎(chǔ),在我們以后的學(xué)習(xí)和工作中占有重要的作用,要學(xué)好這種語言,僅僅學(xué)習(xí)課本上的知識是不夠的,還要經(jīng)常自己動手才能鍛
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年建筑施工吊裝作業(yè)人員勞務(wù)派遣協(xié)議
- 2025年科技研發(fā)策劃貸款協(xié)議書范本
- 合規(guī)管理對企業(yè)品牌聲譽(yù)的長期影響
- 企業(yè)在融資中的法律風(fēng)險(xiǎn)管理
- 2025年圍欄護(hù)欄個(gè)性化定制與安裝服務(wù)協(xié)議
- 高管責(zé)任與公司治理的關(guān)聯(lián)性分析
- 語文教育數(shù)字化轉(zhuǎn)型與創(chuàng)新路徑
- 理賠業(yè)務(wù)風(fēng)險(xiǎn)管理跨文化協(xié)作風(fēng)險(xiǎn)基礎(chǔ)知識點(diǎn)歸納
- 大連景點(diǎn)介紹課件視頻
- 農(nóng)業(yè)機(jī)器人技術(shù)在生產(chǎn)中的應(yīng)用前景
- 第四版(2025)國際壓力性損傷潰瘍預(yù)防和治療臨床指南解讀
- 2025年檔案管理專業(yè)考試試卷及答案
- 多重耐藥菌病人的處理流程
- 《常見性病防治知識》課件
- 駐村第一書記工作總結(jié)模版
- 2025物理大一輪復(fù)習(xí)講義復(fù)習(xí)講義答案精析
- 2025年高考政治搶押秘籍(江蘇專用)時(shí)政熱點(diǎn)04哪吒2(學(xué)生版+解析)
- 廣東省深圳市2025年中考模擬歷史試題四套附參考答案
- 粵語知識測試題及答案
- 2025年北京市東城區(qū)初三語文一模作文《根基》寫作指導(dǎo)+范文
- 2025年果蔬清洗機(jī)市場分析現(xiàn)狀
評論
0/150
提交評論