请问一下以下程序错在哪里?
业发放的奖金根据利润提成。利润i低于或等于10万元的,奖金可提成10%;利润高于10万元,低于或等于20万元,低于10万元的部分按10%提成,高于10万元的部分按7.5%提成;同理200000<i<=400000,高于20万元的按5%提成;400000<i<=600000,高于40万元的部分按3%提成;600000<i<=1000000,高于60万元的部分按1.5%提成.i>1000000,超过100万的部分按1%提成,求该月奖金数.
#include<iostream>
using namespace std;
int main()
{int i;int f;int c;
cin>>i;
c=i/100000;
if(c>10) c=10;
switch(c)
{case 1:f=0.1*i;break;
case 2:f=10000+(i-100000)*0.075;break;
case 3:
case 4:f=10000+7500+(i-200000)*0.05;break;
case 5:
case 6:f=10000+7500+10000+(i-400000)*0.03;break;
case 7:
case 8:
case 9:
case 10:f=10000+7500+10000+6000+6000+(i-1000000)*0.01;
}
cout<<"wage:"<<f<<endl;
system("pause");
return 0;
}
出现warning,而且不能得出所要求的结果,例如:我输入89,它不是输出8.9,而是29