版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> C語(yǔ)言課程設(shè)計(jì)報(bào)告</b></p><p> 題目:設(shè)計(jì)一個(gè)簡(jiǎn)單計(jì)算器</p><p><b> 目 錄</b></p><p><b> 1.設(shè)計(jì)目的</b></p><p><b> 2.內(nèi)容</b><
2、/p><p> 3.總體設(shè)計(jì)(有流程圖)</p><p> 4.源程序編寫(xiě)(附上了運(yùn)行圖)</p><p><b> 5.執(zhí)行結(jié)果 </b></p><p><b> 6.心得體會(huì)</b></p><p><b> 設(shè)計(jì)目的</b></p&g
3、t;<p> 設(shè)計(jì)一個(gè)簡(jiǎn)單計(jì)算器,在功能上功能盡量模擬windows操作系統(tǒng)中的計(jì)算器,系統(tǒng)界面不做強(qiáng)制要求。</p><p> 全面熟悉、掌握C語(yǔ)言基本知識(shí),掌握C程序設(shè)計(jì)中的順序、分支、循環(huán)三種結(jié)構(gòu)及數(shù)組、函數(shù)、指針和文件的操作,把編程和實(shí)際結(jié)合起來(lái),增強(qiáng)對(duì)不同的問(wèn)題運(yùn)用和靈活選擇合適的數(shù)據(jù)結(jié)構(gòu)以及算法描述的本領(lǐng),熟悉編制和調(diào)試程序的技巧,掌握分析結(jié)果的若干有效方法,進(jìn)一步提高上機(jī)動(dòng)手能力,
4、培養(yǎng)使用計(jì)算機(jī)解決實(shí)際問(wèn)題的能力,規(guī)范編程思想,為以后在專(zhuān)業(yè)課程中應(yīng)用計(jì)算機(jī)系統(tǒng)解決計(jì)算、分析、實(shí)驗(yàn)和設(shè)計(jì)等學(xué)習(xí)環(huán)節(jié)打下較扎實(shí)的基礎(chǔ)。</p><p><b> 內(nèi)容</b></p><p><b> 程序設(shè)計(jì)的一般步驟</b></p><p><b> 確定數(shù)據(jù)結(jié)構(gòu)</b></p>
5、<p><b> 確定算法</b></p><p><b> 編程</b></p><p><b> 調(diào)試</b></p><p><b> 總結(jié)資料</b></p><p><b> 2、基本要求</b>&l
6、t;/p><p> a.設(shè)計(jì)正確,方案合理,能實(shí)現(xiàn)相應(yīng)功能。</p><p> b.界面友好,使用方便。</p><p> c.程序精煉,結(jié)構(gòu)清晰。</p><p> d.設(shè)計(jì)報(bào)告含程序設(shè)計(jì)說(shuō)明,用戶使用說(shuō)明,源程序清單及程序框圖。</p><p><b> e.上機(jī)演示。</b></
7、p><p> 三、總體設(shè)計(jì)(程序設(shè)計(jì)組成框圖、流程圖)</p><p><b> 源程序編寫(xiě)</b></p><p> #include<stdio.h></p><p> #include<math.h></p><p> #include<malloc.h&
8、gt;</p><p> double jisuan(char a[])</p><p><b> {</b></p><p> int i=1,j,k,m,cnt=0,t1=0,t2=0,t3=0;</p><p> char nibo[50],zhan2[50];</p><p>
9、double x,n,l,z=0,zhan3[20];</p><p> typedef struct</p><p><b> {</b></p><p> double d1;</p><p><b> int d2;</b></p><p><b>
10、 }dd;</b></p><p> typedef struct</p><p><b> {</b></p><p> dd data[50];</p><p><b> int top;</b></p><p><b> }zhan1;&
11、lt;/b></p><p> zhan1 shu;</p><p> shu.top=0;</p><p> while(a[i]!='\0')</p><p><b> {</b></p><p> if(a[i]>='0'&&am
12、p;a[i]<='9')</p><p><b> {</b></p><p><b> z=0;</b></p><p><b> j=i+1;</b></p><p> while(a[j]>='0'&&a
13、[j]<='9')</p><p><b> {j++;}</b></p><p><b> j--;</b></p><p> for(k=i;k<=j;k++)</p><p><b> {</b></p><p>
14、; z=z*10+a[k]-'0';</p><p><b> }</b></p><p><b> j=j+1;</b></p><p><b> x=z;</b></p><p> if(a[j]=='.')</p>
15、<p><b> {</b></p><p><b> l=1;</b></p><p><b> i=j+1;</b></p><p><b> j=i+1;</b></p><p> while(a[j]>='0
16、9;&&a[j]<='9')</p><p><b> {j++;}</b></p><p><b> j--;</b></p><p> for(k=i;k<=j;k++)</p><p><b> {</b></p&
17、gt;<p> n=pow(0.1,l);</p><p><b> l=l+1;</b></p><p> x=x+n*(a[k]-'0');</p><p><b> }</b></p><p><b> i=j+1;</b><
18、/p><p><b> }</b></p><p><b> else i=j;</b></p><p> shu.data[++shu.top].d1=x;</p><p> shu.data[shu.top].d2=++cnt;</p><p> nibo[++t1
19、]='0'+shu.data[shu.top].d2;</p><p> nibo[t1+1]='\0';</p><p><b> }</b></p><p> else if(a[i]=='(')</p><p><b> {</b><
20、;/p><p> zhan2[++t2]=a[i];</p><p><b> i++;</b></p><p><b> }</b></p><p> else if(a[i]==')')</p><p><b> {</b>&l
21、t;/p><p><b> j=t2;</b></p><p> while(zhan2[j]!='(')</p><p><b> {</b></p><p> nibo[++t1]=zhan2[j];</p><p> nibo[t1+1]='
22、;\0';</p><p><b> j--;</b></p><p><b> }</b></p><p><b> t2=j-1;</b></p><p><b> i++;</b></p><p><b&
23、gt; }</b></p><p> else if(a[i]=='+')</p><p><b> {</b></p><p> while(t2>0&&zhan2[t2]!='(')</p><p><b> {</b>
24、</p><p> nibo[++t1]=zhan2[t2];</p><p> nibo[t1+1]='\0';</p><p><b> t2--;</b></p><p><b> }</b></p><p> zhan2[++t2]=a[i]
25、;</p><p><b> i++;</b></p><p><b> }</b></p><p> else if(a[i]=='-')</p><p><b> {</b></p><p> if(a[i-1]=='
26、;$')</p><p><b> {</b></p><p><b> a[0]='0';</b></p><p><b> i=0;</b></p><p><b> }</b></p><p>
27、 else if(a[i-1]=='(')</p><p><b> {</b></p><p> a[i-1]='0';</p><p> a[i-2]='(';</p><p><b> i=i-2;\</b></p>&l
28、t;p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> while(t2>0&&zhan2[t2]!='(')</p><p><b> {
29、</b></p><p> nibo[++t1]=zhan2[t2];</p><p> nibo[t1+1]='\0';</p><p><b> t2--;</b></p><p><b> }</b></p><p> zhan2[
30、++t2]=a[i];</p><p><b> i++;</b></p><p><b> }</b></p><p><b> }</b></p><p> else if(a[i]=='*'||a[i]=='/')</p>
31、;<p><b> {</b></p><p> while(zhan2[t2]=='*'||zhan2[t2]=='/'||zhan2[t2]=='^'||zhan2[t2]=='@')</p><p><b> {</b></p><p&g
32、t; nibo[++t1]=zhan2[t2];</p><p> nibo[t1+1]='\0';</p><p><b> t2--;</b></p><p><b> }</b></p><p> zhan2[++t2]=a[i];</p><p&
33、gt;<b> i++;</b></p><p><b> }</b></p><p> else if(a[i]=='^'||a[i]=='@')</p><p><b> {</b></p><p> while(zhan2[t2]
34、=='^'||zhan2[t2]=='@')</p><p><b> {</b></p><p> nibo[++t1]=zhan2[t2];</p><p> nibo[t1+1]='\0';</p><p><b> t2--;</b>&
35、lt;/p><p><b> }</b></p><p> zhan2[++t2]=a[i];</p><p><b> i++;</b></p><p><b> }</b></p><p><b> }</b></p
36、><p> while(t2>0)</p><p><b> {</b></p><p> nibo[++t1]=zhan2[t2];</p><p> nibo[t1+1]='\0';</p><p><b> t2--;</b></p&g
37、t;<p><b> }</b></p><p><b> t1=1;</b></p><p> while(nibo[t1]!='\0')</p><p><b> {</b></p><p> if(nibo[t1]>='
38、;0'&&nibo[t1]<='9')</p><p><b> {</b></p><p> for(i=0;i<=shu.top;i++)</p><p><b> {</b></p><p> if(nibo[t1]-'0
39、39;==shu.data[i].d2)</p><p><b> {</b></p><p><b> m=i;</b></p><p><b> break;</b></p><p><b> }</b></p><p>
40、;<b> }</b></p><p> zhan3[++t3]=shu.data[m].d1;</p><p><b> }</b></p><p> else if(nibo[t1]=='+')</p><p><b> {</b></p&g
41、t;<p> zhan3[t3-1]=zhan3[t3-1]+zhan3[t3];</p><p><b> t3--;</b></p><p><b> }</b></p><p> else if(nibo[t1]=='-')</p><p><b&g
42、t; {</b></p><p> zhan3[t3-1]=zhan3[t3-1]-zhan3[t3];</p><p><b> t3--;</b></p><p><b> }</b></p><p> else if(nibo[t1]=='*')</
43、p><p><b> {</b></p><p> zhan3[t3-1]=zhan3[t3-1]*zhan3[t3];</p><p><b> t3--;</b></p><p><b> }</b></p><p> else if(nibo
44、[t1]=='/')</p><p><b> {</b></p><p> zhan3[t3-1]=zhan3[t3-1]/zhan3[t3];</p><p><b> t3--;</b></p><p><b> }</b></p>
45、<p> else if(nibo[t1]=='^')</p><p><b> {</b></p><p> zhan3[t3-1]=pow(zhan3[t3-1],zhan3[t3]);</p><p><b> t3--;</b></p><p><b&
46、gt; }</b></p><p> else if(nibo[t1]=='@')</p><p><b> {</b></p><p> zhan3[t3]=sqrt(zhan3[t3]);</p><p><b> }</b></p><
47、p><b> t1++;</b></p><p><b> }</b></p><p> return zhan3[1];</p><p><b> }</b></p><p> void main()</p><p><b>
48、 {</b></p><p><b> for(;;)</b></p><p><b> {</b></p><p> char x,a[50];</p><p> double jieguo;</p><p><b> int i=0;&l
49、t;/b></p><p><b> a[0]='$';</b></p><p> printf("@表示開(kāi)方,^表示乘方\n");</p><p> printf("請(qǐng)輸入表達(dá)式,退出請(qǐng)輸入q:\n\n");</p><p> scanf("
50、;%c",&x);</p><p> if(x=='q') break;</p><p> while(x!='\n')</p><p><b> {</b></p><p><b> a[++i]=x;</b></p><
51、;p> scanf("%c",&x);</p><p><b> }</b></p><p> a[i+1]='\0';</p><p> jieguo=jisuan(a);</p><p> printf("\n");</p>
52、<p> printf("結(jié)果為:%lf",jieguo);</p><p> printf("\n\n");</p><p><b> }</b></p><p><b> }</b></p><p><b> 執(zhí)行結(jié)果<
53、;/b></p><p><b> 1、輸入 5 4</b></p><p><b> 結(jié)果 9</b></p><p><b> 2、輸入 5 4 </b></p><p><b> 結(jié)果 1</b></p><p
54、><b> 3、輸入 5 4</b></p><p><b> 結(jié)果 20</b></p><p><b> 4、輸入 5 4</b></p><p><b> 結(jié)果 1</b></p><p><b> 圖例:</b&
55、gt;</p><p> 注:分別輸入5、4,分別進(jìn)行加減乘除。結(jié)果運(yùn)行成功。此圖為證明此程序運(yùn)行0 error ,沒(méi)錯(cuò)誤。</p><p><b> 六、心得體會(huì)</b></p><p> 計(jì)算機(jī)知識(shí)博大精深,很奧妙,學(xué)過(guò)c語(yǔ)言之后我知道我們平時(shí)用的那些應(yīng)用程序都是用各種計(jì)算機(jī)語(yǔ)言編寫(xiě)的。這次通過(guò)老師布置的課程設(shè)計(jì),我學(xué)會(huì)了更多的計(jì)算機(jī)
56、知識(shí),覺(jué)得編程是一件很費(fèi)腦細(xì)胞同時(shí)很有意思的一件事。</p><p> 我在編寫(xiě)這次簡(jiǎn)單計(jì)算器的程序過(guò)程中遇到很多困難,犯了很多錯(cuò),(例如:執(zhí)行結(jié)果部分沒(méi)有運(yùn)算符),這也讓我意識(shí)到編寫(xiě)c語(yǔ)言是需要耐心、細(xì)心和熱心去做的一件事情!最關(guān)鍵的是,這個(gè)程序是我們經(jīng)過(guò)一個(gè)暑假后的過(guò)程來(lái)編寫(xiě)的,我發(fā)現(xiàn)很多知識(shí)都忘了,所以最關(guān)鍵的是我覺(jué)得編程就該持之以恒!</p><p> 這次的報(bào)告前前后后改了很
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c語(yǔ)言課程設(shè)計(jì)--一個(gè)簡(jiǎn)易計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)
- c語(yǔ)言課程設(shè)計(jì)--一個(gè)簡(jiǎn)易計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)
- c語(yǔ)言簡(jiǎn)單計(jì)算器的編寫(xiě)課程設(shè)計(jì)
- c++簡(jiǎn)單計(jì)算器課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告--簡(jiǎn)單計(jì)算器
- c語(yǔ)言課程設(shè)計(jì)--計(jì)算器
- c語(yǔ)言課程設(shè)計(jì)--計(jì)算器
- c++課程設(shè)計(jì)--簡(jiǎn)單計(jì)算器
- 簡(jiǎn)單計(jì)算器課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)--簡(jiǎn)單計(jì)算器
- 簡(jiǎn)單計(jì)算器課程設(shè)計(jì)報(bào)告
- 編寫(xiě)一個(gè)計(jì)算器程序課程設(shè)計(jì)報(bào)告-范例
- java課程設(shè)計(jì)報(bào)告---設(shè)計(jì)一個(gè)多功能計(jì)算器
- 匯編語(yǔ)言課程設(shè)計(jì)--簡(jiǎn)單計(jì)算器設(shè)計(jì)
- 計(jì)算器java課程設(shè)計(jì)--簡(jiǎn)單計(jì)算器
- c語(yǔ)言計(jì)算器的編寫(xiě)課程設(shè)計(jì)
- 簡(jiǎn)單計(jì)算器課程設(shè)計(jì)
- 簡(jiǎn)單的計(jì)算器課程設(shè)計(jì)
- 課程設(shè)計(jì)---簡(jiǎn)單的計(jì)算器
- 課程設(shè)計(jì)--簡(jiǎn)單的計(jì)算器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論