1. 程式人生 > >2014秋C++ 第8周項目 分支程序設計

2014秋C++ 第8周項目 分支程序設計

解法 cas 關系表達式 com 人月 bre 不定 cor 決定

課程主頁在http://blog.csdn.net/sxhelijian/article/details/39152703。課程資源在雲學堂“賀老師課堂”同步展示,使用的帳號請到課程主頁中查看。


閱讀並驗證

閱讀以下的兩段程序,用“人腦”執行寫出輸出結果。再在計算機或手機上執行程序,對照自己寫出的結果,進行反思。
1.
#include <iostream>
using namespace std;
int main()
{
int a=1,b=2,c=3;
if(a<=c)
if(b==c)
cout<<"a="<<a<<endl;
else
cout<<"b="<<b<<endl;
cout<<"c="<<c<<endl;
return 0;
}
你的預期:______________
執行結果:______________
2.
#include <iostream>
using namespace std;
int main()
{
int i=10,j,m=0,n=0;
j=i%3;
switch (j)
{
case 0: m++;break;
case 1:
case 2: n++; break;
default: cout<<"i="<<i<<endl;
}
cout<<"m="<<m<<",n="<<n<<endl;
return 0;
}
你的預期:______________
執行結果:______________

上機實踐


【項目1:分段函數求值】

編程序。計算以下函數的值並輸出(x取整型就可以)
技術分享
提示1:調試時,不應該僅僅驗證一種情況下是否正確。比如。有代表性的輸入能夠是8(大於1的情形。x=8時,y應該是7)、0(小於1時的情形,x=0時。y應該是1)、1(正好等於1的情形,x=0時,y應該是-1)。


提示2:每一個項目都要求在調試完後發布博文,檢查你的博文:(1)是否有凝視?(2)代碼是否是通過“插入代碼”功能做的。前有自己主動行號,代碼的顏色豐富——非常專業的樣子?(3)是否寫了知識點總結和學習心得?以下的模板。能夠保存在你方便獲取的介質(U盤或郵箱)上,方便以後的工作。
標題:第8周項目1-求簡單分段函數的值

問題及代碼:
/* 
 * Copyright (c) 2014, 煙臺大學計算機學院 
 * All rights reserved. 
 * 文件名:test.cpp 
 * 作    者:  
 * 完畢日期:2014年 10 月 x 日 
 * 版 本 號:v1.0 
 * 
 * 問題描寫敘述:計算函數的值:當x>=1時,y=x-1,否則,y=-x+1
 * 輸入描寫敘述:一個整數x
 * 程序輸出: 相應的y值
 */ 
#include<iostream> 
Using namespace std; 
int main()  
{  
     //寫下你的代碼  
}  
執行結果:
(貼圖)

知識點總結:
(寫出在這個程序中體會到的知識)

學習心得:
(這兒寫些做這個程序的心得,以及鼓舞自己的話。學習的激情就這樣讓你寫出來了。誰不想讓自己的學習進入到這樣的有激情的節奏中呢?)


【項目2:加班費。要不要?】

小賀剛上班,按工作時間小時制領取周工資,工資標準是,每小時rate元RMB。

每周工作時間40小時,假設要加班。超出部分按正常工資的1.5倍計(老板還算不錯喔!

)。這周小賀上班的時間為hour小時。請編程序。輸入rate和hour。輸出小賀本周的薪水。

【項目3:多分段函數求值】

從鍵盤輸入x的值(要求為實型)。依據以下的公式計算並輸出y的值。
技術分享
(1)請用if~else~語句的嵌套,實現這個多分支的程序;
(2)請用switch語句構造多分支結構,完畢求解。
提示:以下的兩種解法供參考
解法1:相似例3.9的思路,各分段的標準都為2的倍數,所以,構造表達式 t= x/2,依據t的取值決定switch分支;
解法2:構造表達式 t=(x<2) + (x<6) + (x<10)。因為關系表達式(x<a)的值為0或1(真為1。假為0)。所以t能表示x到底滿足了幾個條件。比如,當輸入的x是1時,(x<2)、(x<6)、(x<10)均為真,邏輯值相加,真當1,假為0,故有t=(x<2)+(x<6)+(x<10)=3,相應的是x<2的情形。再如,而t值為0時。(x<2)、(x<6)、(x<10)三個關系表達式必然全為假。相應x≥10。其它相似。依據t的取值,能夠決定switch分支。


【項目4:個人所得稅計算器】

編寫選擇結構程序,輸入個人月收入總額,計算出他本月應繳稅款和稅後收入(計算辦法見附:關於個人所得稅的有關背景知識)。
(1)自選if語句的嵌套或/和switch語句完畢程序設計。
(2)以下給出程序的基本框架,因本題目規則復雜,為方便同學們寫出帶凝視的博文,在雲學堂共享的“第8周實踐源碼及博文模板.txt”中給出了博文模板。請下載使用。
#include <iostream>   
using namespace std;
int main( )
{
	double dSalary,dTax=0,dNetIncome=0; 
	cout<<"請輸入您本月的收入總額(元):";
	cin>>dSalary;
	// 以下求解應繳個人所和稅dTax和稅後收入dNetIncome


	cout<<"您本月應繳個人所和稅 "<<dTax<<" 元,稅後收入是 "<<dNetIncome<<" 元。

\n"; cout<<"依法納稅,共享繁榮。

謝謝使用!\n"; return 0; }

附:關於個人所得稅的有關背景知識
計算方法:個人所得稅=(收入總額-3500)*稅率-速算扣除數
從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
比如:王某月收入總額3600元,個人所得稅=(3600-3500)*3%=3元;
再例:李某月收入13500元,個人所得稅=(13500-3500)*25%-1005=2500-1005=1495元。
很多其它了解速算扣除數,請找百度百科。


【項目5:定期存款利息計算器】
輸入存款金額並選擇存款種類。計算出利息(不計利息稅)和本息合計。要求使用switch語句,依據選擇的存款種類,確定利率和存期後計算。
提示:利息=金額×年利率×存期(單位:年,3個月為0.25年。6個月為0.5年)。
比如:1000元存6個月,利息=1000×0.033×0.5=16.5元
利率使用2011年7月7日發布的年利率:3個月 3.10%。6個月 3.30%,一年 3.50%,二年 4.40%。三年 5.00%,五年 5.50%。


程序執行圖參考以下的界面:
技術分享

【項目6:本月有幾天?】

編程序。輸入年份和月份。輸出本月有多少天。

合理選擇分支語句完畢設計任務。


例子輸入1:2004 2
輸出結果1:本月29天
例子輸入2:2010 4
輸出結果2:本月30天




=================== 迂者 賀利堅 CSDN博客專欄=================
|== IT學子成長指導專欄 專欄文章的分類文件夾(不定期更新) ==|
|== C++ 課堂在線專欄  賀利堅課程教學鏈接(分課程年級) ==|
|== 我寫的書——《逆襲大學——傳給IT學子的正能量》    ==|
===== 為IT菜鳥起飛鋪跑道,和學生一起享受快樂和激情的大學 =====





2014秋C++ 第8周項目 分支程序設計