请问一下以下程序错在哪里?

xwc678 2007-04-23 07:48:33
业发放的奖金根据利润提成。利润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
...全文
258 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xlbdan 2007-04-23
  • 打赏
  • 举报
回复
int f;
换成
double f;
plo2168424 2007-04-23
  • 打赏
  • 举报
回复
不知道你编译器怎么编译过去的 = =!
VCLIFE 2007-04-23
  • 打赏
  • 举报
回复
case 1:f=0.1*i;break;
f是int,而0.1.............................

65,213

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