六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

C++“窗口”程序設計啟蒙(案例詳細說明)

[摘要]C++“窗口”程序設計啟蒙(實例詳解)C++“窗口”程序設計啟蒙(實例詳解)想要繼續深入?可以借些書自學了。有了課堂中...

C++“窗口”程序設計啟蒙(實例詳解)

C++“窗口”程序設計啟蒙(實例詳解)想要繼續深入?可以借些書自學了。有了課堂中程序設計技術的支撐,不需要什么其他基礎,只要能改變學習觀念,你可以先行一步,體會更多的樂趣。在大學里,圍繞課堂,展開自學,其力無窮。

實際上,隨著對程序設計技術的深入學習,尤其是學習了面向對象程序設計技術之后,我們的眼光將放在理解和運用MFC去開發系統。將來,這些由系統自動生成的程序你可以自己手工編寫出來。C++是講究效率的,手工編寫而非由IDE自動生成,是C++程序員的追求。專業和非專業的區別就在這里。

用求解一元二次方程作為實例,展示窗口式程序的開發過程,獲得初步體驗。寫作目的包括:(1)讓學生通過模仿,開發出類似風格的窗口程序;(2)以此為起點,課外通過案例教程等參考資料,學習開發更多的功能實用的程序;(3)體會到程序設計能力的核心并不在界面,從而能潛心提高程序設計的基本功和認真學習計算機科學的基礎理論。本文以C++菜菜鳥(只需要學習了C++數據類型和控制結構即可)為目標讀者。


 

  在程序設計學習過程中,尤其對于計算機相關專業的學生,總是從語言、程序結構、算法等學起,然后再結合工程實際,逐漸涉及窗口、界面的設計。不少同學失去耐心,甚至非常傷心:“為什么要讓我們面對黑洞洞的DOS窗口。

  如果從表面上,制作一個窗口程序并非難事。于是有了本文,目的就在于讓零基礎的童鞋們體驗一次,過把癮,然后能將主要精力投入到程序設計課中去,認認真真地打好編程序的基本功。大學學習有很強的階段性,這個階段可以不將設計窗口程序作為目標。

  可能將來你會從事并不強調效率的一些應用開發,但精湛的程序設計技術、扎實的算法功底、良好的編程風格,是基本功,是看家本領。

  不管怎么說,程序猿菜鳥們還是猴急猴急的。那就用一個例子將開發這種程序的過程演示一下。同學們可以模仿著做一遍。以后的作業、上機任務也可以照葫蘆畫瓢做成窗口版的。

  下面,以VC++6.0為開發平臺,開始這趟體驗之旅。


 

  一、問題:求一元二次方程式ax2+bx+c=0的根。a,b,c的值在運行時由鍵盤輸入。

  可以寫出如下的程序完成求解:

