C++第3次实验(基础班)—选择结构程序设计(参考答案)-项目1:个人所得税计算器
- #include <iostream>
- using namespace std;
- int main( )
- {
- double dSalary,dTax=0,dNetIncome=0; //请欣符合匈牙利命名法的变量名
- double dValue; //在模板基础上加一个变量,表示超出起征点的收入
- cout<<"请输入您本月的收入总额(元):";
- cin>>dSalary;
- dValue=dSalary-3500; //在起征点基础上考虑纳税
- if(dValue<=0.0)
- dTax=0.0;
- else
- {
- if(dValue<=1500)
- dTax=dValue*0.03-0.0; //直接根据税率和速算扣除数计算
- else if(dValue<=4500)
- dTax=dValue*0.10-105.0;
- else if(dValue<=9000)
- dTax=dValue*0.20-555.0;
- else if(dValue<=35000)
- dTax=dValue*0.25-1005.0;
- else if(dValue<=55000)
- dTax=dValue*0.30-2755.0;
- else if(dValue<=80000)
- dTax=dValue*0.35-5505.0;
- else
- dTax=dValue*0.45-13505.0;
- }
- dNetIncome=dSalary-dTax; //计算得到
- cout<<"您本月应缴个人所得税 "<<dTax<<" 元,税后收入是 "<<dNetIncome<<" 元。\n";
- cout<<"依法纳税,共享繁荣。谢谢使用!\n";
- return 0;
- }
参考2:在参考1基础上做些改进的解法
[cpp] view plain copy print?
- #include <iostream>
- using namespace std;
- int main( )
- {
- double dSalary,dTax = 0,dNetIncome = 0; //请欣符合匈牙利命名法的变量名
- double dValue; //在模板基础上加一个变量,表示超出起征点的收入
- double dRate, dOffset; //分别表示税率和速算扣除数
- cout<<"请输入您本月的收入总额(元):";
- cin>>dSalary;
- dValue = dSalary - 3500; //在起征点基础上考虑纳税
- if(dValue <= 0.0)
- dTax = 0.0; //不需要交税
- else
- {
- if(dValue <= 1500)
- dRate = 0.03, dOffset = 0.0; //这一组if语句用于得到税率和速算扣除数
- else if(dValue <= 4500)
- dRate = 0.1, dOffset = 105.0;
- else if(dValue <= 9000)
- dRate = 0.2, dOffset = 555.0;
- else if(dValue <= 35000)
- dRate = 0.25, dOffset = 1005.0;
- else if(dValue <= 55000)
- dRate = 0.3, dOffset = 2755.0;
- else if(dValue <= 80000)
- dRate = 0.35, dOffset = 5505.0;
- else
- dRate = 0.45, dOffset = 13505.0;
- dTax = dValue * dRate - dOffset; //计算所得税,体会将“确定参数”与“计算”分开的好处:思路更明晰,不易在计算公式上犯大错
- }
- dNetIncome = dSalary-dTax; //计算税后收入
- cout<<"您本月应缴个人所得税 "<<dTax<<" 元,税后收入是 "<<dNetIncome<<" 元。\n";
- cout<<"依法纳税,共享繁荣。谢谢使用!\n";
- return 0;
- }
参考3:下面是用switch语句完成的程序。如果感觉这样做还不如直接用if,这种看法也是对的,这种解法的意义也就仅在于练习switch了。
[cpp] view plain copy print?
- #include <iostream>
- using namespace std;
- int main( )
- {
- double dSalary,dTax = 0,dNetIncome = 0; //请欣符合匈牙利命名法的变量名
- double dValue; //在模板基础上加一个变量,表示超出起征点的收入
- double dRate, dOffset; //分别表示税率和速算扣除数
- int iStep; //用于确定交税的“档次”
- cout<<"请输入您本月的收入总额(元):";
- cin>>dSalary;
- dValue = dSalary - 3500; //在起征点基础上考虑纳税
- if(dValue <= 0.0)
- dTax = 0.0; //不需要交税
- else
- {
- //这一组if语句确定交税的档次
- if(dValue <= 1500)
- iStep = 1;
- else if(dValue <= 4500)
- iStep = 2;
- else if(dValue <= 9000)
- iStep = 3;
- else if(dValue <= 35000)
- iStep = 4;
- else if(dValue <= 55000)
- iStep = 5;
- else if(dValue <= 80000)
- iStep = 6;
- else
- iStep = 7;
- //根据确定的档次,得到税率和速算扣除数,这样处理和问题中给出的列表形式有较好的对应
- //如果按照教材中的例子,通过类似c=s/n(n最大取500)的形式得到switch的<表达式>,下面的清单得列的很长
- switch(iStep)
- {
- case 1:
- dRate = 0.03, dOffset = 0.0; break;
- case 2:
- dRate = 0.1, dOffset = 105.0; break;
- case 3:
- dRate = 0.2, dOffset = 555.0; break;
- case 4:
- dRate = 0.25, dOffset = 1005.0; break;
- case 5:
- dRate = 0.3, dOffset = 2755.0; break;
- case 6:
- dRate = 0.35, dOffset = 5505.0; break;
- case 7:
- dRate = 0.45, dOffset = 13505.0;
- }
- dTax = dValue * dRate - dOffset; //计算所得税,体会将“确定参数”与“计算”分开的好处:思路更明晰,不易在计算公式上犯大错
- }
- dNetIncome = dSalary-dTax; //计算税后收入
- cout<<"您本月应缴个人所得税 "<<dTax<<" 元,税后收入是 "<<dNetIncome<<" 元。\n";
- cout<<"依法纳税,共享繁荣。谢谢使用!\n";
- return 0;
- }
C++第3次实验(基础班)—选择结构程序设计(参考答案)-项目1:个人所得税计算器相关推荐
- c语言实验选择结构程序设计答案,实验2:选择结构程序设计 (答案)
实验2:选择结构程序设计 一.实验目的 1.掌握关系.逻辑运算符及其表达式的正确使用. 2.掌握if语句和switch语句的使用. 3.了解vc++C程序调试的基本方法 二.实验环境 turbo c2 ...
- 周信东c语言实验二实验报告,实验三 循环结构程序设计参考答案
C语言实操课循环结构答案 实验三 循环结构程序设计(参考答案) 1.设计程序sy3-1.c ,要求打印小学九九乘法表. 算法分析: 根据九九乘法表可知,该表共有9行,第i行有i个表达式,而且表达式中的 ...
- C语言 第五章 选择结构 答案,c语言第五章 选择结构程序设计(习题册答案).doc
第五章 选择结构程序设计 基础练习(A) 一.填空题 1.关系表达式的运算结果是 逻辑 值.C语言没有逻辑型数据,以 1 代表"真",以 0代表"假". 2.逻 ...
- c语言选择结构程序设计实验报告6,c语言-选择结构程序设计实验报告4.doc
c语言-选择结构程序设计实验报告4.doc 实验报告 实验题目:选择结构程序设计 实验目的: 了解C语言表示逻辑量的方法(以0代表"假"以非0代表"真"). 学 ...
- c语言选择结构程序设计报告,《C语言程序设计》实验报告选择结构程序设计.doc...
<C语言程序设计>实验报告选择结构程序设计.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会 ...
- 桂 林 理 工 大 学实 验 报 告实验四 选择结构程序设计
桂 林 理 工 大 学 实 验 报 告 班级 计算机类 学号3202052 姓名 实验名称实验四 选择结构程序设计 日期 2020年 11月22 日 一.实验目的: 熟悉掌 ...
- c语言用if语句abc输出最大值,C语言基础入门选择结构-if语句(78页)-原创力文档...
C语言基础入门选择结构-if语句_电脑基础知识_IT/计算机_专业资料.第9单元选择结构-if语句<程序设计基础>北京八维研修学院第1节选择结构导入?... <程序设计基础> ...
- c语言程序设计杜红燕,C语言习题集与实验指导 教学课件 伍鹏、杜红、王圆妹、邓绍金 第4章 选择结构程序设计.pdf...
第4章 选择结构程序设计 第4章 选择结构程序设计 当你对C语言程序设计有了一定了解和掌握后, 若想要处理一些更复杂的任务时,比如根据判定条件 执行相应的程序,那该如何处理呢? 控制语句能够控制程序的 ...
- C语言 选择结构程序设计
实验三 选择结构程序设计 实验学时: 2 学时 实验目的: 1.掌握关系表达式和逻辑表达式的使用. 2. 熟练掌握 if 语句.嵌套的 if 语句和 switch 语句. 3. 掌握 break 语句 ...
最新文章
- 这次我让你彻底弄懂 RESTful
- React源码分析与实现(一):组件的初始化与渲染
- android 稳定性测试工具,APP 稳定性测试工具-Fastbot_Android详解
- 吴恩达机器学习系列课程--个人笔记
- What means the error-message 'java.lang.OutOfMemoryError: GC overhead limit exceeded' in Java?
- php变量教学,PHP变量详解
- 创业团队吸贤大法,如何设计完美的员工股权激励计划?
- swf缓存文件在哪里_移动web缓存介绍
- AD9的PCB技巧——封装的更新
- 巧用 Cowrie 部署 SSH 蜜罐,让黑客攻击无处遁形!
- 车载T- BOX全国产化电子元件推荐方案
- Rxjava(Subject)-BehaviorSubject--代码分析
- 5.10 数据的升序和降序排序 [原创Excel教程]
- FLUENT算例2:混合弯管的流动与传热
- vs2013配置OpenGL+简单案例分析
- 5个Python开发实用工具
- 研发二部二组-问题点归纳
- 谈瓦克生产基地爆炸停产对中国多晶硅市场的影响
- python爬虫requests.post()_网页爬虫 - Python requests爬虫,如何post payload里的数据,谢谢!...
- 深入理解异或运算 xor 的含义——再探不使用加减乘除实现加法运算、不使用额外空间交换两个变量的值