C#課程設(shè)計概述(計算器)_第1頁
C#課程設(shè)計概述(計算器)_第2頁
C#課程設(shè)計概述(計算器)_第3頁
C#課程設(shè)計概述(計算器)_第4頁
C#課程設(shè)計概述(計算器)_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

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

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

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

4、可以提供或處理數(shù)據(jù)、接受用戶輸入、對事件做出響應(yīng)或執(zhí)行連接用戶和應(yīng)用程序的其他功能。窗 體中的控件有很多,工具箱中的 windows窗體里包含了所有的 windows 標(biāo)準(zhǔn)控件。通過在屬性窗口改變控件的屬性可以改變控件的外觀和特性。 本項(xiàng)目需要用到以下空間:(1) 按鈕:31個。其中有10個數(shù)字按鈕;17個運(yùn)算按鈕;一個用于計 算的等號按鈕;2個用于清空的按鈕。(2) 文本框:1個。用于顯示計算結(jié)果。(3) 分組框:1個。用于美化界面。(4) 單選框:7個。用于豐富計算器的功能。屬性。界面設(shè)計完成后,接下來就是為各個控件添加相應(yīng)的事件代碼了3、在c#中,基于windows應(yīng)用程序設(shè)計方法是事件

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

6、button10_Click( object sender, EventArgs e)if (textBox1.Text =0 )textBox1.Text =1 ;elsetextBox1.Text +=1 ;在代碼中,數(shù)字鍵 09只需將上述代碼中的 1 改為相應(yīng)的數(shù)字object sender, EventArgs e)+ btn.Text + ; / 空格用于分隔數(shù)字各運(yùn)算符object sender, EventArgs e)+ btn.Text + ; / 空格用于分隔數(shù)字各運(yùn)算符4、以下是運(yùn)算符按鈕的代碼: 加法 : private void button21_Click(Butt

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

8、符除法:private void button22_Click(objectsender, EventArgs e)textBox1.Text = textBox1.Text + btn.Text + ; / 空格用于分隔數(shù)字各運(yùn)算符Button btn = ( Button )sender;在以上代碼中,對于空格(“)的使用是用于分隔數(shù)字各運(yùn)算符5、接下來是“清空“按鈕添加如下代碼:private void button12_Click( object sender, EventArgs e) if (textBox1.Text.Length = 1)textBox1.Text = text

9、Box1.Text.Substring(0, textBox1.Text.Length - 1);if (textBox1.Text.Length = 0) textBox1.Text = 0 ;6、以下是sin、cos、tan、eA、Ig、n!、1/x按鈕添加的代碼:Sin :private void button1_Click( object sender, EventArgs e)oneNumber = Convert .ToDouble(textBox1.Text);if (mark = false )textBox1.Text =elsetextBox1.Text = Convert

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

11、mber);Tan :private void button6_Click(object sender, EventArgs e)oneNumber =Convert .ToDouble(textBox1.Text);if (mark = false )textBox1.Text =Convert .ToString( Math.Tan(oneNumber);elsetextBox1.Text =Convert .ToString( Math.Atan(oneNumber);eA:private void button5_Click( object sender, EventArgs e)on

12、eNumber = Convert .ToDouble(textBox1.Text); textBox1.Text = Convert .ToString( Math.Exp(oneNumber);lg :private void button4_Click( object 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.Text = Conver

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論