




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上X X大學本科生課程設計(實踐)任務書、設計報告(C+語言程序設計)題 目計算器的設計 學生姓名指導教師學 院專業班級學生學號計算機基礎教學實驗中心2015年 7 月 日計算器的設計1、 計算器系統開發設計思想根據課程設計的要求,我們的目的是用Microsoft Visual Studio 2010完成CLR窗體應用程序,設計出一個計算或繪圖類窗口應用程序,要求:功能:1)用窗體及控件進行數據的輸入和輸出2)輸入方便和可靠。3)結果正確。界面設計1)使用方便2)操作簡單3)美觀通過本課程設計,提高我們所學C+語言程序設計基礎綜合運用、設計、編程及動手能力,能夠在已學的
2、基礎上自學地提高擴展自我知識的技能,掌握自我表達、書寫組織和總結。初步培養通過面向對象的思想解決問題的能力,熟悉軟件開發過程,增強對相關專業知識的感性認識,掌握基本軟件開發技能,提高應用所學知識在實踐中發現問題、分析問題和解決問題的能力。2、 計算器系統功能及系統設計介紹我選擇的題目是設計一個科學計算器(包括三角函數、指數函數等等基本函數計算)的窗體應用程序。計算器的基本功能l 系統功能模塊:科學計算器三角函數等基本初等函數l 系統設計過程:a) 創建項目:在Microsoft Visual Studio 2010 C#中,建立一個新工程,創建一個新的對話框。b) 計算機界面設計:1. 向Fo
3、rm1中添加一個textbox和21個button按鈕;2. 修改button按鈕的text屬性,如圖所示:c)數字鍵及小數點代碼設計:private void button1_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + "1"private void button2_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + "2"private void button3_Click(object
4、sender, EventArgs e)textBox1.Text = textBox1.Text + "3"private void button4_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + "4"private void button5_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + "5"private void button6_Click(object sen
5、der, EventArgs e)textBox1.Text = textBox1.Text + "6"private void button7_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + "7"private void button8_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + "8"private void button9_Click(object sender
6、, EventArgs e)textBox1.Text = textBox1.Text + "9"private void button10_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + "0"private void button11_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + "."d)加減乘除算法的實現:“+” 將控件名為button12更名為“+”,并輸入以下
7、程序:private void button12_Click(object sender, EventArgs e)Button btn = (Button)sender; textBox1.Text = textBox1.Text + btn.Text ; “-” 將控件名為button13更名為“-”,并輸入以下程序:private void button13_Click(object sender, EventArgs e)Button btn = (Button)sender; textBox1.Text = textBox1.Text + btn.Text ; “*” 將控件名為bu
8、tton14更名為“x”,并輸入以下程序:private void button14_Click(object sender, EventArgs e)Button btn = (Button)sender;textBox1.Text = textBox1.Text + btn.Text ; “/” 將控件名為button15更名為“/”,并輸入以下程序:private void button15_Click(object sender, EventArgs e)Button btn = (Button)sender;textBox1.Text = textBox1.Text + btn.Te
9、xt ; e)三角函數等基本初等函數算法的實現:“sinx” 將控件名為button16更名為“sin”,并輸入以下程序:private void button16_Click(object sender, EventArgs e)Button btn = (Button)sender; textBox1.Text = textBox1.Text + btn.Text ; “cosx” 將控件名為button17更名為“cos”,并輸入以下程序:private void button17_Click(object sender, EventArgs e)Button btn = (Button
10、)sender; textBox1.Text = textBox1.Text + btn.Text ; “tanx” 將控件名為button18更名為“tan”,并輸入以下程序:private void button18_Click(object sender, EventArgs e)Button btn = (Button)sender;textBox1.Text = textBox1.Text + btn.Text ; “lgx” 將控件名為button19更名為“lg”,并輸入以下程序:private void button19_Click(object sender, EventAr
11、gs e)Button btn = (Button)sender;textBox1.Text = textBox1.Text + btn.Text ; f)顯示結果的算法實現 將控件名為button20更名為“=”,并輸入以下程序:private void button20_Click(object sender, EventArgs e)trydouble d_result;string s_txt = textBox1.Text;int space= s_txt.IndexOf(' ');string s1 = s_txt.Substring(0, space);
12、char operation = Convert.ToChar(s_txt.Substring(space + 1), 1);string s2 = s_txt.Substring(space + 3);double arg1 = Convert.ToDouble(s1);double arg2 = Convert.ToDouble(s2);switch (operation)case '+':d_result = arg1 + arg2;break;case '-':d_result = arg1 - arg2;break;case 'x':d
13、_result = arg1 * arg2;break;case '/':if (arg2 = 0)/MessageBox.Show("錯誤"); throw new ApplicationException();elsed_result = arg1 / arg2;break;default:throw new ApplicationException();textBox1.Text = d_result.ToString();catchdouble d;double pi =Math .PI;string s_txt = textBox1.Text;in
14、t space = s_txt.IndexOf(' ',1);char operation = Convert.ToChar(s_txt.Substring(0), 1);string s2 = s_txt.Substring(space+1);double arg2 = Convert.ToDouble(s2);double a = arg2 * pi / 180;switch (operation) case 's':d = System.Math.Sin(a); textBox1.Text = d.ToString();break;case 'c&
15、#39;:d = System.Math.Cos(a);textBox1.Text = d.ToString();break;case 't':d = System.Math.Tan(a); textBox1.Text = d.ToString();break;case 'l':d = System.Math.Log10(arg2); ;textBox1.Text = d.ToString();break;g)清除的算法實現 將控件名為button21更名為“del”,并輸入以下程序:private void button21_Click(object
16、 sender, EventArgs e)textBox1.Text = ""h)調試與運行: 3、 計算器系統開發的體會在剛開始做的時候,對于窗體應用程序這方面的操作是絲毫不懂,后來聽老師講課,以及自己在實踐書上找到相關的知識,才漸漸的知道做簡易計算器的大概步驟,當時比較急于求成,所以一連做了兩個工程文件都失敗了,后來才漸漸放下浮躁的心,去查資料,問老師,咨詢朋友,找代碼,創新思路。所以,在經歷幾次失敗后,在朋友的提醒下,漸漸地,我知道了用C#編寫科學計算器的程序更加簡單明白,然后我開始尋找C#的代碼,研究各個代碼的含義,trycatch、indexof、substrin
17、g等的用法,基本初等函數的用法(d=Math.Cos(f)),編寫自己的計算器程序代碼。我的計算器并沒有什么特別的特點,但是在基礎功能實現了的情況下,我盡可能的實現一些我會做的科學運算,來提高這個計算器的價值。在初期的時候,會因為按鈕問題而出現無法寫入的錯誤,因為數字類型不統一而無法實現計算功能,但是根據所給的錯誤一個一個的查找,并刪除多余的按鈕,強制轉換數字類型,才得到了解決,在這個過程中我也明白了程序設計的嚴謹性。在整個計算器程序設計中,我掌握了Microsoft Visual Studio 2010的用法,學會了CLR窗體應用程序代碼及窗體的設計,對于之前學習的C+程序設計理解更加深入,
18、再加上搜索,我得到了很多的關于C#的用法,深入學習了C#的字符串、數組的使用,總之的確是獲益匪淺。雖然我設計的計算器功能上并不全,還存在著一些問題,但是在這個實踐過程中,我的思考,動手能力得到了充分的利用,更加明白了要創新思路,這也是實踐的目的。通過實踐加強對程序設計語言課程知識點的理解和掌握,培養對課程知識綜合運用能力、實際分析問題能力及編程能力,養成良好的習慣。通過實踐能進一步領會程序設計的特點和應用,提高運用C+ 語言以及面向對象知識解決實際問題的能力。通過實踐掌握用C+ 語言編寫面向對象的實用程序的設計方法,對面向對象方法和思想增加感性的認識;學會利用C+程序設計語言編寫出一些簡單的Windows實用程序,切實提高面向對象的程序設計能力;通過實踐學習了一些簡單C#語言,為后續的相關課程的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論