lv簡易計算器_第1頁
lv簡易計算器_第2頁
lv簡易計算器_第3頁
lv簡易計算器_第4頁
lv簡易計算器_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、目錄第一章 課程設(shè)計目的11.1簡易計算器設(shè)計的意義11.2系統(tǒng)的基本要求1第二章 功能描述32.1功能設(shè)計32.2功能模塊框圖32.3系統(tǒng)模塊流程圖4第三章 模塊詳細(xì)設(shè)計53.1模塊描述53.2函數(shù)聲明53.3模塊功能53.4模塊接口設(shè)計5第四章 程序?qū)崿F(xiàn)104.1界面設(shè)計104.2計算界面114.3退出界面12第五章 參考文獻(xiàn)- 15 -第六章 課程設(shè)計總結(jié)- 16 -第一章 課程設(shè)計目的1通過一個學(xué)期的學(xué)習(xí),我認(rèn)為要學(xué)好C語言程序這門課程,不僅要認(rèn)真閱讀課本知識,更重要的是要通過上機(jī)實踐才能增強(qiáng)和鞏固我的知識。特別是作為本科生,更要注重實踐這一環(huán)節(jié),只有這樣我們才能成為合格的計算機(jī)人材。

2、通過這次課程設(shè)計,進(jìn)一步鞏固所學(xué)的語句,如語句嵌套等;加深對循環(huán),分支等結(jié)構(gòu)的運(yùn)用;最后還可以熟悉四則運(yùn)算三角函數(shù)等經(jīng)典算法。2通過此次課程設(shè)計擴(kuò)展自己的知識面,課本上的東西是遠(yuǎn)遠(yuǎn)不夠的,可以通過去圖書館查資料,上網(wǎng)找資料等手段學(xué)到一些新知識,比如畫圖函數(shù),顏色填充函等。3通過課程設(shè)計,加深對結(jié)構(gòu)化程序設(shè)計思想的理解,能進(jìn)行一個系統(tǒng)功能需求分析并設(shè)計合理的模化結(jié)構(gòu)。提高程序開發(fā)能力。1.1簡易計算器設(shè)計的意義本課題的內(nèi)容是設(shè)計一個簡單的計算器。通過對程序的設(shè)計可以對C程序中的函數(shù),循環(huán),數(shù)組,調(diào)用,文件內(nèi)容有更深入的理解和運(yùn)用。設(shè)計程序的過程中,通過已有知識的運(yùn)用和思考,能夠做到對知識的整體理

3、解。通過解決設(shè)計中遇到的問題,能夠提高設(shè)計程序的熟練度,并對知識有鞏固作用。另外,所選課題與自己的興趣有關(guān),編程之中不僅能提高題目涉及到的內(nèi)容的興趣,更主要的在于能對C語言更加感興趣。1.2系統(tǒng)的基本要求1)設(shè)計一個簡單的計算器;2)程序基本功能要求完整,并有簡單的驗證;3)用C實現(xiàn)系統(tǒng);4)利用結(jié)構(gòu)體、數(shù)組等實現(xiàn)數(shù)據(jù)結(jié)構(gòu)設(shè)計;5)系統(tǒng)的各個功能模塊要求用函數(shù)的形式實現(xiàn);6)本系統(tǒng)可以進(jìn)行復(fù)雜的混合運(yùn)算。第二章 功能描述簡易計算器能夠進(jìn)行加減乘除運(yùn)算加法:輸入一個數(shù),按“+”,輸入被加數(shù),按“=”,輸出結(jié)果。減法:輸入一個數(shù),按“”,輸入被減數(shù),按“=”,輸出結(jié)果。乘法:輸入一個數(shù),按“*”,

4、輸入另外個數(shù),按“=”,輸出結(jié)果。除法:輸入一個數(shù),按“/”,輸入另外個數(shù),按“=”,輸出結(jié)果。2.1功能設(shè)計1)在程序中加入足夠的操作提醒環(huán)節(jié),使得使用者能夠清楚的掌握操作流程和界面。2)程序中完成+、-、*、/的混合運(yùn)算,使用者可以根據(jù)個人的需要在提示后輸入相應(yīng)的代碼,然后進(jìn)行相應(yīng)的運(yùn)算,最后在運(yùn)算結(jié)果中查找相應(yīng)的結(jié)果即可,如果需要繼續(xù)運(yùn)算,只要在上一次的運(yùn)算結(jié)束后按照提示輸入相應(yīng)代碼即可選擇是繼續(xù)進(jìn)行運(yùn)算還是退出程序。2.2功能模塊框圖簡 易 計 算 器加 法 運(yùn) 算四 則 運(yùn) 算減 法 運(yùn) 算乘 法 運(yùn) 算除 法 運(yùn) 算退 出 程 序混 合 運(yùn) 算 圖2.2 功能模塊框圖2.3系統(tǒng)模塊

