因此,我正在尝试为我的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;
}
}
}
答案 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];