版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 學(xué)生課程設(shè)計(jì)(論文)</p><p> 題 目: 簡易計(jì)算器 </p><p> 學(xué)生姓名: 學(xué) 號: </p><p> 所在院(系): 計(jì)算機(jī)學(xué)院 </p><p> 專 業(yè):
2、 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 班 級: </p><p> 指 導(dǎo) 教 師: 職稱: 講師 </p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p> 注:任務(wù)書由指導(dǎo)教師填寫
3、。</p><p><b> 目 錄</b></p><p><b> 目 錄IV</b></p><p><b> 摘 要V</b></p><p><b> 1 緒論VI</b></p><p> 1.1
4、 課程設(shè)計(jì)背景VI</p><p> 1.2 需求環(huán)境VI</p><p> 1.3 課程設(shè)計(jì)思路VI</p><p> 2 課程設(shè)計(jì)概要2</p><p> 3 程序結(jié)構(gòu)和各模塊分析3</p><p> 3.1菜單操作模塊3</p><p> 3.1.1 f
5、un1函數(shù)功能3</p><p> 3.1.2 功能實(shí)現(xiàn)代碼3</p><p> 3.2 加減乘除運(yùn)算模塊3</p><p> 3.2.1 fun2函數(shù)功能3</p><p> 3.2.2 功能實(shí)現(xiàn)代碼4</p><p> 3.3 乘方和開方運(yùn)算模塊4</p><p>
6、3.3.1 fun3函數(shù)功能4</p><p> 3.3.2 功能實(shí)現(xiàn)代碼4</p><p> 3.4 進(jìn)制轉(zhuǎn)換運(yùn)算模塊5</p><p> 3.4.1 convert函數(shù)功能5</p><p> 3.4.2 功能實(shí)現(xiàn)代碼5</p><p> 3.5 求模運(yùn)算模塊5</p>&l
7、t;p> 3.5.1 fun4函數(shù)功能5</p><p> 3.5.2 功能實(shí)現(xiàn)代碼6</p><p> 3.6 退出模塊6</p><p> 3.6.1代碼功能6</p><p> 3.6.2 功能實(shí)現(xiàn)代碼6</p><p><b> 4 程序調(diào)試7</b>&l
8、t;/p><p> 4.1 操作界面7</p><p> 4.2 加減乘除運(yùn)算7</p><p> 4.3 乘方和開方運(yùn)算9</p><p> 4.4 進(jìn)制轉(zhuǎn)換運(yùn)算10</p><p> 4.5 求模運(yùn)算11</p><p> 4.6 退出12</p>
9、<p> 5 課程設(shè)計(jì)總結(jié)12</p><p><b> 參考文獻(xiàn)13</b></p><p><b> 附錄:源代碼14</b></p><p><b> 摘 要</b></p><p> 一直以來,C語言都是在國際上廣泛流行的通用編程語言,
10、它既具有高級語言的特點(diǎn),又具有低級語言的些特點(diǎn);既可用于編寫系統(tǒng)軟件又可用于編寫應(yīng)用軟件。雖然說近二十年來計(jì)算機(jī)技術(shù)取得了長遠(yuǎn)的進(jìn)步,各種編程語言不斷地涌現(xiàn)出來,但是C語言功能強(qiáng)大,使用靈活,即使是在科技快速發(fā)展的二十一世紀(jì),仍展現(xiàn)出了強(qiáng)大的生命力,為社會的高度信息化,特別是在信息技術(shù)和網(wǎng)絡(luò)技術(shù)領(lǐng)域做出了十分重要的貢獻(xiàn)。</p><p> 本文介紹了用C語言編寫一個(gè)簡易計(jì)算器。實(shí)現(xiàn)數(shù)學(xué)上對浮點(diǎn)數(shù)加、減、乘、除、
11、乘方、開方、求模以及進(jìn)制轉(zhuǎn)換的運(yùn)算。利用這個(gè)程序可以方便的進(jìn)行日常性的小規(guī)模運(yùn)算,小巧簡易,是個(gè)實(shí)用的工具。</p><p> 關(guān)鍵詞: 程序設(shè)計(jì),計(jì)算器,C語言,函數(shù),循環(huán)</p><p><b> 1 緒論</b></p><p> 1.1 課程設(shè)計(jì)背景</p><p> 日常生活中我們經(jīng)常會遇到一些小型
12、數(shù)據(jù)計(jì)算的問題,本課程設(shè)計(jì)就是以此為出發(fā)點(diǎn),設(shè)計(jì)了這樣一個(gè)簡單的計(jì)算器,用以實(shí)現(xiàn)基本的數(shù)學(xué)運(yùn)算。在C語言當(dāng)中通過定義模塊函數(shù),并在主函數(shù)中進(jìn)行調(diào)用從而實(shí)現(xiàn)數(shù)據(jù)的運(yùn)算。通過與用戶之間的交互,可以在操作界面上實(shí)現(xiàn)對各種運(yùn)算的選擇和程序的控制。</p><p> 在完成課程設(shè)計(jì)的期間,參閱了相關(guān)的書籍并在網(wǎng)絡(luò)上查找相關(guān)的資料,對實(shí)現(xiàn)這個(gè)設(shè)計(jì)提供了很大的幫助。由于設(shè)計(jì)水平和知識方面的匱乏,本次課程設(shè)計(jì)還存在缺點(diǎn)和不足,
13、希望大家提出寶貴的意見,互相交流以期提高。</p><p><b> 1.2 需求環(huán)境</b></p><p> 本課程設(shè)計(jì)需要的設(shè)備為硬件要求和軟件配置要求具體要求如下:</p><p> ?、儆布螅阂慌_計(jì)算機(jī)。</p><p> ?、谲浖渲茫篧INDOWS系統(tǒng)、c/c++程序設(shè)計(jì)學(xué)習(xí)與實(shí)驗(yàn)軟件</p
14、><p> 1.3 課程設(shè)計(jì)思路</p><p> 做計(jì)算器最主要的就是實(shí)用性,要簡單,便于操作。程序的界面要方便與用戶之間的交互。并以設(shè)計(jì)的要求為基礎(chǔ),進(jìn)行了創(chuàng)新,增加了對進(jìn)制轉(zhuǎn)換運(yùn)算的支持,這就大致的確定了程序的幾個(gè)模塊。然后對每個(gè)模塊進(jìn)行設(shè)計(jì),再整合起來,由此一個(gè)簡潔美觀的計(jì)算器就建立起來了。</p><p><b> 2 課程設(shè)計(jì)概要<
15、/b></p><p> 在設(shè)計(jì)程序的時(shí)候,考慮到計(jì)算器的功能,我按照其功能劃分為幾個(gè)模塊,在程序開始后,可以進(jìn)行選擇,到自己希望進(jìn)行操作的模塊中去。有了具體的模塊之后,在設(shè)計(jì)程序的時(shí)候有更方便了,同時(shí)也有法可依,不會造成混亂。具體分為:加減乘除運(yùn)算、乘方開方運(yùn)算、進(jìn)制轉(zhuǎn)換運(yùn)算、求模運(yùn)算和退出五個(gè)模塊。</p><p> 具體的模塊關(guān)系如表2-1:</p><
16、p> 表2-1 基本模塊表</p><p> 流程圖詳解:首先用戶運(yùn)行程序,進(jìn)入開始菜單,由用戶對所要進(jìn)行的運(yùn)算做出選擇。當(dāng)選擇運(yùn)算方式時(shí),程序?qū)⒄{(diào)用對應(yīng)的運(yùn)算模塊,對用戶輸入的數(shù)據(jù)進(jìn)行處理,并輸出結(jié)果,隨后,當(dāng)用戶確認(rèn)結(jié)果后,程序?qū)⑶迤?,并返回開始菜單,由用戶繼續(xù)進(jìn)行選擇。當(dāng)選擇退出時(shí),程序?qū)⒄{(diào)用退出模塊,顯示“拜拜!謝謝使用哈!”,并退出程序。</p><p> 圖2-1
17、程序流程圖</p><p> 3 程序結(jié)構(gòu)和各模塊分析</p><p><b> 菜單操作模塊</b></p><p> 3.1.1 fun1函數(shù)功能</p><p> 在這個(gè)模塊中,為了方便用戶的使用,我們定義了一個(gè)菜單調(diào)用函數(shù),將整個(gè)菜單盡量做到簡易美觀。程序開始時(shí),由用戶對所要進(jìn)行的運(yùn)算進(jìn)行選擇。<
18、/p><p> 3.1.2 功能實(shí)現(xiàn)代碼</p><p><b> 程序如下:</b></p><p> void fun1() /* 定義菜單調(diào)用函數(shù) */</p><p> printf(" ***********************菜單**********************\n&q
19、uot;);</p><p> printf(" * *\n");</p><p> printf(" * 設(shè)計(jì)人:葛肪瑜 *\n");</p><p> pr
20、intf(" * *\n");</p><p> printf(" *************************************************\n");</p><p> printf(" *
21、 1.加法運(yùn)算 *\n");</p><p> printf(" * 2.減法運(yùn)算 *\n");</p><p> printf(" * 3.乘法運(yùn)算
22、 *\n");</p><p> printf(" * 4.除法運(yùn)算 *\n");</p><p> printf(" * 5.乘方運(yùn)算 *\n");</p><p&g
23、t; printf(" * 6.開平方運(yùn)算 *\n");</p><p> printf(" * 7.轉(zhuǎn)換為2進(jìn)制 *\n");</p><p> printf(" *
24、 8.轉(zhuǎn)換為8進(jìn)制 *\n");</p><p> printf(" * 9.轉(zhuǎn)換為16進(jìn)制 *\n");</p><p> printf(" * 10.求絕對值 *\n&
25、quot;);</p><p> printf(" * 11.退出 *\n");</p><p> printf(" *************************************************\n");</p><p&g
26、t; printf("\n");</p><p> printf(" 輸入你想要進(jìn)行的運(yùn)算(1~11):\n" );</p><p> printf("\n");</p><p><b> } </b></p>&
27、lt;p> 3.2 加減乘除運(yùn)算模塊</p><p> 3.2.1 fun2函數(shù)功能</p><p> 當(dāng)用戶的選擇為1~4時(shí),程序?qū)⒄{(diào)用fun2函數(shù)(加減乘除運(yùn)算模塊),該函數(shù)首先對用戶的選項(xiàng)進(jìn)行匹配,當(dāng)匹配為1時(shí),進(jìn)行加法運(yùn)算;為2時(shí),進(jìn)行減法運(yùn)算;為3時(shí),進(jìn)行乘法運(yùn)算;為4時(shí),進(jìn)行除法運(yùn)算。最后將所得結(jié)果輸出。</p><p> 3.2.2 功能
28、實(shí)現(xiàn)代碼</p><p> 算法:采用swich語句的分支機(jī)構(gòu),對用戶選擇的加減乘除運(yùn)算進(jìn)行匹配,匹配后將進(jìn)行相應(yīng)的運(yùn)算并輸出結(jié)果。</p><p><b> 程序如下:</b></p><p> void fun2(float x,float y,int c) /* 定義加減乘除模塊函數(shù) */</p><p&
29、gt;<b> {float z;</b></p><p><b> switch(c)</b></p><p><b> {</b></p><p> case 1: z=x+y;printf("輸出結(jié)果為: %g+%g=%g\n",x,y,z);break; /* 進(jìn)行
30、加法運(yùn)算 */</p><p> case 2: z=x-y;printf("輸出結(jié)果為: %g-%g=%g\n\n",x,y,z);break; /* 進(jìn)行減法運(yùn)算 */</p><p> case 3: z=x*y;printf("輸出結(jié)果為: %g*%g=%g\n",x,y,z);break; /* 進(jìn)行乘法運(yùn)算 */</p>
31、<p> case 4: if(y==0) printf(" 輸入錯(cuò)誤!"); /* 如果分母為0則輸出“輸入錯(cuò)誤!”*/</p><p> else{z=x/y;printf("輸出結(jié)果為:%g/%g=%g\n",x,y,z);}break; /* 進(jìn)行除法運(yùn)算 */</p><p> default: printf(&q
32、uot; 輸入錯(cuò)誤!");</p><p><b> }</b></p><p><b> }</b></p><p> 3.3 乘方和開方運(yùn)算模塊</p><p> 3.3.1 fun3函數(shù)功能</p><p> 當(dāng)用戶的選擇為5或6時(shí),程序?qū)⒄{(diào)用fun
33、3函數(shù)(乘方和開方運(yùn)算模塊),該函數(shù)首先對用戶的選項(xiàng)進(jìn)行匹配,當(dāng)匹配為5時(shí),進(jìn)行乘方運(yùn)算;為6時(shí),進(jìn)行開方運(yùn)算。最后將所得結(jié)果輸出。</p><p> 3.3.2 功能實(shí)現(xiàn)代碼</p><p> 算法:采用swich語句的分支機(jī)構(gòu),對用戶選擇的乘方開方運(yùn)算進(jìn)行匹配,匹配后將進(jìn)行相應(yīng)的運(yùn)算并輸出結(jié)果。</p><p><b> 程序如下:</b&
34、gt;</p><p> void fun3(float x,int c) /* 定義乘方開方模塊函數(shù) */</p><p><b> {float z;</b></p><p><b> switch(c)</b></p><p><b> {</b><
35、/p><p> case 5: z=x*x;printf("輸出結(jié)果為: %g\n",z);break; /* 進(jìn)行乘方運(yùn)算 */</p><p> case 6: if(x<0) printf(" 輸入錯(cuò)誤!"); /* 如果x小于0則輸出“輸入錯(cuò)誤!”*/</p><p> else{z=sqrt(
36、x);printf("輸出結(jié)果為: %g\n",z);}break; /* 進(jìn)行開方運(yùn)算 */</p><p> default: printf(" 輸入錯(cuò)誤!");</p><p><b> }</b></p><p><b> }</b></p><p&
37、gt; 3.4 進(jìn)制轉(zhuǎn)換運(yùn)算模塊</p><p> 3.4.1 convert函數(shù)功能</p><p> 當(dāng)用戶的選擇為7~9時(shí),程序?qū)⒄{(diào)用convert函數(shù)(進(jìn)制轉(zhuǎn)換運(yùn)算模塊),該函數(shù)首先對用戶的選項(xiàng)進(jìn)行匹配,當(dāng)匹配為7時(shí),將把用戶所輸入的數(shù)據(jù)轉(zhuǎn)換為2進(jìn)制數(shù);為8時(shí),將把用戶所輸入的數(shù)據(jù)轉(zhuǎn)換為8進(jìn)制數(shù);為9時(shí),將把用戶所輸入的數(shù)據(jù)轉(zhuǎn)換為16進(jìn)制數(shù)。最后將所得結(jié)果輸出。</p
38、><p> 3.4.2 功能實(shí)現(xiàn)代碼</p><p> 算法:采用swich語句的分支機(jī)構(gòu),對用戶所要進(jìn)行轉(zhuǎn)換的進(jìn)制進(jìn)行匹配,匹配后將進(jìn)行相應(yīng)的運(yùn)算并輸出結(jié)果。</p><p><b> 程序如下:</b></p><p> void convert(int m,int c) /* 定義進(jìn)制轉(zhuǎn)換模塊函數(shù) */
39、</p><p> {char s[128];</p><p><b> switch(c)</b></p><p> {case 7: itoa(m, s, 2);printf("輸出結(jié)果為: [%s]\n",s);break; /* 轉(zhuǎn)換為二進(jìn)制數(shù) */</p><p> case 8
40、: printf("輸出結(jié)果為:%o\n",m);break; /* 轉(zhuǎn)換為8進(jìn)制數(shù) */</p><p> case 9: printf("輸出結(jié)果為:%x\n",m);break; /* 轉(zhuǎn)換為16進(jìn)制數(shù) */</p><p> default: printf(" 輸入錯(cuò)誤!");</p>&
41、lt;p><b> }</b></p><p><b> }</b></p><p><b> 特殊函數(shù)介紹:</b></p><p> itoa()函數(shù)的頭文件是# include <stdlib.h>,該函數(shù)有3個(gè)參數(shù):第一個(gè)參數(shù)是要轉(zhuǎn)換的數(shù)字,第二個(gè)參數(shù)是要寫入轉(zhuǎn)換結(jié)果
42、的目標(biāo)字符串,第三個(gè)參數(shù)是轉(zhuǎn)移數(shù)字時(shí)所用的基數(shù)。在上例中,轉(zhuǎn)換基數(shù)為2,所以函數(shù)將把數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制數(shù)。 </p><p> 3.5 求模運(yùn)算模塊</p><p> 3.5.1 fun4函數(shù)功能</p><p> 當(dāng)用戶的選擇為10時(shí),程序?qū)⒄{(diào)用fun4函數(shù)(求模運(yùn)算模塊),并將用戶所輸入的數(shù)據(jù)求絕對值并輸出。</p><p> 3
43、.5.2 功能實(shí)現(xiàn)代碼</p><p> 算法:采用fabs()的求絕對值函數(shù),匹配后將數(shù)據(jù)進(jìn)行相應(yīng)的運(yùn)算并輸出結(jié)果。</p><p><b> 程序如下:</b></p><p> void fun4(float x) /* 定義求絕對值模塊函數(shù) */</p><p> {float z=0;</
44、p><p> z=fabs(x); /* 進(jìn)行求模運(yùn)算 */</p><p> printf("輸出結(jié)果為: %f\n",z);</p><p><b> }</b></p><p><b> 3.6 退出模塊</b></p><p><
45、;b> 3.6.1代碼功能</b></p><p> 當(dāng)用戶的選擇為11時(shí),程序?qū)⒄{(diào)用quit函數(shù)(退出模塊),該函數(shù)將終止程序,并退出當(dāng)前界面。</p><p> 3.6.2 功能實(shí)現(xiàn)代碼</p><p><b> 程序如下:</b></p><p> void quit() /*
46、定義退出程序模塊函數(shù) */</p><p> {exit (0);}</p><p><b> 4 程序調(diào)試</b></p><p><b> 4.1 操作界面</b></p><p> 在TC環(huán)境下運(yùn)行程序,進(jìn)入程序主界面。首先是由用戶對所要進(jìn)行的運(yùn)算進(jìn)行選擇。 </p>
47、<p> 圖4-1就顯示出操作的界面。</p><p> 圖4-1 操作界面</p><p> 4.2 加減乘除運(yùn)算</p><p> 運(yùn)行程序,當(dāng)用戶的選擇為1-4時(shí),程序?qū)⒏鶕?jù)用戶所選擇的運(yùn)算方式進(jìn)行加減乘除運(yùn)算。圖4-2~4-5顯示了具體的操作方法及結(jié)果。</p><p> 圖4-2 加法運(yùn)算</p&g
48、t;<p> 圖4-3 減法運(yùn)算</p><p> 圖4-4 乘法運(yùn)算</p><p> 圖4-5 除法運(yùn)算</p><p> 4.3 乘方和開方運(yùn)算</p><p> 開啟程序后,當(dāng)用戶的選擇為5或6時(shí),程序?qū)⒏鶕?jù)用戶所選擇的運(yùn)算方式進(jìn)行乘方和開方運(yùn)算。圖4-6和4-7顯示了具體的操作方法及操作結(jié)果</
49、p><p> 圖4-6 乘方運(yùn)算</p><p> 圖4-7 開方運(yùn)算</p><p> 4.4 進(jìn)制轉(zhuǎn)換運(yùn)算</p><p> 運(yùn)行程序,當(dāng)用戶的選擇為7-9時(shí),程序?qū)⒏鶕?jù)用戶所選擇的運(yùn)算方式把所輸入的數(shù)據(jù)分別轉(zhuǎn)換為2進(jìn)制、8進(jìn)制和16進(jìn)制數(shù)。操作方法及結(jié)果見圖4-8~4-10。</p><p> 圖4-
50、8 轉(zhuǎn)換為二進(jìn)制</p><p> 圖4-9 轉(zhuǎn)換為八進(jìn)制</p><p> 圖4-10 轉(zhuǎn)換為十六進(jìn)制</p><p><b> 4.5 求模運(yùn)算</b></p><p> 開啟程序后,當(dāng)用戶的選擇為10時(shí),程序?qū)⒏鶕?jù)用戶所選擇的運(yùn)算方式進(jìn)行求絕對值的運(yùn)算。圖4-11顯示了具體的操作方法及操作結(jié)果<
51、;/p><p> 圖4-11 求模運(yùn)算</p><p><b> 4.6 退出</b></p><p> 基本操作完成之后,我們可以選擇11退出程序。操作方法及結(jié)果見圖4-12。</p><p><b> 圖4-12 退出</b></p><p><b>
52、 5 課程設(shè)計(jì)總結(jié)</b></p><p> 在這次課程設(shè)計(jì)中,我基本上完成了任務(wù),通過對各模塊函數(shù)的調(diào)用和對無限循環(huán)算法的使用實(shí)現(xiàn)了計(jì)算器的演示過程,基本上達(dá)到了此次課程設(shè)計(jì)的要求。但是這個(gè)程序仍然有不少的問題,例如作為一個(gè)計(jì)算器它的界面還不夠人性化,功能也不夠豐富等,所以整個(gè)程序的功能有待進(jìn)一步完善,讓更多的功能得以實(shí)現(xiàn)。</p><p> 雖然在這次的課程設(shè)計(jì)中有
53、很多的不足,但是我也收獲了很多。由于本身計(jì)算器這個(gè)課題就比較簡單,涉及的知識不是很多,所以我一個(gè)人一組,、通過與同學(xué)們的交流,解決了不少長久以來困擾我的C語言問題,讓我深切體會到了大家共同努力的重要性。在設(shè)計(jì)這個(gè)系統(tǒng)的時(shí)候,我查閱了很多相關(guān)的書籍,并通過網(wǎng)絡(luò)解決了不少問題。通過這次課程式設(shè)計(jì),我對TC的開發(fā)環(huán)境有了更多的認(rèn)識和了解,讓我對C語言的認(rèn)識又加深了一步,不僅使我學(xué)會了如何查閱資料,同時(shí)也讓我發(fā)現(xiàn)了網(wǎng)絡(luò)這個(gè)好老師,總之收獲了很多
54、。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 譚浩強(qiáng).C語言程序設(shè)計(jì)(第三版).清華大學(xué)出版社,2005;260-265,294-308。</p><p> [2] 黃明,梁旭,萬洪莉.《C語言課程設(shè)計(jì)》.電子工業(yè)出版社。</p><p> [2] 譚浩強(qiáng).《C語言程序設(shè)計(jì)習(xí)題解答與上
55、機(jī)指導(dǎo)》.清華大學(xué)出版社。</p><p> [3] 攀枝花學(xué)院本科學(xué)生課程設(shè)計(jì)任務(wù)書。</p><p> [4] 攀枝花學(xué)院本科學(xué)生課程設(shè)計(jì)論文詳細(xì)格式。</p><p> [5] C語言程序設(shè)計(jì)參考實(shí)例。</p><p> [6] C語言名題精選百則技巧篇。</p><p> [7] C語言程序設(shè)計(jì)實(shí)驗(yàn)指
56、導(dǎo) - c語言程序設(shè)計(jì)</p><p> [8] 程序設(shè)計(jì)基礎(chǔ)(C語言版)</p><p><b> 附錄:源代碼</b></p><p> /* Note:Your choice is C IDE */</p><p> #include <stdio.h></p><p>
57、 #include <math.h></p><p> #include<stdlib.h> </p><p> void fun1() </p><p> { printf(" ***********************菜單**********************\n");</p&g
58、t;<p> printf(" * *\n");</p><p> printf(" * 設(shè)計(jì)人:葛肪瑜 *\n");</p><p> printf("
59、* *\n");</p><p> printf(" *************************************************\n");</p><p> printf(" * 1.加法運(yùn)
60、算 *\n");</p><p> printf(" * 2.減法運(yùn)算 *\n");</p><p> printf(" * 3.乘法運(yùn)算 *\n");&
61、lt;/p><p> printf(" * 4.除法運(yùn)算 *\n");</p><p> printf(" * 5.乘方運(yùn)算 *\n");</p><p> printf(&qu
62、ot; * 6.開平方運(yùn)算 *\n");</p><p> printf(" * 7.轉(zhuǎn)換為2進(jìn)制 *\n");</p><p> printf(" * 8.轉(zhuǎn)換為8進(jìn)制
63、 *\n");</p><p> printf(" * 9.轉(zhuǎn)換為16進(jìn)制 *\n");</p><p> printf(" * 10.求絕對值 *\n");</p&
64、gt;<p> printf(" * 11.退出 *\n");</p><p> printf(" *************************************************\n");</p><p> printf(&qu
65、ot;\n");</p><p> printf(" 輸入你想要進(jìn)行的運(yùn)算(1~11):\n" );</p><p> printf("\n");</p><p><b> } </b></p><p> void
66、fun2(float x,float y,int c) /* 定義加減乘除模塊函數(shù) */</p><p> { float z;</p><p><b> switch(c)</b></p><p> {case 1: z=x+y;printf("輸出結(jié)果為: %g+%g=%g\n",x,y,z);break
67、; /* 進(jìn)行加法運(yùn)算 */</p><p> case 2: z=x-y;printf("輸出結(jié)果為: %g-%g=%g\n\n",x,y,z);break; /* 進(jìn)行減法運(yùn)算 */</p><p> case 3: z=x*y;printf("輸出結(jié)果為: %g*%g=%g\n",x,y,z);break; /* 進(jìn)行乘法運(yùn)算 */<
68、/p><p> case 4: if(y==0) printf(" 輸入錯(cuò)誤!"); /* 如果分母為0則輸出“enter error!”*/</p><p> else{z=x/y;printf("輸出結(jié)果為:%g/%g=%g\n",x,y,z);}break; /* 進(jìn)行除法運(yùn)算 */</p><p> defa
69、ult: printf(" 輸入錯(cuò)誤!");</p><p><b> }</b></p><p><b> }</b></p><p> void fun3(float x,int c) /* 定義乘方開方模塊函數(shù) */</p><p><b> {f
70、loat z;</b></p><p><b> switch(c)</b></p><p> {case 5: z=x*x;printf("輸出結(jié)果為: %g\n",z);break; /* 進(jìn)行乘方運(yùn)算 */</p><p> case 6: if(x<0) printf("輸入
71、錯(cuò)誤!"); /* 如果x小于0則輸出“enter error!”*/</p><p> else{z=sqrt(x);printf("輸出結(jié)果為: %g\n",z);}break; /* 進(jìn)行開方運(yùn)算 */ </p><p> default: printf(" 輸入錯(cuò)誤,請重新輸入!");</p><
72、p><b> }</b></p><p><b> }</b></p><p> void fun4(float x) /* 定義求絕對值模塊函數(shù) */</p><p> {float z=0;</p><p> z=fabs(x);</p><p>
73、 printf("輸出結(jié)果為: %f\n",z);</p><p><b> }</b></p><p> void convert(int m,int c) /* 定義進(jìn)制轉(zhuǎn)換模塊函數(shù) */</p><p> {char s[128];</p><p><b> swit
74、ch(c)</b></p><p> {case 7: itoa(m, s, 2);printf("輸出結(jié)果為: [%s]\n",s);break; /* 轉(zhuǎn)換為二進(jìn)制數(shù) */</p><p> case 8: printf("輸出結(jié)果為:%o\n",m);break; /* 轉(zhuǎn)換為8進(jìn)制數(shù) */</p>&
75、lt;p> case 9: printf("輸出結(jié)果為:%x\n",m);break; /* 轉(zhuǎn)換為16進(jìn)制數(shù) */</p><p> default: printf(" 輸入錯(cuò)誤!");</p><p><b> }</b></p><p><b> }</b>
76、;</p><p> void quit() /* 定義退出程序模塊函數(shù) */</p><p> {exit (0);}</p><p> /******主函數(shù)開始*******/</p><p> void main()</p><p> { for(;;) /* 無限循環(huán) */<
77、;/p><p> {float x,y,z;</p><p><b> int c,m;</b></p><p><b> char n;</b></p><p> fun1(); /* 調(diào)用菜單函數(shù) */</p><p> scanf("%d&quo
78、t;,&c);</p><p> if(c==1||c==2||c==3||c==4)</p><p> {printf("請輸入兩個(gè)數(shù):");</p><p> scanf("%f%f",&x,&y);</p><p> fun2(x,y,c); /* 調(diào)用加減
79、乘除函數(shù) */</p><p><b> }</b></p><p> if(c==5||c==6)</p><p> {printf("請輸入一個(gè)數(shù):");</p><p> scanf("%f",&x);</p><p> if(x&l
80、t;0) printf(" 輸入錯(cuò)誤!");</p><p> else fun3(x,c); /* 調(diào)用乘方開方函數(shù) */</p><p><b> }</b></p><p> if(c==7||c==8||c==9)</p><p> { printf("請輸入一個(gè)數(shù):
81、");</p><p> scanf("%d", &m);</p><p> convert(m,c); /* 調(diào)用進(jìn)制轉(zhuǎn)換函數(shù) */</p><p><b> }</b></p><p><b> if(c==10)</b></p>
82、<p> {printf("請輸入一個(gè)數(shù):");</p><p> scanf("%f",&x);</p><p> fun4(x); /* 調(diào)用求絕對值函數(shù) */</p><p><b> }</b></p><p> if(c==11)
83、</p><p> {printf(" <<<<<<<<<<<拜拜!謝謝使用哈!>>>>>>>>>>> \n");</p><p> system("pause");</p><
84、p><b> quit();</b></p><p><b> }</b></p><p><b> getch();</b></p><p><b> }</b></p><p><b> }</b></p&g
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++計(jì)算器課程設(shè)計(jì)--計(jì)算器程序設(shè)計(jì)
- 計(jì)算器課程設(shè)計(jì)---計(jì)算器仿真程序設(shè)計(jì)
- c語言簡單計(jì)算器的編寫課程設(shè)計(jì)
- 《c#計(jì)算器程序設(shè)計(jì)》課程設(shè)計(jì)--計(jì)算器的開發(fā)與應(yīng)用
- 《計(jì)算器程序設(shè)計(jì)》word版
- 大學(xué)計(jì)算機(jī)c語言程序設(shè)計(jì)(程序設(shè)計(jì))
- java程序設(shè)計(jì)計(jì)算器含代碼
- c語言程序設(shè)計(jì)ppt課件_第2章_簡單程序設(shè)計(jì)-
- c++課程設(shè)計(jì)--簡單計(jì)算器
- c++課程設(shè)計(jì)--簡單計(jì)算器
- c語言課程設(shè)計(jì)--計(jì)算器
- c語言課程設(shè)計(jì)--計(jì)算器
- c++簡單計(jì)算器畢業(yè)設(shè)計(jì)
- c++計(jì)算器程序
- mfc_的簡易計(jì)算器程序設(shè)計(jì)
- 一c++語言概述c++簡單程序設(shè)計(jì)
- 設(shè)計(jì)一個(gè)簡單計(jì)算器的c語言課程設(shè)計(jì)報(bào)告
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)——計(jì)算器
- c++簡單計(jì)算器課程設(shè)計(jì)報(bào)告
- 《c語言程序設(shè)計(jì)》
評論
0/150
提交評論