5、流程圖10是無“=”有“=”開始循環(huán)函數(shù)輸入函數(shù)判斷繼續(xù)輸入循環(huán)循環(huán)判斷判斷退出退出運(yùn)算運(yùn)算計算SUM函數(shù)輸出SUM輸入1或0判斷結(jié)束是否否圖3.1程序流程圖第三章 模塊詳細(xì)設(shè)計3.1模塊描述(1)顯示界面模塊為系統(tǒng)提供類似于菜單的功能,讓用戶輸入要操作的運(yùn)算類型的數(shù)字代碼,并進(jìn)入相應(yīng)的功能執(zhí)行程序,顯示相應(yīng)界面。(2)數(shù)學(xué)計算模塊中,根據(jù)用戶選擇的運(yùn)算類型和運(yùn)算符號,自動調(diào)用相應(yīng)的函數(shù),運(yùn)行相關(guān)程序,進(jìn)行計算,并顯示結(jié)果。3.2函數(shù)聲明(1)主函數(shù)main()功能:計算器功能選擇界面,選擇循環(huán)調(diào)用mm()自定義函數(shù);輸入:用戶輸入運(yùn)算類型、退出程序的相應(yīng)數(shù)字代碼(1 四則運(yùn)算,2 混合運(yùn)算3

6、退出程序)處理: 根據(jù)用戶輸入的數(shù)字代碼,跳轉(zhuǎn)到相關(guān)功能函數(shù)輸出:顯示相應(yīng)界面或退出程序(2)mm()自定義函數(shù)功能:進(jìn)行混合運(yùn)算;(3)nn()自定義函數(shù)功能:退出界面,顯示“THANKS!”(4) kk()自定義函數(shù)功能:在開始界面顯示“WELCOME”3.3模塊功能數(shù)學(xué)計算模塊中,根據(jù)用戶選擇的運(yùn)算類型和運(yùn)算符號,自動調(diào)用相應(yīng)的函數(shù),運(yùn)行相關(guān)程序,進(jìn)行計算,并顯示結(jié)果。3.4模塊流程圖3.5模塊接口設(shè)計  四則混合運(yùn)算:void SiZeHunHeYunSuan()首先判斷優(yōu)先級,其過程為int compare(char symbol) 

7、 int jud = 0; switch (symbol) case '('jud break;case '*':case '/':jud = symtops = '/'?-1:1; break;case ')':  jud=0; break;  case '+':

8、0;case '-': jud = (symtops != '*' && symtops != '/')?1:-1break; default: break; return jud; 四則混合運(yùn)算包括的子函數(shù)的函數(shù)原型: void sizeyunsuan(double num1, char symbol, double

9、60;num2) 把表達(dá)式轉(zhuǎn)化成波蘭式 C語言課程設(shè)計簡易計算器 3.4源代碼#include <cstdio> #include <ctype.h> struct eoe  FILE* fp; char token; eoe()  fp = stdin;  eoe(FILE* p)  fp = p;  

