c++第二次实验-1个人所得税计算器

来源:互联网 发布:江苏省软件测试中心 编辑:程序博客网 时间:2024/04/29 17:02

一、问题及代码:

/* 文件名称:项目1.cpp * 作    者:严明远 * 完成日期:2017 年 2 月 28 日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: * 输入描述:无 * 问题描述: 项目1:个人所得税计算器编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:关于个人所得税的有关背景知识)。    附:关于个人所得税的有关背景知识    计算方法:个人所得税=(收入总额-3500)*税率-速算扣除数    我国个人所得税起征点基数为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元。 * 问题分析:略 * 算法设计:略 */#include<iostream>#include<iomanip>using namespace std;int main(){    double dsalary,dtax=0,dnetncome=0;    int t=0;    cout<<"请输入您本月的说如总额:";    cin>>dsalary;    t=(dsalary>3500)+(dsalary>5000)+(dsalary>8000)+(dsalary>12500)+(dsalary>38500)+(dsalary>58500)+(dsalary>83500);//判断收入dsalary满足什么收费标准,设swicth(t)开关语句。    switch(t)     {        case 0:dtax=0;break;        case 1:dtax=(dsalary-3500)*0.03-0;break ;        case 2:dtax=(dsalary-3500)*0.10-105;break;        case 3:dtax=(dsalary-3500)*0.20-555;break;        case 4:dtax=(dsalary-3500)*0.25-1005;break;        case 5:dtax=(dsalary-3500)*0.30-2755;break;        case 6:dtax=(dsalary-3500)*0.35-5505;break;        case 7:dtax=(dsalary-3500)*0.45-13505;break;     }     dnetncome=dsalary-dtax;     cout<<"您本月应缴个人所得税"<<setiosflags(ios::fixed)<<setprecision(2)<<dtax<<"元,税后收入是"<<dnetncome<<"元"<<endl;     cout <<"依法纳税,共享繁荣,谢谢使用!\n";     return 0;}


二、运行结果:



三、心得体会:

恰当运用switch()语句,使问题简化。

四、知识点总结:

学到新的头文件#include<iomanip>,  setiosflags(ios::fixed)的作用是设置浮点数以固定的小数位显示,setprecision()设置浮点数的精度为几位。

0 0