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

下載本文檔

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

文檔簡介

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

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

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

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

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

6、退出程序)處理: 根據(jù)用戶輸入的數(shù)字代碼,跳轉(zhuǎn)到相關功能函數(shù)輸出:顯示相應界面或退出程序(2)mm()自定義函數(shù)功能:進行混合運算;(3)nn()自定義函數(shù)功能:退出界面,顯示“THANKS!”(4) kk()自定義函數(shù)功能:在開始界面顯示“WELCOME”3.3模塊功能數(shù)學計算模塊中,根據(jù)用戶選擇的運算類型和運算符號,自動調(diào)用相應的函數(shù),運行相關程序,進行計算,并顯示結果。3.4模塊流程圖3.5模塊接口設計  四則混合運算: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; 四則混合運算包括的子函數(shù)的函數(shù)原型: void sizeyunsuan(double num1, char symbol, double

9、60;num2) 把表達式轉(zhuǎn)化成波蘭式 C語言課程設計簡易計算器 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);/聲明加法運算void CF(int a,int c);/聲明乘法運算void chuFa(int a,int c);/聲明除法運算void jianFa(int a,int c);/聲明減法運算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);/在此我用了強制類型轉(zhuǎn)換,確保輸出結果不是兩者取整。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界面設計圖2.4 系統(tǒng)主界面進入主界面之后,主屏上顯示“WELCOME”表示您已進入本系統(tǒng),然后系統(tǒng)屏幕上會提示“xuan ze shifou ji suan”意思為“選擇是否計算”,1,“yes”代表進入計算界面,0,“no”代表退出程序,用戶可根據(jù)自己的意思來輸入相應代碼進行下一步。4.2計算界面圖2.5 計算界面在計算界面中,主屏顯示“qing shu ru ji suan gong shi”代表“請輸入計算公式”之后用戶可以進行任何四則運算,例如:在主屏中輸入“86*67+32/4+5=

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

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

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論