課程設計概述計算器_第1頁
課程設計概述計算器_第2頁
課程設計概述計算器_第3頁
課程設計概述計算器_第4頁
課程設計概述計算器_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、成都理工大學工程技術學院C#程序設計項目教程 實驗指導與課程設計組長: 吳 建 組員: 李 俊 馮 宇 張 漢 川 馮 英 豪 課程設計概述C#編寫簡易計算器【課程設計的目的】 實現(xiàn)一個簡單的windows計算器,能實現(xiàn)基本的四則運算和基本的對數(shù)計算等等,通過對該項目的設計,進一步了解和熟悉windows應用程序的一般開發(fā)設計過程?!卷椖考捌鋬?nèi)容】1. 項目Windows計算器2. 項目內(nèi)容 作為一個windows應用程序,首要目標是搞清楚windows應用程序的結構和來龍去脈。通過C#設計實現(xiàn)一個簡單的計算器,要求能夠實現(xiàn)基本的加、減、乘、除等功能,并以這個計算器為例,了解和掌握window

2、s應用程序的一般開發(fā)過程?!驹O計要求】 添加計算器窗體,建立windows應用程序的框架;添加計算器控件,設置其屬性;為控件添加事件處理程序和實現(xiàn)功能,最后測試運行。創(chuàng)建主體框架:建立程序的主要界面后,系統(tǒng)自動生成界面的主要窗口生成代碼。對于每個按鈕的的代碼段中,分別添加事件觸發(fā)的處理代碼??丶extBox1,顯示輸入的信息和顯示處理后的結果。數(shù)字1-9的按鍵的事件處理都是在textBox1中分別添加相對應的數(shù)字字符,每按一次就在字符后面繼續(xù)加入數(shù)字的字符,把數(shù)字當成是字符串處理。對于加減乘除四則運算按鍵,事件觸發(fā)后的處理是判斷是否numa與numb都有值,沒有的話就先賦值,不做運算,直到n

3、uma與numb都有值才進行運算。程序0-9這十個數(shù)字按鈕直接用托管實現(xiàn),所有執(zhí)行代碼置于數(shù)字鍵1的onclick事件中,其他按鈕用托管實現(xiàn)。加減乘除四個按鈕實現(xiàn)比較復雜的判斷與運算。運算是都是調用相同的計算類Computer進行計算的。小數(shù)點和正負號按鈕的實現(xiàn),主要是用字符檢索與字符插入刪除操作,判斷字符串中是否已經(jīng)存在此字符。存在小數(shù)點的話就不再增加小數(shù)點,存在負號就把負號去掉?!驹O計過程】1、 windows窗體時windows應用程序的框架。建立windows應用程序的第一步就是建立這個框架。2、 控件表示用戶和程序之間的圖形化連接??丶梢蕴峁┗蛱幚頂?shù)據(jù)、接受用戶輸入、對事件做出響應

4、或執(zhí)行連接用戶和應用程序的其他功能。窗體中的控件有很多,工具箱中的windows窗體里包含了所有的windows標準控件。通過在屬性窗口改變控件的屬性可以改變控件的外觀和特性。本項目需要用到以下空間: (1) 按鈕:31個。其中有10個數(shù)字按鈕;17個運算按鈕;一個用于計算的等號按鈕;2個用于清空的按鈕。(2) 文本框:1個。用于顯示計算結果。(3) 分組框:1個。用于美化界面。(4) 單選框:7個。用于豐富計算器的功能。 如圖所示: 分別將按鈕、文本框、分組框、單選框拖拽的窗體中,并設計好它們的屬性。界面設計完成后,接下來就是為各個控件添加相應的事件代碼了。3、 在c#中,基于windows