[cpp] view plaincopyprint?
  1. #include<iostream>
  2. #include<cmath>
  3. usingnamespace std;
  4. int main( )
  5. {
  6. float a,b,c,x1,x2;
  7. cin>>a>>b>>c;
  8. if ((b*b-4*a*c)>=0)
  9. {
  10. if((b*b-4*a*c)>0)
  11. {
  12. x1=(-b+sqrt(b*b-4*a*c))/(2*a);
  13. x2=(-b-sqrt(b*b-4*a*c))/(2*a);
  14. cout<<"兩個不相等的實根分別是:x1="<<x1<<",""x2="<<x2<<endl;
  15. }
  16. else
  17. {
  18. x1=-b/(2*a);
  19. cout<<"兩個相等的實根,x1=x2="<<x1<<endl;
  20. }
  21. }
  22. else
  23. cout<<"方程無實根"<<endl;
  24. return 0;
  25. }
  26.  


 


 

  二、開發窗口版程序

  1、新建MFCAPP工程

  新建工程,選擇MFC APPWizard[exe],點確定:

  C++“窗口”程序設計啟蒙(實例詳解)
 

  選擇基本對話框

  C++“窗口”程序設計啟蒙(實例詳解)
 

  下一步

  C++“窗口”程序設計啟蒙(實例詳解)
 

  再下一步

  C++“窗口”程序設計啟蒙(實例詳解)
 

  完成

  C++“窗口”程序設計啟蒙(實例詳解)
 

  IDE會顯示工程骨架。點確定

  C++“窗口”程序設計啟蒙(實例詳解)
 

  2、安排窗口界面中的控件

  出現設計界面

  C++“窗口”程序設計啟蒙(實例詳解)
 

  在對話框中添加和編輯控件:將”控件”拖到窗口中,點右鍵修改屬性,下圖將拖入的靜態文本的“標題”改為a,后將放置一個編輯輯框,用于輸入a的值。靜態文本起提示的作用。

  C++“窗口”程序設計啟蒙(實例詳解)
 

  加入3個靜態文本控件和編輯框控件,分別用于輸入方程的三個系數;1個“求解”按鈕,將來點擊后可以完成求解;加入2個靜態文本控件和編輯框控件,分別用于輸出方程的解。

  C++“窗口”程序設計啟蒙(實例詳解)
 

  在控件上點右鍵,查看屬性,本例中不做修改,確認輸入a、b、c的編輯框的ID分別為IDC_EDIT1、IDC_EDIT2和IDC_EDIT3,用于輸出結果的兩個編輯框的ID分別為IDC_EDIT4、和IDC_EDIT5。

  C++“窗口”程序設計啟蒙(實例詳解)
 

  測試對話框:在layout(布局)菜單中,選擇tset(測試)命令,可以看到將來運行時的外觀。

  C++“窗口”程序設計啟蒙(實例詳解)
 

  3、將編輯框控件與變量綁定

  下面需要完成核心的功能,如何求解方程。

  為了讓程序從窗口的編輯框中提取出輸入的值,要設置變量,并與控件綁定。

  在設計窗口中點右鍵,選擇ClassWizard(建立類向導)

  C++“窗口”程序設計啟蒙(實例詳解)
 

  點擊MemberVariables標簽,設置各個控件對應的變量

  C++“窗口”程序設計啟蒙(實例詳解)
 

  雙擊IDC_EDIT1,為其添加對應的變量,變量名為m_a,變量類型為double,按下圖輸入。

  C++“窗口”程序設計啟蒙(實例詳解)
 

  同法為其他控件設置變量

  C++“窗口”程序設計啟蒙(實例詳解)

  4、為按鈕設置將來點擊后要執行的程序

  切換到Message Maps標簽頁

  C++“窗口”程序設計啟蒙(實例詳解)
 

  為按鈕添加BN_CLICKED消息映射:點擊Messages:框中的BN_CLICKED,再單擊右側的“Add Function…”按鈕,在新出現的彈出式窗口中點OK。

  C++“窗口”程序設計啟蒙(實例詳解)

  之后可以看到加入了Member Functions

C++“窗口”程序設計啟蒙(實例詳解)
 

  雙擊新增加的成員函數,現在需要輸入程序了

  C++“窗口”程序設計啟蒙(實例詳解)

  輸入的程序這樣的,程序設計的方法還是老一套,不過是增加了控件與變量傳值的要求,變量用的是與控件綁定的變量:

  C++“窗口”程序設計啟蒙(實例詳解)
 

  5、運行程序

  運行程序,結果是

  C++“窗口”程序設計啟蒙(實例詳解)
 

  結果還可以是:

  C++“窗口”程序設計啟蒙(實例詳解)
 

  界面其實還不好看,到圖書館借些書,按著例子做幾個就有感覺了。

  結語

  看一個業界大牛的界面:

  C++“窗口”程序設計啟蒙(實例詳解)
 

  界面、窗口并非應用的核心。編程思想和方法是核心,現階段優先解決編程方法的提高,如果時間有限,窗口程序可以以后解決。

  還有,打好基礎,有利于你理解向導生成的架構,這是我們的長期目標。


 

  三、練習

  1、用if語句編寫選擇結構的程序,完成下面的分段函數的求值

  C++“窗口”程序設計啟蒙(實例詳解)
 

  (提示:x1(1)x1(2)為常數,變量名可以定為x1x2。)

  設計成的窗口版程序可以如下圖(兩個常量的值也可以調整):

  C++“窗口”程序設計啟蒙(實例詳解)

  2、編寫多分支選擇結構程序,輸入個人月收入總額,計算出他本月應繳稅款和稅后收入。

  所得稅計算方法:從201191日起,我國調整個人所得稅起征點。基數上調為3500元,超出部分按以下7級計算。

序號

收入范圍

稅率

速算扣除數

1

超過01500

3%

0

2

超過1500元至4500元的部分

10%

105

3

超過4500元至9000元的部分

20%

555

4

超過9,000元至35,000元的部分

25%

1005

5

超過35,000元至55,000元的部分

30%

2755

6

超過55,000元至80,000元的部分

35%

5505

7

超過80,000以上

45%

