2013C++第9周项目——多分支结构程序设计

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759

【项目1分段函数求值】从键盘输入x的值(整型),根据公式1计算并输出x和y的值。 

要求用switch语句构造多分支结构完成求解,利用BB平台上“第9周练习源代码及博文模板.txt”中给出了博文模板发布报告。

提示:

解法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究竟满足了几个条件。t值为3时,相加的三个关系表达式全为真,对应x<2;而t值为0时,相加的三个关系表达式全为假,对应x≥10,其他类似。根据t的取值,可以决定switch分支。

 

【项目2:构造“菜单”】编写程序,显示“菜单”,由用户输入代号后,输出对所选项目的简短评论。运行结果参考下图:

 

 

【项目3:个人所得税计算器】编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:关于个人所得税的有关背景知识)。

(1)自选if语句的嵌套或/和switch语句完成程序设计,鼓励两种方法各做一个版本;

(2)下面给出程序的基本框架,因本题目规则复杂,为方便同学们写出带注释的博文,在BB平台上“第9周练习源代码及博文模板.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;
}

附:关于个人所得税的有关背景知识

从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)*税率-速算扣除数

  • 王某月收入总额3600元,个人所得税=(3600-3500)*3%=3元;
  • 李某月收入13500元,个人所得税=(13500-3500)*25%-1005=2500-1005=1495元。

更多了解速算扣除数,请找百度百科。

 

【项目4:利息计算器】输入存款金额并选择存款种类,计算出利息(不计利息税)和本息合计。要求使用switch语句,根据选择的存款种类,确定利率和存期后计算。

  提示:如果是活期存款,需要补充输入天数。利息=金额×年利率×存期(单位:年,活期一年按360天计)。

  利率使用2011年7月7日公布的年利率:活期  0.50%,3个月  3.10%,6个月 3.30%,一年 3.50%,二年 4.40%,三年 5.00%,五年 5.50%。

  可参考http://www.bankrate.com.cn/tools/saving-interest-calculator.html中的完整的在线利息计算器,并在此基础上改造。

 

【项目5:本月有几天?】输入年、月,输出本月有多少天。合理选择分支语句完成设计任务。

样例输入1:2004 2

输出结果1:本月29天

样例输入2:2010 4

输出结果2:本月30天

时间: 2024-09-19 20:28:29

2013C++第9周项目——多分支结构程序设计的相关文章

2013-C++第7周项目——初步体验分支结构和循环结构的程序设计

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759 参考解答见:http://blog.csdn.net/sxhelijian/article/details/12710607 上机内容:(1)求两个正整数的正差值:(2)输出四个整数中的最大值:(3)输出各式星号图. [项目1]简单计算问题体验 (1)阅读"英尺到米的转换"实例(见本文附),仔细领会定义变量.输入.计算.输出的一般过程,借助于"摄氏/华

C++程序设计-第九周分支结构程序设计上机实践项目

回到课程主页,链接:C++程序设计课程主页-2012级 本次上机对应的教学内容:第3章   C++程序设计初步中分支程序设计的部分. 练习+上机验证 [练习1]阅读下列程序,在准备期写出程序的运行结果.上机时运行程序,与你的预期进行对照.理解. 1. #include <iostream> using namespace std; int main() { int a=1,b=2,c=3; if(a<=c) if(b==c) cout<<"a="<&

2013-C++第7周项目参考解答链接集

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759 完整题目见:http://blog.csdn.net/sxhelijian/article/details/12356657 [项目1]简单计算问题体验 参考解答见:http://blog.csdn.net/sxhelijian/article/details/12710137 输入底面半径r和高h,输出圆柱体的表面积. 样例输入:3.5  9 样例输出:Area = 2

2013-C++第9周项目参考解答链接集

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759 完整题目见:http://blog.csdn.net/sxhelijian/article/details/12911289 [项目1分段函数求值]从键盘输入x的值(整型),根据公式1计算并输出x和y的值.  要求用switch语句构造多分支结构完成求解. 参考解答见:http://blog.csdn.net/sxhelijian/article/details/1328

2013-C++第14周项目参考解答链接集

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759 [项目1 - 数组大折腾] 将所有元素值加倍后保存在数组中,最后由前往后输出数组中所有元素的值,再由后往前输出数组中所有元素的值,再输出数组中的所有大于100的数,以及下标为3的倍数的元素值. (1)创建一个长度为20的整型数组,通过初始化,为数组中的前10个元素赋初值,然后通过键盘输入后10个元素的值,从前往后(从第0个到第19个)输出数组中元素的值,每5个元素换一行.

2013-C++第17周项目参考解答链接集

课程主页在:http://blog.csdn.net/sxhelijian/article/details/11890759 [项目1-体会函数参数传递] 设计一个程序,输入3个整数,将其按从大到小的顺序输出,要求 (1)排序功能通过函数实现 (2)写出两个版本的函数,一个采用传地址值的方法,另一个采用引用类型作参数 参考解答在:http://blog.csdn.net/sxhelijian/article/details/8362289(2012级第17周项目1) [项目2-用指针玩字符串]指

2013-C++第11周项目参考解答链接集

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759 完整题目见:http://blog.csdn.net/sxhelijian/article/details/14109337 [项目1-调用函数输出星号图] 参考解答见:http://blog.csdn.net/sxhelijian/article/details/14548417 [项目2-求最大公约数]输入两个数,并求出其最大公约数 [项目2扩展-求四数的最大公约数]

2013-C++第8周项目参考解答链接集

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759 完整题目见:http://blog.csdn.net/sxhelijian/article/details/12709601 [项目1:分段函数求值]编程序,计算下面函数的值并输出 参考解答见:http://blog.csdn.net/sxhelijian/article/details/12902985 [项目2:分段函数求值]从键盘输入x的值(要求为实型),根据公式1

2013-C++第16周项目参考解答链接集

课程主页在:http://blog.csdn.net/sxhelijian/article/details/11890759 [项目2-指来指去]设计一个程序,利用指针完成下面的工作(1)下面的程序,输入10 100和100 10,均可以输出max=100 min=10,请补充完整程序 #include <iostream> using namespace std; int main( ) { int *p1,*p2,a,b,t; cin>>a>>b; p1=&