注册 登录
编程论坛 C++教室

求大神指导,为什么我输出的值都是 0

s476667902 发布于 2014-11-14 15:37, 706 次点击
#i运输公司对用户计算运费。路程(s)越远,每公里的运费越低。收费标准如下:  
S<250km 无折扣  
250<=s<500 2%折扣  
500<=s<1000 5%折扣  
1000<=s<2000 8%折扣  
2000<=s<3000 10%折扣  
3000<=s 15%折扣  
 
设每公里每吨货物的基本运费为p(price的缩写),货物重为w(weight的缩写),距离为s,折扣为d(discount的缩写),则总运费f(freight的缩写)的计算公式为:  
f = p * w * s * (1 - d)  
#include<iostream>

using namespace std;
int main()
{
    double s,w,p,d,f;
    cout<<"请输入s,w,p的值";
    cin>>s>>w>>p;
   
   
   
    if(s<250)d=0;
    else
        if(250<=s&&s<500)
            d=0.02;
    else
        if(500<=s&&s<1000)
            d=0.05;
    else
        if(1000<=s&&s<2000)
            d=0.08;
    else
        if(2000<=s&&s<3000)
            d=0.1;
    else
        if(3000<=s)
            d=0.15;
   
   
   
    f=p*s*w*d;
    cout<<f;
    return 0;
}
3 回复
#2
午夜小学仔2014-11-14 20:29
因为你检验的时候输入的s的值都小于250………………
#3
stop12042014-11-15 01:54
250<=s<500
语法错误


必须这样写  250<=s && s<500

后面语句也一样
#4
succubus2014-11-15 11:08
1、同2楼
2、设每公里每吨货物的基本运费为p(price的缩写),货物重为w(weight的缩写),距离为s,折扣为d(discount的缩写),则总运费f(freight的缩写)的计算公式为:  
f = p * w * s * (1 - d)
看看你代码里的f=p*s*w*d;
so每次输出都是0。。。
1