计算个人所得税,北大青鸟S2 上机第二阶段第一题

 
计算个人所得税!!根据输入的信息计算个人所得税...可自定义税率!!本来是北大青鸟S2 的课后题..给增加了些容易,这才充实,也有个程序的样子..
using System;
namespace Example_2
{
    /**
     * 定义一个人的类,存放人的各种属性
     */
    public class People                                                //人的属性
    {
        public string name;
        public double geRenCaiCan,xiaoShouE,shouRu;                    //个人财产,销售额,收入
        public double geRenCaiCanTax,xiaoShouETax,shouRuTax,Tax;        //个人财产税率,销售额税率,收入税率,总税额
        public People ()
        {
            geRenCaiCan = 0;                                        //初始化个人财产
            xiaoShouE = 0;                                            //初始化销售额
            shouRu = 0;                                                //初始化收入
        }
    }
    /**
     * 定义一个税率的类,获取税率
     */
    public class Tax                                                //税率的属性
    {
        public double tax1,tax2;
        public Tax()
        {
            tax1 = 2;                                                //初始化税率1
            tax2 = 3;                                                //初始化税率2
        }
    }
    /*定义类,输出信息
     * */
    public class Print
    {
        public void print(People p,Tax t)
        {
            Console.WriteLine("亲爱的 "+p.name+" 您好,/n");
            Console.WriteLine("您的个人财产为: "+p.geRenCaiCan+",应缴税: "+p.geRenCaiCanTax);
            Console.WriteLine("您的个销售额为: "+p.xiaoShouE+",应缴税: "+p.xiaoShouETax);
            Console.WriteLine("您的工资为: "+p.shouRu+",应缴税: "+p.shouRuTax);
            Console.WriteLine("您共需缴纳税额为: "+p.Tax);
        }
    }
    /**定义类,获取用户输入给人和税率赋值
     */
    public class Read
    {
        public void Read1 (People p)
        {
            Console.WriteLine("请输入人物姓名: ");
            p.name = Console.ReadLine();
            Console.WriteLine("请输入此人个人财产,无个人财产输入 '0'");
            p.geRenCaiCan =double.Parse(Console.ReadLine());
            Console.WriteLine("请输入此人销售额,无销售额输入 '0'");
            p.xiaoShouE = double.Parse(Console.ReadLine());
            Console.WriteLine("请输入此人收入,不能为 '0'");
            p.shouRu = double.Parse(Console.ReadLine());
        }
        public void Read2 (Tax t)
        {
            Console.WriteLine("是否自定义税率?");
            string yesno = Console.ReadLine();
            if (yesno == "y" | yesno =="Y")
            {
                Console.WriteLine("请输入税率1");
                t.tax1 = double.Parse(Console.ReadLine());
                Console.WriteLine("请输入税率2");
                t.tax2 = double.Parse(Console.ReadLine());
            }
            else
            {
                return;
            }
        }
    }
    /**
     * 定义类,用以计算税率
     */
    public class ComputeTax                                            //计算税率
    {
        public void Compute (People p,Tax t)                        //传递人和税率
        {
            Console.WriteLine("正在计算税率请稍后.......");
            p.geRenCaiCanTax = p.geRenCaiCan * t.tax1/100;            //获得个人财产税额
            p.xiaoShouETax = p.xiaoShouE * t.tax2/100;                //获得销售额税额
            p.shouRuTax = p.shouRu * 0.15;                            //获得收入税额
            /**
             * 更加初始值判断税额计算
             */
            if(p.geRenCaiCan != 0 && p.xiaoShouE != 0)                //有房,有公司的
            {
                p.Tax = p.geRenCaiCanTax + p.shouRuTax + p.xiaoShouETax;
            }
            else if (p.geRenCaiCanTax != 0 && p.xiaoShouETax == 0)        //有房没公司的
            {
                p.Tax = p.geRenCaiCanTax + p.shouRuTax;
            }
            else if(p.geRenCaiCanTax == 0 && p.xiaoShouETax != 0)            //有公司没房的
            {
                p.Tax = p.xiaoShouETax + p.shouRuTax;
            }
            else                                                        //没房没车的
            {
                p.Tax = p.shouRuTax;
            }
        }
    }
    /*main函数*/
    public class TaxMain
    {
        [STAThread]
        static void Main(string[] args)
        {
            People p = new People();
            Tax t = new Tax();
            Read r = new Read();
            r.Read1(p);
            r.Read2(t);
            ComputeTax ct = new ComputeTax();
            ct.Compute(p,t);
            Print pr = new Print();
            pr.print(p,t);
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值