黑马程序员技术交流社区

标题: 工资提成问题 [打印本页]

作者: guanguan0622    时间: 2015-4-11 21:36
标题: 工资提成问题

/*
已知某公司员工的工资底薪为500,员工销售的软件金额与提成方式如下:
销售额 ≤2000            没有提成
2000 < 销售额 ≤ 5000    提成8%
5000 < 销售额 ≤ 10000   提成10%
销售额 ≥ 10000          提成12%
利用switch
*/
#include<stdio.h>
int main()
{
//定义变量
    int sale;float gz=500;
//输入销售额
    printf("请输入销售额:\n");
//接受销售额
    scanf("%d",&sale);
//判断数字是否正确
    if (sale<0) {
        printf("你还欠公司的钱!!!\n");
        return 0;
    }
    sale--;
    int a = 0;
    a=sale/1000;
    sale++;
//
    switch (sale/1000) {
        case 0:
        case 1:
            ++sale;
            printf("你的提成是0,工资是%f\n",gz);
            break;
        case 2:
        case 3:
        case 4:
            printf("你的提成是8%%,工资是%f\n",gz+sale*0.08);
            break;
        case 5:
        case 6:
        case 7:
        case 8:
        case 9:
            printf("你的提成是10%%,工资是%f\n",gz+sale*0.1);
            break;

        default:
            printf("你的提成是12%%,工资是%f\n",gz+sale*0.12);

    }
    return 0;
}辛辛苦苦写出来的,求大神指导!!!

作者: 举举手    时间: 2015-4-11 22:11
就不想看
作者: tyisbest    时间: 2015-4-11 22:12
看了你的,我豁然开朗,不说了  把自己的改进先!
作者: wslinke    时间: 2015-4-11 23:48
/*
已知某公司员工的工资底薪为500,员工销售的软件金额与提成方式如下:
销售额 ≤2000            没有提成
2000 < 销售额 ≤ 5000    提成8%
5000 < 销售额 ≤ 10000   提成10%
销售额 ≥ 10000          提成12%  //这里可能是>10000
利用switch
*/
#include<stdio.h>
int main()
{
//定义变量
    int sale;float gz=500;
//输入销售额
    printf("请输入销售额:\n");
//接受销售额
    scanf("%d",&sale); //最好再判断下是否读取到数字
//判断数字是否正确
    if (sale<0) {
        printf("你还欠公司的钱!!!\n");
        return 0;
    }
    sale--;
    int a = 0;
    a=sale/1000;
    sale++;
//
    switch (sale/1000) { //括号里改为a
        case 0:
        case 1:
            ++sale;
            printf("你的提成是0,工资是%f\n",gz);
            break;
        case 2:
        case 3:
        case 4:
            printf("你的提成是8%%,工资是%f\n",gz+sale*0.08);
            break;
        case 5:
        case 6:
        case 7:
        case 8:
        case 9:
            printf("你的提成是10%%,工资是%f\n",gz+sale*0.1);
            break;

        default:
            printf("你的提成是12%%,工资是%f\n",gz+sale*0.12);

    }
    return 0;
作者: wang619590713    时间: 2015-4-12 16:53
瞎了,我怎么都看不大懂呢,我写的总是有些问题
作者: 丶浩浩丶    时间: 2015-4-12 17:31
有问题啊,你试试2000,5000

QQ20150412-1.png (5.73 KB, 下载次数: 42)

QQ20150412-1.png

QQ20150412-2.png (5.63 KB, 下载次数: 30)

QQ20150412-2.png

作者: 丶浩浩丶    时间: 2015-4-12 17:32
丶浩浩丶 发表于 2015-4-12 17:31
有问题啊,你试试2000,5000

2000应该没有提成,5000应该%8
作者: DarkHorseChuck    时间: 2015-4-12 22:16
int main()
{
    //定义变量
    int salesVolume;
    printf("请输出这个月的销售额!");
    scanf("%d",&salesVolume);
   
    switch(10000/salesVolume)
    {
        case 2:
        case 3:
        case 4:
            printf("销售额%d,提成8%", salesVolume);
            break;
        case 1:
            printf("销售额%d,提成10%", salesVolume);
            break;
        case 0:
            printf("销售额%d,提成12%", salesVolume);
            break;
        default:
            printf("销售额%d,没有提成", salesVolume);
            break;
   
    }

    return 0;
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2