5、應用程序設計方法是事件驅動的。事件驅動不是由程序的順序來控制,而是由事件的發(fā)生來控制的。事件驅動程序設計是圍繞消息的產(chǎn)生與處理而展開的,消息就是關于發(fā)生的事件的信息。Windows程序員的工作就是對所開發(fā)的應用程序所要發(fā)出或者接收的消息進行排序和管理。在窗體設計器中看到的是窗體及其中的控件,而要為控件添加事件處理程序就必須先切換到代碼編輯器狀態(tài)。下面分析計算器中各個控件到底應該添加什么樣的代碼。對于計算器來說,當單擊某個數(shù)字鍵后,結果顯示區(qū)內(nèi)應顯示該鍵上的數(shù)字。因此,可以雙擊按鈕1,切換到代碼編輯器,此時光標就會停留在該按鈕所對應的代碼處,輸入下列代碼: private void button

6、10_Click(object sender, EventArgs e) if (textBox1.Text = "0") textBox1.Text = "1" else textBox1.Text += "1" 注意: 在代碼中,數(shù)字鍵09只需將上述代碼中的1改為相應的數(shù)字。4、 以下是運算符按鈕的代碼: 加法: private void button21_Click(object sender, EventArgs e) Button btn = (Button)sender; textBox1.Text = textBox1.

7、Text + " " + btn.Text + " "/空格用于分隔數(shù)字各運算符 減法: private void button26_Click(object sender, EventArgs e) Button btn = (Button)sender; textBox1.Text = textBox1.Text + " " + btn.Text + " "/空格用于分隔數(shù)字各運算符 乘法: private void button25_Click(object sender, EventArgs e) Butt

8、on btn = (Button)sender; textBox1.Text = textBox1.Text + " " + btn.Text + " "/空格用于分隔數(shù)字各運算符 除法: private void button22_Click(object sender, EventArgs e) Button btn = (Button)sender; textBox1.Text = textBox1.Text + " " + btn.Text + " "/空格用于分隔數(shù)字各運算符 注意:在以上代碼中,對于空格

9、(“)的使用是用于分隔數(shù)字各運算符。5、 接下來是“清空“按鈕添加如下代碼: private void button12_Click(object sender, EventArgs e) if (textBox1.Text.Length >= 1) textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1); if (textBox1.Text.Length = 0) textBox1.Text = "0" 6、 以下是sin、cos、tan、e、lg、n!、1/x按鈕添加的代碼:Sin:

10、 private void button1_Click(object sender, EventArgs e) oneNumber = Convert.ToDouble(textBox1.Text); if (mark = false) textBox1.Text = Convert.ToString(Math.Sin(oneNumber); else textBox1.Text = Convert.ToString(Math.Asin(oneNumber); Cos: private void button7_Click(object sender, EventArgs e) oneNumb

11、er = Convert.ToDouble(textBox1.Text); if (mark = false) textBox1.Text = Convert.ToString(Math.Cos(oneNumber); else textBox1.Text = Convert.ToString(Math.Acos(oneNumber); Tan: private void button6_Click(object sender, EventArgs e) oneNumber = Convert.ToDouble(textBox1.Text); if (mark = false) textBox

12、1.Text = Convert.ToString(Math.Tan(oneNumber); else textBox1.Text = Convert.ToString(Math.Atan(oneNumber); e: private void button5_Click(object sender, EventArgs e) oneNumber = Convert.ToDouble(textBox1.Text); textBox1.Text = Convert.ToString(Math.Exp(oneNumber); lg:private void button4_Click(object

13、 sender, EventArgs e) oneNumber = Convert.ToDouble(textBox1.Text); textBox1.Text = Convert.ToString(Math.Log10(oneNumber); n!: private void button11_Click(object sender, EventArgs e) uint n_Number = Convert.ToUInt32(textBox1.Text); int number1 = n_Text(n_Number); textBox1.Text = Convert.ToString(number1); 1/x:private void button3_Click(object sender, EventArgs e) twoNumber = Convert.ToDouble(textBox1.Text); if (mark = false) textBox1.

溫馨提示

  • 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

提交評論