(精選)設(shè)計一個簡單計算器的C語言課程設(shè)計報告Word版_第1頁
(精選)設(shè)計一個簡單計算器的C語言課程設(shè)計報告Word版_第2頁
(精選)設(shè)計一個簡單計算器的C語言課程設(shè)計報告Word版_第3頁
(精選)設(shè)計一個簡單計算器的C語言課程設(shè)計報告Word版_第4頁
(精選)設(shè)計一個簡單計算器的C語言課程設(shè)計報告Word版_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言課程設(shè)計報告題目:設(shè)計一個簡單計算器 目 錄1.設(shè)計目的2.內(nèi)容3.總體設(shè)計(有流程圖)4.源程序編寫(附上了運行圖)5.執(zhí)行結(jié)果 6.心得體會一、 設(shè)計目的設(shè)計一個簡單計算器,在功能上功能盡量模擬windows操作系統(tǒng)中的計算器,系統(tǒng)界面不做強制要求。全面熟悉、掌握C語言基本知識,掌握C程序設(shè)計中的順序、分支、循環(huán)三種結(jié)構(gòu)及數(shù)組、函數(shù)、指針和文件的操作,把編程和實際結(jié)合起來,增強對不同的問題運用和靈活選擇合適的數(shù)據(jù)結(jié)構(gòu)以及算法描述的本領(lǐng),熟悉編制和調(diào)試程序的技巧,掌握分析結(jié)果的若干有效方法,進一步提高上機動手能力,培養(yǎng)使用計算機解決實際問題的能力,規(guī)范編程思想,為以后在專業(yè)課程中應用計

2、算機系統(tǒng)解決計算、分析、實驗和設(shè)計等學習環(huán)節(jié)打下較扎實的基礎(chǔ)。二、 內(nèi)容1、 程序設(shè)計的一般步驟a、 確定數(shù)據(jù)結(jié)構(gòu)b、 確定算法c、 編程d、 調(diào)試e、 總結(jié)資料2、基本要求a設(shè)計正確,方案合理,能實現(xiàn)相應功能。b界面友好,使用方便。c程序精煉,結(jié)構(gòu)清晰。d設(shè)計報告含程序設(shè)計說明,用戶使用說明,源程序清單及程序框圖。e上機演示。三、總體設(shè)計(程序設(shè)計組成框圖、流程圖) 四、 源程序編寫#include<stdio.h>#include<math.h>#include<malloc.h>double jisuan(char a) int i=1,j,k,m,c

3、nt=0,t1=0,t2=0,t3=0; char nibo50,zhan250; double x,n,l,z=0,zhan320; typedef struct double d1; int d2; dd; typedef struct dd data50; int top; zhan1; zhan1 shu; shu.top=0; while(ai!='0') if(ai>='0'&&ai<='9') z=0; j=i+1; while(aj>='0'&&aj<=

4、9;9') j+; j-; for(k=i;k<=j;k+) z=z*10+ak-'0' j=j+1; x=z; if(aj='.') l=1; i=j+1; j=i+1; while(aj>='0'&&aj<='9') j+; j-; for(k=i;k<=j;k+) n=pow(0.1,l); l=l+1; x=x+n*(ak-'0'); i=j+1; else i=j; shu.data+shu.top.d1=x; shu.datashu.top.d2=+cnt

5、; nibo+t1='0'+shu.datashu.top.d2; nibot1+1='0' else if(ai='(') zhan2+t2=ai; i+; else if(ai=')') j=t2; while(zhan2j!='(') nibo+t1=zhan2j; nibot1+1='0' j-; t2=j-1; i+; else if(ai='+') while(t2>0&&zhan2t2!='(') nibo+t1=zhan2t2;

6、nibot1+1='0' t2-; zhan2+t2=ai; i+; else if(ai='-') if(ai-1='$') a0='0' i=0; else if(ai-1='(') ai-1='0' ai-2='(' i=i-2; else while(t2>0&&zhan2t2!='(') nibo+t1=zhan2t2; nibot1+1='0' t2-; zhan2+t2=ai; i+; else if(ai='

7、;*'|ai='/') while(zhan2t2='*'|zhan2t2='/'|zhan2t2=''|zhan2t2='') nibo+t1=zhan2t2; nibot1+1='0' t2-; zhan2+t2=ai; i+; else if(ai=''|ai='') while(zhan2t2=''|zhan2t2='') nibo+t1=zhan2t2; nibot1+1='0' t2-; zhan2+

8、t2=ai; i+; while(t2>0) nibo+t1=zhan2t2; nibot1+1='0' t2-; t1=1; while(nibot1!='0') if(nibot1>='0'&&nibot1<='9') for(i=0;i<=shu.top;i+) if(nibot1-'0'=shu.datai.d2) m=i; break; zhan3+t3=shu.datam.d1; else if(nibot1='+') zhan3t3-1=zhan

9、3t3-1+zhan3t3; t3-; else if(nibot1='-') zhan3t3-1=zhan3t3-1-zhan3t3; t3-; else if(nibot1='*') zhan3t3-1=zhan3t3-1*zhan3t3; t3-; else if(nibot1='/') zhan3t3-1=zhan3t3-1/zhan3t3; t3-; else if(nibot1='') zhan3t3-1=pow(zhan3t3-1,zhan3t3); t3-; else if(nibot1='') z

10、han3t3=sqrt(zhan3t3); t1+; return zhan31;void main() for(;) char x,a50; double jieguo; int i=0; a0='$' printf("表示開方,表示乘方n"); printf("請輸入表達式,退出請輸入q:nn"); scanf("%c",&x); if(x='q') break; while(x!='n') a+i=x; scanf("%c",&x); ai+1=

11、'0' jieguo=jisuan(a); printf("n"); printf("結(jié)果為:%lf",jieguo); printf("nn"); 五、 執(zhí)行結(jié)果1、輸入 5 4結(jié)果 92、輸入 5 4 結(jié)果 13、輸入 5 4結(jié)果 204、輸入 5 4結(jié)果 1圖例: 注:分別輸入5、4,分別進行加減乘除。結(jié)果運行成功。此圖為證明此程序運行0 error ,沒錯誤。六、心得體會 計算機知識博大精深,很奧妙,學過c語言之后我知道我們平時用的那些應用程序都是用各種計算機語言編寫的。這次通過老師布置的課程設(shè)計,我學會了更多的計算機知識,覺得編程是一件很費腦細胞同時很有意思的一件事。 我在編寫這次簡單計算器的程序過程中遇到很多困難,犯了很多錯,(例如:執(zhí)行結(jié)果部分沒有

溫馨提示

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

評論

0/150

提交評論