请帮我看看为什么我的dev c ++没有编译我的程序
#include <windows.h>
#include <iostream.h>
int main()
{
using namespace std;
cout << "Hello There please input A number" << endl;
int number;
cin >> number;
if( number >= 2 && number <= 2 )
{
cout << "You have input the wrong number haha" << endl;
}
else
{
cout << "Wow how'd you guessed it?" << endl;
}
system("PAUSE>NUL");
return 23;
}
答案 0 :(得分:3)
接受并编译它给了我一个简单的错误:
fatal error: iostream.h: No such file or directory
这是不言自明的。原因是<iostream>
没有扩展名或.h
等效名称。将行更改为:
#include <iostream>
证明它编译(不包括以下几点,但删除与ideone无关的内容):http://ideone.com/WIDjR
除此之外:
您不需要windows.h
。 system
是cstdlib
的一部分。
using namespace std;
通常比坏事更糟糕。建议坚持std::cout
等。main
内部并不是最糟糕的地方,但不是一个很好的习惯。
if( number >= 2 && number <= 2 )
是写入和执行中的逻辑错误。更简单的形式是if (number == 2)
,但根据您的输出,正确的形式将是if (number != 2)
,以免除2以外的每个数字都是正确的猜测。
system ("PAUSE")
很糟糕。您不知道pause.exe
是否会这样做,或者它是否会存在。有人可能有一个pause.exe
格式化他们的硬盘驱动器,你应该责怪执行它。使用cin.get()
的形式,或者,如果您的编译器实现它以清除输入缓冲区cin.sync(); cin.get();
以获得一致的行为。请注意cin.sync()
的行为无法保证。
您的程序应该从正常退出返回0。其他任何事情都意味着发生了错误。如果您未指定返回值,则main中的return 0;
是隐式的。