所以我正在尝试做一个工资预测项目而且我只是坚持一件事,我正在使用数字,它给了我额外的0位小数我不想要的地方..
void calc(float *salary, float *rate, float *raise, float *newsalary)
{
*raise = *salary*(*rate);
*newsalary = (*salary)+(*raise);
}
void rateofsalary(float *salary, float *rate)//change this function into a return
{
if(*salary>=0 && *salary<=30000)
*rate = 7.0;
else
if(*salary>=30000 && *salary<=40000)
*rate = 5.5;
else
if(*salary>=40000)
*rate = 4.0;
}
输出如下:
> Please enter your salary: 25000
>The rate is: 7.00
>| | Salary |Rate | Raise | New Salary |
>| | 25000.00 | 7.00 | 175000.00 | 200000.00 |
> Press any key to continue . . .
但我想要的是:
> Please enter your salary: 25000
The rate is: 7.00
>| | Salary |Rate | Raise | New Salary |
| | 25000.00 | 7.00 | 1,750.00 | 26,750.00
> Press any key to continue . . .
为什么我会得到额外的0?
答案 0 :(得分:2)
我猜,你得到的是正确答案。
你的工资是25000,费率是7.乘以175000这是你的加薪。
答案 1 :(得分:2)
在RateOfSalary函数结束时,添加:
*rate /= 100;