Ответ 1
Вам нужно добавить:
#include <cstdlib>
чтобы компилятор мог увидеть прототип для system()
.
Я знаю его простой код. Как исправить проблему "System not declaration in scope"?
#include<iostream>
using namespace std;
int main(void)
{
system ( "TITLE Calculator" );
system ( "COLOR 2" );
char cChar;
double dfirstnumber;
double dsecondnumber;
char cDoagain;
do
{
system("CLS");
cout << "Please enter the first number you would like to use."<< endl;
cin >> dfirstnumber;
cout<< "Please enter the operation you would like to perform." << " (+,-,*,or /)" << endl;
cin >> cChar;
cout<< "Please enter the second number you would like to use." << endl;
cin >> dsecondnumber;
switch (cChar)
{
case '+':
cout << "The answer is: " << dfirstnumber << "+" << dsecondnumber << "=" <<
(dfirstnumber + dsecondnumber) << endl;
break;
case '-':
cout << "The answer is: " << dfirstnumber << "-" << dsecondnumber << "=" <<
(dfirstnumber - dsecondnumber) << endl;
break;
case '*':
cout << "The answer is: " << dfirstnumber << "*" << dsecondnumber << "=" <<
(dfirstnumber * dsecondnumber) << endl;
break;
case 'x':
cout << "The answer is: " << dfirstnumber << "x" << dsecondnumber << "=" <<
(dfirstnumber * dsecondnumber) << endl;
break;
case 'X':
cout << "The answer is: " << dfirstnumber << "X" << dsecondnumber << "=" <<
(dfirstnumber * dsecondnumber) << endl;
break;
case '/':
if(dsecondnumber == 0){
cout<< "That is an invalid operation." << endl;}
else{
cout << "The answer is: " << dfirstnumber << "/" << dsecondnumber << "=" <<
(dfirstnumber / dsecondnumber) << endl;
}
break;
default:
cout << "That is an invalid operation." << endl;
break;
}
cout << "Would you like to start again? (Y/N)" << endl;
cin >> cDoagain;
}while (cDoagain == 'Y' or cDoagain == 'y');
system("PAUSE");
return 0;
}
Вот мое окончательное сообщение:
C:\Documents and Settings\Nilo\Мои документы \Work\Testing\main.cpp || In function 'int main()': | C:\Documents and Settings\Nilo\My Документы \Work\Testing\main.cpp | 8 | error: 'system' не была объявлена в этот объем ||
| === Сборка завершена: 1 ошибка, 0 предупреждений === |
Вам нужно добавить:
#include <cstdlib>
чтобы компилятор мог увидеть прототип для system()
.
Скорее всего, вы не включили заголовочный файл, объявляющий system()
.
Чтобы иметь возможность компилировать код на С++, который использует функции, которые вы не выполняете (вручную), объявляете себя, вам нужно вытащить объявления. Эти декларации обычно хранятся в так называемых заголовочных файлах, которые вы втягиваете в текущий блок перевода, используя директиву #include
препроцессора. Поскольку код не #include
, заголовочный файл, в котором объявлен system()
, компиляция не выполняется.
Чтобы устранить эту проблему, выясните, какой файл заголовка предоставляет вам объявление system()
и включайте это. Как уже упоминалось в нескольких других ответах, вы, скорее всего, захотите добавить #include <cstdlib>