10、inline void getToken(); inline int exp(); inline int term(); inline int factor(); inline int result();  void eoe:getToken()  while (1)  token = fgetc(fp); if (token 

11、= EOF | token = '' | token = '=')  token = 0; break;  else if (!isspace(token) break;   int eoe:exp()  int t = term(); while (1) 

12、 if (token = '+') getToken(), t += term(); else if (token = '-') getToken(), t -= term(); else break;  return t;  int eoe:term()  int t =&#

13、160;factor(); while (1)  if (token = '*') getToken(), t *= term(); else if (token = '/') getToken(), t /= term(); else break;  return t;  int eo

14、e:factor()  int t; if (token = '(') getToken(), t = exp(), getToken();else if (isdigit(token) ungetc(token, fp), fscanf(fp, "%d", &t), getToken(); return t;  

15、int eoe:result()  int t; getToken(); t = exp(); return t;  int main()  eoe e; printf("%dn", e.result(); return 0; #include <stdio.h>#include <conio.h>void JF(

16、int a,int c);/聲明加法運(yùn)算void CF(int a,int c);/聲明乘法運(yùn)算void chuFa(int a,int c);/聲明除法運(yùn)算void jianFa(int a,int c);/聲明減法運(yùn)算void jianFa(int a,int c)/減法    printf("%d-%d=%dn",a,c,a-c);void chuFa(int a,int

17、 c)/除法    printf("%d/%d=%lfn",a,c,a/(double)c);/在此我用了強(qiáng)制類型轉(zhuǎn)換,確保輸出結(jié)果不是兩者取整。void CF(int a,int c)/乘法    printf("%d*%d=%dn",a,c,a*c);void JF(int a,int c)/加法    printf("%d+%d=%dn",a

18、,c,a+c);void main(void)    int a,c;    char b;a:    printf("請輸入計算式,(注意:在鍵盤中無除法符號,所以采用“/”代替)");    scanf("%d%c%d",&a,&b,&c);    switch (b)  

19、;      case '+' : JF(a,c);        break;    case '-' :    jianFa(a,c);        break;    c

20、ase '*' : CF(a,c);        break;    case '/' : chuFa(a,c);        break;    default : printf("輸入計算符不存在,請重新輸入")

21、0;    goto a; 第四章 程序?qū)崿F(xiàn)4.1界面設(shè)計圖2.4 系統(tǒng)主界面進(jìn)入主界面之后,主屏上顯示“WELCOME”表示您已進(jìn)入本系統(tǒng),然后系統(tǒng)屏幕上會提示“xuan ze shifou ji suan”意思為“選擇是否計算”,1,“yes”代表進(jìn)入計算界面,0,“no”代表退出程序,用戶可根據(jù)自己的意思來輸入相應(yīng)代碼進(jìn)行下一步。4.2計算界面圖2.5 計算界面在計算界面中,主屏顯示“qing shu ru ji suan gong shi”代表“請輸入計算公式”之后用戶可以進(jìn)行任何四則運(yùn)算,例如:在主屏中輸入“86*67+32/4+5=

22、”然后通過enter鍵得出計算結(jié)果4.3退出界面 圖2.6 退出界面退出程序后用戶將看到“THANKS!”字樣,代表對您本次使用表示感謝。之后主屏左下方提示“shu ru ren yi shu zi tui chu”代表您將輸入任意一個數(shù)字退出程序 第五章:課程設(shè)計的結(jié)果展示 圖5.1.錯誤1函數(shù)之后多打了一個逗號,導(dǎo)致系統(tǒng)報錯 圖5.2.錯誤2由于逗號的影響,出現(xiàn)了語法聲明錯誤 圖5.3.錯誤3莫名的進(jìn)入死循環(huán),后經(jīng)驗證,只因輸錯了一個字14第五章 參考文獻(xiàn)1科欽.C語言程序設(shè)計.北京:電子工業(yè)出版社,1987:56-582徐君毅.C語言程序設(shè)計基礎(chǔ).上海:復(fù)旦大學(xué)出版社,1992:87-9

23、8 3李成付.C語言程序設(shè)計基礎(chǔ).北京:科學(xué)出版社,1992:42-67 4郝玉潔.C語言程序設(shè)計.北京:機(jī)械工業(yè)出版社,2000:63-88 5錢啟平.C語言程序設(shè)計基礎(chǔ).北京:中國鐵道出版社,2000:91-99 6李大友.C語言程序設(shè)計基礎(chǔ).北京:清華大學(xué)出版社,1999:58-98 7黃迪明.C語言程序設(shè)計.北京:電子科技大學(xué)出版社,1998:78-98 8姜仲秋.C語言程序設(shè)計基礎(chǔ).南京:南京大學(xué)出版社,1998:16-100 9李國昌.C語言程序設(shè)計基礎(chǔ).北京:科學(xué)出版社,1998:78-120 10譚

24、浩強(qiáng).C語言程序設(shè)計.北京:清華大學(xué)出版社,2000:74-129 第六章 課程設(shè)計總結(jié)本報告對簡單計算器系統(tǒng)的分析、設(shè)計、實現(xiàn)的完整過程進(jìn)行了介紹。經(jīng)過了五天的課程設(shè)計,在設(shè)計中我們遇到了很多編程問題,最后我們齊心合力的攻克一個個難關(guān),我們組做得是計算器的設(shè)計,內(nèi)容包括很多。運(yùn)用的函數(shù)也很復(fù)雜。測試階段中發(fā)現(xiàn)了幾處錯誤導(dǎo)致程序不能編譯,去圖書館查找相關(guān)的資料, 又與同學(xué)一起討論。通過耐心的分析源代碼終于編好了一個完整無誤的程序。在這次的c語言程序設(shè)計實習(xí)中遇到了現(xiàn)實編程中必然見到的問題通過這些問題解決積累了編程的實踐經(jīng)驗。在實際的編程操作中發(fā)現(xiàn)自己對c語言知識的不足,加深

25、了對c語言的理解。在學(xué)習(xí)之余體驗到收獲的感覺. 善于總結(jié),也是學(xué)習(xí)能力的一種體現(xiàn),每次完成一個編程任務(wù),完成一段代碼,都應(yīng)當(dāng)有目的的跟蹤該程序的應(yīng)用狀況,隨時總結(jié),找到自己的不足,這樣所編寫的程序才能逐步提高課程設(shè)計是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié)是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新月異,當(dāng)今計算機(jī)應(yīng)用在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握計算機(jī)開發(fā)技術(shù)是十分重要的。自從拿到題目到完成整個編程,從理論到實踐,在整整五天的日子里,可以學(xué)到很多很多的東西,同時不僅可以鞏固了以前所學(xué)過的知識

