長沙代孕價格多少m
長沙代孕價格多少m█ 微訊號█:138-0226-9370██████代孕價格包成功,代孕包男孩,供卵代孕,三代試管嬰兒選性別,供卵試管嬰兒,十年老品牌代孕公司,
【摘要】本文以C++菜菜鳥(只需要學習了C++資料型別和控制結構即可)為目標讀者,用求解一元二次方程作為例項,展示視窗式程式的開發過程,獲得初步體驗。寫作目的包括:(1)讓學生通過模仿,開發出類似風格的視窗程式;(2)以此為起點,課外通過案例教程等參考資料,學習開發更多的功能實用的程式;(3)體會到程式設計能力的核心並不在介面,從而能潛心提高程式設計的基本功和認真學習電腦科學的基礎理論。
【相關博文】我寫的
在程式設計學習過程中,尤其對於計算機相關專業的學生,總是從語言、程式結構、演算法等學起,然後再結合工程實際,逐漸涉及視窗、介面的設計。不少同學失去耐心,甚至非常傷心:“為什麼要讓我們面對黑洞洞的DOS視窗。
如果從表面上,製作一個視窗程式並非難事。於是有了本文,目的就在於讓零基礎的童鞋們體驗一次,過把癮,然後能將主要精力投入到程式設計課中去,認認真真地打好程式設計序的基本功。大學學習有很強的階段性,這個階段可以不將設計視窗程式作為目標。
實際上,隨著對程式設計技術的深入學習,尤其是學習了面向物件程式設計技術之後,我們的眼光將放在理解和運用MFC去開發系統。將來,這些由系統自動生成的程式你可以自己手工編寫出來。C++是講究效率的,手工編寫而非由IDE自動生成,是C++程式設計師的追求。專業和非專業的區別就在這裡。可能將來你會從事並不強調效率的一些應用開發,但精湛的程式設計技術、紮實的演算法功底、良好的程式設計風格,是基本功,是看家本領。
不管怎麼說,程式猿菜鳥們還是猴急猴急的。那就用一個例子將開發這種程式的過程演示一下。同學們可以模仿著做一遍。以後的作業、上機任務也可以照葫蘆畫瓢做成視窗版的。想要繼續深入?可以借些書自學了。有了課堂中程式設計技術的支撐,不需要什麼其他基礎,只要能改變學習觀念,你可以先行一步,體會更多的樂趣。在大學裡,圍繞課堂,展開自學,其力無窮。
下面,以VC++6.0為開發平臺,開始這趟體驗之旅。
一、問題:求一元二次方程式ax2+bx+c=0的根。a,b,c的值在執行時由鍵盤輸入。
可以寫出如下的程式完成求解:
#include<iostream>
#include<cmath> usingnamespace std; int main( ) { float a,b,c,x1,x2; cin>>a>>b>>c; if ((b*b-4*a*c)>=0) { if((b*b-4*a*c)>0) { x1=(-b+sqrt(b*b-4*a*c))/(2*a); x2=(-b-sqrt(b*b-4*a*c))/(2*a); cout<<"兩個不相等的實根分別是:x1="<<x1<<",""x2="<<x2<<endl; } else { x1=-b/(2*a); cout<<"兩個相等的實根,x1=x2="<<x1<<endl; } } else cout<<"方程無實根"<<endl; return 0; }
二、開發視窗版程式
1、新建MFCAPP工程
新建工程,選擇MFC APPWizard[exe],點確定:
選擇基本對話方塊
下一步
再下一步
完成
IDE會顯示工程骨架。點確定
2、安排視窗介面中的控制元件
出現設計介面
在對話方塊中新增和編輯控制元件:將”控制元件”拖到視窗中,點右鍵修改屬性,下圖將拖入的靜態文字的“標題”改為a,後將放置一個編輯輯框,用於輸入a的值。靜態文字起提示的作用。
加入3個靜態文字控制元件和編輯框控制元件,分別用於輸入方程的三個係數;1個“求解”按鈕,將來點選後可以完成求解;加入2個靜態文字控制元件和編輯框控制元件,分別用於輸出方程的解。
在控制元件上點右鍵,檢視屬性,本例中不做修改,確認輸入a、b、c的編輯框的ID分別為IDC_EDIT1、IDC_EDIT2和IDC_EDIT3,用於輸出結果的兩個編輯框的ID分別為IDC_EDIT4、和IDC_EDIT5。
測試對話方塊:在layout(佈局)選單中,選擇tset(測試)命令,可以看到將來執行時的外觀。
3、將編輯框控制元件與變數繫結
下面需要完成核心的功能,如何求解方程。
為了讓程式從視窗的編輯框中提取出輸入的值,要設定變數,並與控制元件繫結。
在設計視窗中點右鍵,選擇ClassWizard(建立類嚮導)
點選MemberVariables標籤,設定各個控制元件對應的變數
雙擊IDC_EDIT1,為其新增對應的變數,變數名為m_a,變數型別為double,按下圖輸入。
同法為其他控制元件設定變數
4、為按鈕設定將來點選後要執行的程式
切換到Message Maps標籤頁
為按鈕新增BN_CLICKED訊息對映:點選Messages:框中的BN_CLICKED,再單擊右側的“Add Function…”按鈕,在新出現的彈出式視窗中點OK。
之後可以看到加入了Member Functions
雙擊新增加的成員函式,現在需要輸入程式了
輸入的程式這樣的,程式設計的方法還是老一套,不過是增加了控制元件與變數傳值的要求,變數用的是與控制元件繫結的變數:
5、執行程式
執行程式,結果是
結果還可以是:
介面其實還不好看,到圖書館借些書,按著例子做幾個就有感覺了。
結語
看一個業界大牛的介面:
介面、視窗並非應用的核心。程式設計思想和方法是核心,現階段優先解決程式設計方法的提高,如果時間有限,視窗程式可以以後解決。
還有,打好基礎,有利於你理解嚮導生成的架構,這是我們的長期目標。
三、練習
1、用if語句編寫選擇結構的程式,完成下面的分段函式的求值
(提示:x1(1)、x1(2)為常數,變數名可以定為x1和x2。)
設計成的視窗版程式可以如下圖(兩個常量的值也可以調整):
2、編寫多分支選擇結構程式,輸入個人月收入總額,計算出他本月應繳稅款和稅後收入。
所得稅計算方法:從2011年9月1日起,我國調整個人所得稅起徵點。基數上調為3500元,超出部分按以下7級計算。
序號 |
收入範圍 |
稅率 |
速算扣除數 |
1 |
超過0至1500 |
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元。
本題的關鍵是如何根據應納稅所得額,確定稅率和速算扣除數。
個人所得稅視窗版程式可以形如:
【拓展背影——速算扣除數】與解題已無太關係,但是可以瞭解一下
速算扣除數是指用快捷方法計算稅款時,可以扣除的數額。個人所得稅的計算,可以將應納稅所得額分成不同級距和相應的稅率來計算。如扣除3500元后的應納稅所得額在1500元以內的,按3%稅率計算,1500-4500元之間的部分(即3000元),按10%的稅率計算。
如某人工資扣除3500元后的應納稅所得額是2200元,則稅款計算方法為:1500*3%+700*10% =115元。個人所得稅的計算,也可以將應納稅所得額直接按對應的稅率來速算,但要扣除一個速算扣除數,否則會多計算稅款。
如某人工資扣除3500元后的應納稅所得額是2200元,2200元對應的稅率是10%,則稅款速算方法為:2200*10%-105=115元。這裡的105就是速算扣除數,因為2200元中,有1500元多計算了7%的稅款,需要減去。其他稅率所對應的速算扣除數分別是:20%:555,25%:1005,30%:2755,35%:5505,45%:13505。
四、後記
此文初成於2011年10月,感受到了同學們剛學了幾天C++,就不滿足於黑框框,不理解為何不把他們帶入視窗世界。我當時想,是需要讓同學們通過體驗知道一下黑框框和視窗中世界的關係了。但限於初學者的背景,這項工作不是講講就做通得,需要的是同學們的體驗。基於此文的實踐表明,這種體驗讓同學們安靜了一些。
用黑框框的目的自然是在黑框框之外的。即使同學們已經和黑框框有了深厚的感情,說聲ByeBye只是遲早的事情。近日,面向物件的程式設計學習已經到了尾聲,我準備再次擬一個適合同學們目前水平(瞭解了面向物件機制,但無任何開發經驗和經歷)的指導書,在視窗式程式開發和麵向物件機制方面讓同學們有更多的體驗,也藉此揭開課外自學MFC,甚至是其他語言,其他開發環境的序幕!
請關注近期將出爐的《增強版C++視窗程式設計啟蒙》。
再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!希望你也加入到我們人工智慧的隊伍中來!http://www.captainbed.net