《C++語言程序設(shè)計(jì)》設(shè)計(jì)報(bào)告_第1頁
《C++語言程序設(shè)計(jì)》設(shè)計(jì)報(bào)告_第2頁
《C++語言程序設(shè)計(jì)》設(shè)計(jì)報(bào)告_第3頁
《C++語言程序設(shè)計(jì)》設(shè)計(jì)報(bào)告_第4頁
《C++語言程序設(shè)計(jì)》設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

中南大學(xué)本科生課程設(shè)計(jì)(實(shí)踐)任務(wù)書、設(shè)計(jì)報(bào)告(C++語言程序設(shè)計(jì))題目計(jì)算器的設(shè)計(jì)學(xué)生文滔指導(dǎo)教師雄鷹學(xué)院機(jī)電工程學(xué)院專業(yè)班級(jí)車輛一班學(xué)生學(xué)號(hào)0815150104計(jì)算機(jī)基礎(chǔ)教學(xué)實(shí)驗(yàn)中心2016年6月30日計(jì)算器的設(shè)計(jì)摘要:為提高學(xué)生所學(xué)C++語言程序設(shè)計(jì)基礎(chǔ)綜合運(yùn)用、設(shè)計(jì)、編程及動(dòng)手能力,使學(xué)生能夠在已學(xué)的基礎(chǔ)上自學(xué)地提高擴(kuò)展自我知識(shí)的技能,掌握自我表達(dá)、書寫組織和總結(jié)。特要求用MicrosoftVisualStudio2010完成CLR窗體應(yīng)用程序。自己選擇一個(gè)計(jì)算窗口應(yīng)用程序。完成系統(tǒng)需求分析,即功能和數(shù)據(jù)需求,并進(jìn)行系統(tǒng)設(shè)計(jì)即功能模塊設(shè)計(jì)、界面設(shè)計(jì)以及編程。系統(tǒng)調(diào)試完后編寫設(shè)計(jì)報(bào)告。關(guān)鍵詞:MicrosoftVisualStudio2010CLR窗體應(yīng)用程序計(jì)算窗口1計(jì)算器系統(tǒng)開發(fā)設(shè)計(jì)思想根據(jù)課程設(shè)計(jì)的要求,我們的目的是用MicrosoftVisualStudio2010完成CLR窗體應(yīng)用程序,設(shè)計(jì)出一個(gè)計(jì)算或繪圖類窗口應(yīng)用程序,要求:功能:1)用窗體及控件進(jìn)行數(shù)據(jù)的輸入和輸出2)輸入方便和可靠。3)結(jié)果正確。界面設(shè)計(jì)1)使用方便2)操作簡單3)美觀通過本課程設(shè)計(jì),提高我們所學(xué)C++語言程序設(shè)計(jì)基礎(chǔ)綜合運(yùn)用、設(shè)計(jì)、編程及動(dòng)手能力,能夠在已學(xué)的基礎(chǔ)上自學(xué)地提高擴(kuò)展自我知識(shí)的技能,掌握自我表達(dá)、書寫組織和總結(jié)。初步培養(yǎng)通過面向?qū)ο蟮乃枷虢鉀Q問題的能力,熟悉軟件開發(fā)過程,增強(qiáng)對相關(guān)專業(yè)知識(shí)的感性認(rèn)識(shí),掌握基本軟件開發(fā)技能,提高應(yīng)用所學(xué)知識(shí)在實(shí)踐中發(fā)現(xiàn)問題、分析問題和解決問題的能力。2計(jì)算器系統(tǒng)功能及系統(tǒng)設(shè)計(jì)介紹使用VisualStudio可以制作出很多軟件,今天我使用VisualStudio制止小型計(jì)算器,制作成功后可以把自己制作計(jì)算器放在桌面上供自己使用;更可以根據(jù)自己的需求制作各種各樣的計(jì)算器。我今天制作的是簡單的計(jì)算器,復(fù)雜的可以在簡單的基礎(chǔ)上開發(fā)。我選擇的題目是設(shè)計(jì)一個(gè)科學(xué)計(jì)算器(包括三角函數(shù)、指數(shù)函數(shù)等等基本函數(shù)計(jì)算)的窗體應(yīng)用程序。系統(tǒng)設(shè)計(jì)過程:a)創(chuàng)建項(xiàng)目:在MicrosoftVisualStudio2010C#中,建立一個(gè)新

