首页 > 解决方案 > 我需要解决什么问题?C++

问题描述

问题如下:

给定整数提供的勺子,输出:

如果勺子数量大于 38 且小于或等于 55,则为“满箱”。

如果勺子的数量大于 103 且小于 115,则为“Jumbo bin”。

否则“运输效率不高”。

我有以下代码:

#include <iostream>

using namespace std;

int main() {

   int suppliedSpoons;

   cin >> suppliedSpoons;  
   
   if((suppliedSpoons > 38) && (suppliedSpoons <= 55)){
     
 cout << "Full bin\n";
   
}
 
  if((suppliedSpoons > 103) && (suppliedSpoons < 115)){
 
     cout << "Jumbo bin\n";

   }

   else{

      cout << "Not efficient to ship\n";

   }

   return 0;

}

当supperantly 的值落在第一个if 语句中时,当测试产生时,它会产生“Full bin”,但它也会产生“Not effecient to ship”。我该怎么做才能使它只产生“满箱”?

标签: c++

解决方案


您需要添加else if而不是if第二次。像这样

#include <iostream>

using namespace std;

int main() {

   int suppliedSpoons;

   cin >> suppliedSpoons;  
   
   if((suppliedSpoons > 38) && (suppliedSpoons <= 55)){
     
 cout << "Full bin\n";
   
}
 
  else if((suppliedSpoons > 103) && (suppliedSpoons < 115)){
 
     cout << "Jumbo bin\n";

   }

   else{

      cout << "Not efficient to ship\n";

   }

   return 0;

}

推荐阅读