文字出现不止一次

时间:2019-11-25 00:28:22

标签: c++

因此,我正在尝试为我的Science Fair项目设计一个消防系统,而这样做的主要目的之一就是编码。它仍处于早期阶段,但是对于我到目前为止的最终产品而言,代码不必要地重复其本身,而且我不知道如何停止它。这是代码,因此,如果您回答了它,请粘贴固定的代码并告诉我什么地方不对,这样我以后就不会再遇到它了。代码:

#include <fstream>
using namespace std;
int main() {
   int ave = 0;
   int num;
   //begins ave and basic info being collected
   cout << "how many sensors will there be: " << endl;
   cin >> num;

   int sen[num];
   cout << "enter the heat on the sensors in order: " << endl;
   for( int i=0; i<num; i++ ){
      cin >> sen[i];
      ave = ave + sen[i];
   }

   ave = ave / num;
   cout << ave << endl;
   //end of basic info/average
   bool sens[num];
   for( int i=0; i<num; i++ ){
      if( sen[i] + 60 > ave ){
         sens[i] = 1;
      }
   }

   for( int i=0; i<num; i++ )
      if( sens[i] == 1 ){
         cout << "there is a fire at sensor" << sens[i] << endl;
      }
   }
}

1 个答案:

答案 0 :(得分:0)

您没有提供任何错误日志,我们只能猜测出了什么问题,但是我看到一件事,我会解释。


  

C ++标准(直到C ++ 11)不支持可变大小的数组。

您不能使用

cin >> num;
int sen[num];

您可以使用:

cin >> num;
int* sen = new int[num];

此处提供更多信息:link


在您的代码中,将int sen[num];的{​​{1}}更改为
并将int* sen = new int[num];更改为bool sens[num];