I know its simple code, How do I fix "System not declared in scope" problem?
#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;
}
Heres my end message:
C:\Documents and Settings\Nilo\My Documents\Work\Testing\main.cpp||In function 'int main()':| C:\Documents and Settings\Nilo\My Documents\Work\Testing\main.cpp|8|error: 'system' was not declared in this scope||
|=== Build finished: 1 errors, 0 warnings ===|
To resolve this error, a first method that is helpful would be declaring the function prototype before the main() method. So, we have used the function prototype before the main method in the updated code. When we have compiled the code, it throws no exceptions and runs properly.
As from the name we can understand that when the compiler of Arduino IDE is unable to recognize any variable or is unable to process any loop or any instruction having any undeclared variable so it gives the error “not declared in this scope”, which means that code is unable to understand the instruction given in the ...
Printf() is defined in the stdio. h and implemented in the libc library. Older versions of C did not require a declaration before calling a function.
You need to add:
#include <cstdlib>
in order for the compiler to see the prototype for system()
.
Chances are that you've not included the header file that declares system()
.
In order to be able to compile C++ code that uses functions which you don't (manually) declare yourself, you have to pull in the declarations. These declarations are normally stored in so-called header files that you pull into the current translation unit using the #include
preprocessor directive. As the code does not #include
the header file in which system()
is declared, the compilation fails.
To fix this issue, find out which header file provides you with the declaration of system()
and include that. As mentioned in several other answers, you most likely want to add #include <cstdlib>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With