栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++ 计算所得税、字符串转数字、字符和特殊字符检测

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++ 计算所得税、字符串转数字、字符和特殊字符检测

//判断输入的是数字还是非数字

char arr[] = { '!','#','@','$','%','^','&','*','(',')','-','+','=','[',']','{','}','\','|','<','>',',','.','/','?' };
int flat = 0;
int Judgments_numbers(string income)
{
    if (income.length() == 0)return -1;
    bool istrue = true;

    flat = 0;
    if (strcmp(income.c_str(), "#") == 0)
    {
        return 3; //表示输入的'#'
    }
    int tempTaxesNum=0, temp_ = 0;
    int len = strlen(arr);
    for (int i = 0; i < income.length(); i++)//检测字符串中是否包含字母,如果包含字母则无法装换数字,返回自定义码
    {
        if (income[i] >= 'a' && income[i] <= 'z' || income[i] >= 'A' && income[i] <= 'Z') //判断释放是字符
        {
            istrue = false;
            break;
        }
        for (int j = 0; j < len; j++)//检测字符串中是否包含指定的特殊符号,如果包含指定的特殊符号则无法装换数字,返回自定义码
        {
            if (income[i]==arr[j])
            {
                istrue = false;
                break;
            }
        }
        if (!istrue)//如果是特殊字符,则跳出整个循环
            break;
    }
    if (!istrue)
    {
        return 2; //表示包含字母
    }
    return 1; //表示是数字
}

//计算收入所得税
void count_Taxes(int TaxesNum)
{
    int Taxes = 0;
    if (TaxesNum <= 5000)
    {
        cout << "5000 不收税." << endl;
        return;
    }
    else if (TaxesNum >= 5001 && TaxesNum <= 15000)
    {
        Taxes = (TaxesNum - 5000) * 0.1;
    }
    else if (TaxesNum >= 15001 && TaxesNum <= 35000)
    {
        Taxes = (TaxesNum - 15000) * 0.15 + (15000 - 5000) * 0.1;
    }
    else
    {
        Taxes = (35000 - 15000) * 0.15 + (15000 - 5000) * 0.1+(TaxesNum- 35000)*0.2;
    }
    cout << "应交的税: " << Taxes << endl;
}

//例子

int main(int argc, char* argv[])
{

string num;
while (true)
{
    cout << "请输入要月总收入金额" << endl;
    
    cin >> num;
    int ret = Judgments_numbers(num);//检测字符串中是否包含除数字以外的字符,如果有则不坐数字转换
    if (ret == 1)//是数字
    {
        count_Taxes(atoi(num.c_str()));
    }
    else if(ret == 2)
    {
        cout << "请输入数字" << endl;
    }
    else if (ret == 3)
    {
        cout << "程序退出" << endl;
        break;
    }
    else if (ret == -1)
    {
        cout << "字符串不可以为空" << endl;
    }
}

  return 0;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/353175.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号