工程,創(chuàng)建一個(gè)新的對話框。b)計(jì)算機(jī)界面設(shè)計(jì):1.向Forml中添加一個(gè)textbox和21個(gè)button按鈕;2.修改button按鈕的text屬性,如圖所示:c)數(shù)字鍵及小數(shù)點(diǎn)代碼設(shè)計(jì):privatevoidbutton1_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+"1";privatevoidbutton2_Click(objectsender,EventArgse)textBox1.Text=textBox1.Text+"2";privatevoidbutton3_Click(objectsender,EventArgse){textBoxl.Text=textBoxl.Text+"3";}privatevoidbutton4_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+"4";}privatevoidbutton5_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+"5";}privatevoidbutton6_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+"6";}privatevoidbutton7_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+"7";}privatevoidbutton8_Click(objectsender,EventArgse)textBoxl.TexttextBoxl.Text=textBoxl.Text+"8";}privatevoidbutton9_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+"9";}privatevoidbutton10_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+"0";}privatevoidbutton11_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+".";}d)加減乘除算法的實(shí)現(xiàn):+”將控件名為button12更名為+”,并輸入以下程序:privatevoidbutton12_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text;}-“”將控件名為button13更名為-",并輸入以下程序:privatevoidbutton13_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBoxl.Text=textBox1.Text+btn.Text;}*0,將控件名為button14更名為X”,并輸入以下程序:privatevoidbutton14_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text;}/0,將控件名為button15更名為/”,并輸入以下程序:privatevoidbutton15_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text;}e)三角函數(shù)等基本初等函數(shù)算法的實(shí)現(xiàn):sinx”將控件名為button16更名為sin”,并輸入以下程序:privatevoidbutton16_Click(objectsender,EventArgse)Buttonbtn=(Button)sender;textBoxl.Text=textBoxl.Text+btn.Text;}Cosx”將控件名為button17更名為Cos”,并輸入以下程序privatevoidbutton17_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBoxl.Text=textBox1.Text+btn.Text;}t,anx”將控件名為button18更名為tan”,并輸入以下程序:privatevoidbutton18_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text;}lgx”將控件名為button19更名為lg”,并輸入以下程序:privatevoidbutton19_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text;}f)顯示結(jié)果的算法實(shí)現(xiàn)將控件名為button20更名為=",并輸入以下程序:privatevoidbutton20_Click(objectsender,EventArgse){try{doubled_result;strings_txt=textBox1.Text;intspace=s_txt.IndexOf('');strings1=s_txt.Substring(0,space);charoperation=Convert.ToChar(s_txt.Substring((space+1),1));strings2=s_txt.Substring(space+3);doublearg1=Convert.ToDouble(s1);doublearg2=Convert.ToDouble(s2);switch(operation){case'+':d_result=arg1+arg2;break;case'-':d_result=arg1-arg2;break;case'x':d_result=argl*arg2;break;case'/':if(arg2==0){〃MessageBox.Show("錯(cuò)誤)thrownewApplicationException();}else{d_result=arg1/arg2;}break;default:thrownewApplicationException();}textBox1.Text=d_result.ToString();}catch{doubled;doublepi=Math.PI;strings_txt=textBoxl.Text;strings_txt=textBoxl.Text;intspace=s_txt.IndexOf('',1);charoperation=Convert.ToChar(s_txt.Substring((0),1));strings2=s_txt.Substring(space+1);doublearg2=Convert.ToDouble(s2);doublea=arg2*pi/180;switch(operation){case's':d=System.Math.Sin(a);textBoxl.Text=d.ToString();break;case'c':d=System.Math.Cos(a);textBoxl.Text=d.ToString();break;case't':d=System.Math.Tan(a);textBoxl.Text=d.ToString();break;case'l':d=System.Math.Log10(arg2);;textBoxl.Text=d.ToString();break;}}g)清除的算法實(shí)現(xiàn)將控件名為button21更名為del”,并輸入以下程序:privatevoidbutton21_Click(objectsender,EventArgse){textBox1.Text="";}h)調(diào)試與運(yùn)行:3.計(jì)算器系統(tǒng)開發(fā)的體會(huì)我是一個(gè)平時(shí)不怎么玩電腦的人,對編程一竅不知,在剛開始做的時(shí)候,對于窗體應(yīng)用程序這方面的操作是絲毫不懂,后來聽老師講課,以及自己在實(shí)踐書上找到相關(guān)的知識(shí),才漸漸的知道做簡易計(jì)算器的大概步驟,首先打開MicrosoftVisualStudio2010,把語言配置成C#.net。創(chuàng)建出一個(gè)Windows窗體應(yīng)用程序。然后再自動(dòng)生成的Form1面板上面拖拽出一個(gè)textbox空間,接著拖拽出相應(yīng)的按鈕控件。每一個(gè)控件都要添加事件。textbox控件的單擊事件可以設(shè)置為textBox1.Text="";即一旦點(diǎn)擊輸入框,輸入框的文本就自動(dòng)置為(沒有任何容),其中textbox1是textbox控件的名字,可以在屬性框里面設(shè)定。接下來對按鈕1,2,3,4,5,6,7,8,9,0,.,*,+,-,/,等符號(hào)添加事件。每個(gè)按鈕都要添加事件,但是可以是同一個(gè)事件。比如為button1添加privatevoidbutton1_Click(objectsender,EventArgse)事件后,接著對其余的控件添加事件,點(diǎn)開事件的下拉框,選擇button1_Click事件,由于好多按鈕的單擊事件都相似,所以只在一個(gè)事件函數(shù)里面處理即可。雖然百度來的資料看似簡單,但當(dāng)時(shí)比較急于求成,所以一連做了兩個(gè)工程文件都失敗了,后來才漸漸放下浮躁的心,去查資料,問老師,咨詢朋友,找代碼,創(chuàng)新思路。所以,在經(jīng)歷幾次失敗后,在朋友的提醒下,漸漸地,我知道了用C#編寫科學(xué)計(jì)算器的程序更加簡單明白,然后我開始尋找C#的代碼,研究各個(gè)代碼的含義,try…catch、indexof、substring等的用法,基本初等函數(shù)的用法(d=Math.Cos⑴),編寫自己的計(jì)算器程序代碼。我的計(jì)算器并沒有什么特別的特點(diǎn),但是在基礎(chǔ)功能實(shí)現(xiàn)了的情況下,我盡可能的實(shí)現(xiàn)一些我會(huì)做的科學(xué)運(yùn)算,來提高這個(gè)計(jì)算器的價(jià)值。在初期的時(shí)候,會(huì)因?yàn)榘粹o問題而出現(xiàn)無法寫入的錯(cuò)誤,因?yàn)閿?shù)字類型不統(tǒng)一而無法實(shí)現(xiàn)計(jì)算功能,但是根據(jù)所給的錯(cuò)誤一個(gè)一個(gè)的查找,并刪除多余的按鈕,強(qiáng)制轉(zhuǎn)換數(shù)字類型,才得到了解決,在這個(gè)過程中我也明白了程序設(shè)計(jì)的嚴(yán)謹(jǐn)性。在整個(gè)計(jì)算器程序設(shè)計(jì)中,我掌握了MicrosoftVisualStudio2010的用法,學(xué)會(huì)了CLR窗體應(yīng)用程序代碼及窗體的設(shè)計(jì),對于之前學(xué)習(xí)的C++程序設(shè)計(jì)理解更加深入,再加上搜索,我得到了很多的關(guān)于C#的用法,深入學(xué)習(xí)了C#的字符串、數(shù)組的使用,總之的確是獲益匪淺。雖然我設(shè)計(jì)的計(jì)算器功能上并不全,還存在著一些問題,但是在這個(gè)實(shí)踐過程中,我的思考,動(dòng)手能力得到了充分的利用,更加明白了要?jiǎng)?chuàng)新思路,這也是實(shí)踐的目的。通過實(shí)踐加強(qiáng)對程序設(shè)計(jì)語言課程知識(shí)點(diǎn)的理解和掌握,培養(yǎng)對課程知識(shí)綜合運(yùn)用能力、實(shí)際分析問題能力及編程能力,養(yǎng)成良好的習(xí)慣。通過實(shí)踐能進(jìn)一步領(lǐng)會(huì)程序設(shè)計(jì)的特點(diǎn)和應(yīng)用,提高運(yùn)用C++語言以及面向?qū)ο笾R(shí)解決實(shí)際問

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論