首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请教一下以下程序错在哪里

2012-03-11 
请问一下以下程序错在哪里?业发放的奖金根据利润提成。利润i低于或等于10万元的,奖金可提成10%;利润高于10

请问一下以下程序错在哪里?
业发放的奖金根据利润提成。利润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


[解决办法]
case 1:f=0.1*i;break;
f是int,而0.1.............................
[解决办法]
不知道你编译器怎么编译过去的 = =!
[解决办法]
int f;
换成
double f;

热点排行
Bad Request.