13505

  個人所得稅計算方法:個人所得稅=應納稅所得額*稅率-速算扣除數,其中:應納稅所得額=收入總額-不征稅收入-免稅收入-各項扣除。

  本題中忽略免稅收入和各項扣除,不征稅收入即起征點基數3500元,所以有:個人所得稅=(收入總額-3500)*稅率-速算扣除數

  例如:王某月收入總額3600元,個人所得稅=3600-3500*3%=3元,李某月收入13500元,個人所得稅=13500-3500*25%-1005=2500-1005=1495元。

  本題的關鍵是如何根據應納稅所得額,確定稅率和速算扣除數。

  個人所得稅窗口版程序可以形如:

  C++“窗口”程序設計啟蒙(實例詳解)

  【拓展背影——速算扣除數】與解題已無太關系,但是可以了解一下

  速算扣除數是指用快捷方法計算稅款時,可以扣除的數額。個人所得稅的計算,可以將應納稅所得額分成不同級距和相應的稅率來計算。如扣除3500元后的應納稅所得額在1500元以內的,按3%稅率計算,15004500元之間的部分(即3000元),按10%的稅率計算。

  如某人工資扣除3500元后的應納稅所得額是2200元,則稅款計算方法為:1500*3%+700*10% =115元。個人所得稅的計算,也可以將應納稅所得額直接按對應的稅率來速算,但要扣除一個速算扣除數,否則會多計算稅款。

  如某人工資扣除3500元后的應納稅所得額是2200元,2200元對應的稅率是10%,則稅款速算方法為:2200*10%-105=115元。這里的105就是速算扣除數,因為2200元中,有1500元多計算了7%的稅款,需要減去。其他稅率所對應的速算扣除數分別是:20%55525%100530%275535%550545%13505
 


 

  四、后記

  基于此文的實踐表明,這種體驗讓同學們安靜了一些。此文初成于2011年10月,感受到了同學們剛學了幾天C++,就不滿足于黑框框,不理解為何不把他們帶入窗口世界。用黑框框的目的自然是在黑框框之外的。即使同學們已經和黑框框有了深厚的感情,說聲ByeBye只是遲早的事情。我當時想,是需要讓同學們通過體驗知道一下黑框框和窗口中世界的關系了。但限于初學者的背景,這項工作不是講講就做通得,需要的是同學們的體驗。

近日,面向對象的程序設計學習已經到了尾聲,我準備再次擬一個適合同學們目前水平(了解了面向對象機制,但無任何開發經驗和經歷)的指導書,在窗口式程序開發和面向對象機制方面讓同學們有更多的體驗,也借此揭開課外自學MFC,甚至是其他語言,其他開發環境的序幕!

希望我的這個大家有所幫助,記得在這篇日志下面或者主頁的留言板中留下你們的建議和反饋,這些對我們是最寶貴的財富,預祝大家快樂!有問題大家積極回帖討論下哈!
 


學習教程快速掌握從入門到精通的電腦知識




主站蜘蛛池模板: 青青青激情视频在线最新 | 天天干天天色天天射 | 深夜视频免费在线观看 | 欧美特黄一级大片 | 日本三级香港三级三级人!妇久 | 色噜噜色偷偷男人的天堂 | 天天干天天干天天干天天干天天干 | 四虎最新紧急更新地址 | 手机看片福利日韩欧美看片 | 日本成人福利视频 | 日韩专区亚洲综合久久 | 欧美亚洲综合另类 | 日本在线观看a | 网络色综合久久 | 日本大胆欧美人术艺术 | 一区二区三区网站在线免费线观看 | 综合色久七七综合七七蜜芽 | 亚洲欧洲国产精品你懂的 | 偷拍区自拍区 | 四虎影视网 | 午夜国产情侣拍视频 | 亚洲伊人成综合人影院小说 | 日韩精品特黄毛片免费看 | 色综合久久中文字幕综合网 | 欧美在线观看视频网站 | 亚洲视频一二区 | 日韩在线看片 | 日韩欧美亚洲综合一区二区 | 香蕉久久夜色精品国产小优 | 午夜影院免费看 | 色吧综合网 | 日韩国产免费一区二区三区 | 色婷婷天天综合在线 | 中文字幕欧美在线观看 | 日韩精品欧美亚洲高清有无 | 一区二区三区视频网站 | 日本老年人精品久久中文字幕 | 午夜涩涩| 天天躁夜夜躁狠狠躁2021西西 | 天天操天天艹 | 天天综合网天天综合色不卡 |