26、,而且學(xué)到很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我們懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合才能完成。 通過這次課程設(shè)計,我拓寬了知識面,鍛煉了能力,綜合素質(zhì)得到較大提高。安排課程設(shè)計的基本目的,分析和解決問題的實際工作能力,以便培養(yǎng)成為能夠主動適應(yīng)社會主義現(xiàn)代化建設(shè)需要的高素質(zhì)的復(fù)合型人才。作為整個學(xué)習(xí)體系的有機(jī)組成部分,課程設(shè)計雖然安排在一周進(jìn)行,但并不具有絕對獨(dú)立的意義。它的一個重要功能,在于運(yùn)用學(xué)習(xí)成果,檢驗學(xué)習(xí)成果。運(yùn)用學(xué)習(xí)成果,把課堂上學(xué)到的系統(tǒng)化的理論知識,嘗試性地應(yīng)用于實際設(shè)計工作,并從理論的高度對設(shè)計工作的現(xiàn)代化

27、提出一些有針對性的建議和設(shè)想。檢驗學(xué)習(xí)成果,看一看課堂學(xué)習(xí)與實際工作到底有多大距離,并通過綜合分析,找出學(xué)習(xí)中存在的不足,以便為完善學(xué)習(xí)計劃,改變學(xué)習(xí)內(nèi)容與方法提供實踐依據(jù)。而這種實際能力的培養(yǎng)單靠課堂教學(xué)是遠(yuǎn)遠(yuǎn)不夠的,必須從課堂走向?qū)嵺`。這也是一次預(yù)演。通過課程設(shè)計,讓我們找出自身狀況與實際需要的差距,并在以后的學(xué)習(xí)期間及時補(bǔ)充相關(guān)知識,為求職與正式工作做好充分的知識、能力準(zhǔn)備,從而縮短從校園走向社會的心理轉(zhuǎn)型期。課程設(shè)計促進(jìn)了我系人才培養(yǎng)計劃的完善和課程設(shè)置的調(diào)整。近年來,我系為適應(yīng)學(xué)生的實踐需要陸續(xù)增設(shè)與調(diào)整了一系列課程,受到同學(xué)的歡迎,其中這次的設(shè)計很受同學(xué)們的喜歡。課程設(shè)計達(dá)到了專業(yè)

28、學(xué)習(xí)的預(yù)期目的。在一個星期的課程設(shè)計之后,我們普遍感到不僅實際動手能力有所提高,更重要的是通過對軟件開發(fā)流程的了解,進(jìn)一步激發(fā)了我們對專業(yè)知識的興趣,并能夠結(jié)合實際存在的問題在專業(yè)領(lǐng)域內(nèi)進(jìn)行更深入的學(xué)習(xí)。蘭州交通大學(xué)博文學(xué)院C語言課程設(shè)計 設(shè)計題目: 簡易計算器 專 業(yè): 自動化 班 級: 15 自動化 學(xué) 號: 20150373 姓 名: 呂雨楠 指導(dǎo)教師: 史紅霞 二零一五年六月二十八日蘭州交通大學(xué)博文學(xué)院C語言課程設(shè)計 設(shè)計題目: 簡易計算器 專 業(yè): 自動化 班 級: 15 自動化 學(xué) 號: 20150377 姓 名: 柴曉慧 指導(dǎo)教師: 史紅霞 二零一六年六月二十三日蘭州交通大學(xué)博文學(xué)院C語言課程設(shè)計 設(shè)計題目: 簡易計算器 專 業(yè): 自動化 班 級: 15 自動化 學(xué) 號: 20150374 姓 名: 田湫川 指導(dǎo)教師: 史紅霞 二零一六年六月二十三日蘭州交通大學(xué)博文學(xué)院C語言課程設(shè)計 設(shè)計題目: 簡易計算器 專 業(yè): 自動化 班 級: 15 自動化 學(xué) 號: 20150376 姓 名: 寇德鑫 指導(dǎo)教師: 史紅霞 二零一六年六月二十三日蘭州交通大學(xué)博文學(xué)院課程設(shè)計任務(wù)書姓 名田湫川學(xué)號20150374班級15自動化成績設(shè)計題目簡易計算器主要設(shè)計內(nèi) 容制作一個簡易計算器,類似于windows自帶的計算器,可以完成的計算功能有:1)

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論