版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、成都理工大學(xué)工程技術(shù)學(xué)院C#程序設(shè)計(jì)項(xiàng)目教程 實(shí)驗(yàn)指導(dǎo)與課程設(shè)計(jì)組長(zhǎng): 吳 建 組員: 李 俊 馮 宇 張 漢 川 馮 英 豪 課程設(shè)計(jì)概述C#編寫簡(jiǎn)易計(jì)算器【課程設(shè)計(jì)的目的】 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的windows計(jì)算器,能實(shí)現(xiàn)基本的四則運(yùn)算和基本的對(duì)數(shù)計(jì)算等等,通過對(duì)該項(xiàng)目的設(shè)計(jì),進(jìn)一步了解和熟悉windows應(yīng)用程序的一般開發(fā)設(shè)計(jì)過程。【項(xiàng)目及其內(nèi)容】1. 項(xiàng)目Windows計(jì)算器2. 項(xiàng)目?jī)?nèi)容 作為一個(gè)windows應(yīng)用程序,首要目標(biāo)是搞清楚windows應(yīng)用程序的結(jié)構(gòu)和來龍去脈。通過C#設(shè)計(jì)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)算器,要求能夠?qū)崿F(xiàn)基本的加、減、乘、除等功能,并以這個(gè)計(jì)算器為例,了解和掌握window
2、s應(yīng)用程序的一般開發(fā)過程?!驹O(shè)計(jì)要求】 添加計(jì)算器窗體,建立windows應(yīng)用程序的框架;添加計(jì)算器控件,設(shè)置其屬性;為控件添加事件處理程序和實(shí)現(xiàn)功能,最后測(cè)試運(yùn)行。創(chuàng)建主體框架:建立程序的主要界面后,系統(tǒng)自動(dòng)生成界面的主要窗口生成代碼。對(duì)于每個(gè)按鈕的的代碼段中,分別添加事件觸發(fā)的處理代碼??丶extBox1,顯示輸入的信息和顯示處理后的結(jié)果。數(shù)字1-9的按鍵的事件處理都是在textBox1中分別添加相對(duì)應(yīng)的數(shù)字字符,每按一次就在字符后面繼續(xù)加入數(shù)字的字符,把數(shù)字當(dāng)成是字符串處理。對(duì)于加減乘除四則運(yùn)算按鍵,事件觸發(fā)后的處理是判斷是否numa與numb都有值,沒有的話就先賦值,不做運(yùn)算,直到n
3、uma與numb都有值才進(jìn)行運(yùn)算。程序0-9這十個(gè)數(shù)字按鈕直接用托管實(shí)現(xiàn),所有執(zhí)行代碼置于數(shù)字鍵1的onclick事件中,其他按鈕用托管實(shí)現(xiàn)。加減乘除四個(gè)按鈕實(shí)現(xiàn)比較復(fù)雜的判斷與運(yùn)算。運(yùn)算是都是調(diào)用相同的計(jì)算類Computer進(jìn)行計(jì)算的。小數(shù)點(diǎn)和正負(fù)號(hào)按鈕的實(shí)現(xiàn),主要是用字符檢索與字符插入刪除操作,判斷字符串中是否已經(jīng)存在此字符。存在小數(shù)點(diǎn)的話就不再增加小數(shù)點(diǎn),存在負(fù)號(hào)就把負(fù)號(hào)去掉。【設(shè)計(jì)過程】1、 windows窗體時(shí)windows應(yīng)用程序的框架。建立windows應(yīng)用程序的第一步就是建立這個(gè)框架。2、 控件表示用戶和程序之間的圖形化連接??丶梢蕴峁┗蛱幚頂?shù)據(jù)、接受用戶輸入、對(duì)事件做出響應(yīng)
4、或執(zhí)行連接用戶和應(yīng)用程序的其他功能。窗體中的控件有很多,工具箱中的windows窗體里包含了所有的windows標(biāo)準(zhǔn)控件。通過在屬性窗口改變控件的屬性可以改變控件的外觀和特性。本項(xiàng)目需要用到以下空間: (1) 按鈕:31個(gè)。其中有10個(gè)數(shù)字按鈕;17個(gè)運(yùn)算按鈕;一個(gè)用于計(jì)算的等號(hào)按鈕;2個(gè)用于清空的按鈕。(2) 文本框:1個(gè)。用于顯示計(jì)算結(jié)果。(3) 分組框:1個(gè)。用于美化界面。(4) 單選框:7個(gè)。用于豐富計(jì)算器的功能。 如圖所示: 分別將按鈕、文本框、分組框、單選框拖拽的窗體中,并設(shè)計(jì)好它們的屬性。界面設(shè)計(jì)完成后,接下來就是為各個(gè)控件添加相應(yīng)的事件代碼了。3、 在c#中,基于windows
5、應(yīng)用程序設(shè)計(jì)方法是事件驅(qū)動(dòng)的。事件驅(qū)動(dòng)不是由程序的順序來控制,而是由事件的發(fā)生來控制的。事件驅(qū)動(dòng)程序設(shè)計(jì)是圍繞消息的產(chǎn)生與處理而展開的,消息就是關(guān)于發(fā)生的事件的信息。Windows程序員的工作就是對(duì)所開發(fā)的應(yīng)用程序所要發(fā)出或者接收的消息進(jìn)行排序和管理。在窗體設(shè)計(jì)器中看到的是窗體及其中的控件,而要為控件添加事件處理程序就必須先切換到代碼編輯器狀態(tài)。下面分析計(jì)算器中各個(gè)控件到底應(yīng)該添加什么樣的代碼。對(duì)于計(jì)算器來說,當(dāng)單擊某個(gè)數(shù)字鍵后,結(jié)果顯示區(qū)內(nèi)應(yīng)顯示該鍵上的數(shù)字。因此,可以雙擊按鈕1,切換到代碼編輯器,此時(shí)光標(biāo)就會(huì)停留在該按鈕所對(duì)應(yīng)的代碼處,輸入下列代碼: private void button
6、10_Click(object sender, EventArgs e) if (textBox1.Text = "0") textBox1.Text = "1" else textBox1.Text += "1" 注意: 在代碼中,數(shù)字鍵09只需將上述代碼中的1改為相應(yīng)的數(shù)字。4、 以下是運(yùn)算符按鈕的代碼: 加法: private void button21_Click(object sender, EventArgs e) Button btn = (Button)sender; textBox1.Text = textBox1.
7、Text + " " + btn.Text + " "/空格用于分隔數(shù)字各運(yùn)算符 減法: private void button26_Click(object sender, EventArgs e) Button btn = (Button)sender; textBox1.Text = textBox1.Text + " " + btn.Text + " "/空格用于分隔數(shù)字各運(yùn)算符 乘法: private void button25_Click(object sender, EventArgs e) Butt
8、on btn = (Button)sender; textBox1.Text = textBox1.Text + " " + btn.Text + " "/空格用于分隔數(shù)字各運(yùn)算符 除法: private void button22_Click(object sender, EventArgs e) Button btn = (Button)sender; textBox1.Text = textBox1.Text + " " + btn.Text + " "/空格用于分隔數(shù)字各運(yùn)算符 注意:在以上代碼中,對(duì)于空格
9、(“)的使用是用于分隔數(shù)字各運(yùn)算符。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. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 咖啡吧臺(tái)衛(wèi)生管理制度
- 景區(qū)內(nèi)商鋪衛(wèi)生規(guī)章制度
- 家具廠場(chǎng)地衛(wèi)生制度
- 精釀酒吧衛(wèi)生管理制度
- 寵物店衛(wèi)生打掃制度
- 食品藥品衛(wèi)生管理制度
- 美容化妝衛(wèi)生管理制度
- 村級(jí)衛(wèi)生環(huán)境管理制度
- 基層衛(wèi)生院安全制度流程
- 婦幼衛(wèi)生年報(bào)信息制度
- 電梯安全使用登記與定期檢驗(yàn)管理制度
- 廣告?zhèn)髅巾?xiàng)目投標(biāo)文件范本
- 光伏發(fā)電安裝質(zhì)量驗(yàn)收評(píng)定表
- 房屋過戶給子女的協(xié)議書的范文
- 超聲振動(dòng)珩磨裝置的總體設(shè)計(jì)
- 明細(xì)賬(三欄式、多欄式)電子表格
- 醫(yī)保違規(guī)行為分類培訓(xùn)課件
- 醫(yī)療器械法規(guī)對(duì)互聯(lián)網(wǎng)銷售的限制
- 三亞市海棠灣椰子洲島土地價(jià)格咨詢報(bào)告樣本及三洲工程造價(jià)咨詢有限公司管理制度
- TOC供應(yīng)鏈物流管理精益化培訓(xùn)教材PPT課件講義
- 高中心理健康教育-給自己點(diǎn)個(gè)贊教學(xué)課件設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論