모든 정수 및 char 값에 대해 정의되지 않은 기호 오류가 발생합니다. 제발 도와주세요. int x
y
및 z
은 작동하지 않으며 function의 char 값입니다. 이 코드는 컴파일C++ 정의되지 않은 기호 오류
using namespace std;
모든 정수 및 char 값에 대해 정의되지 않은 기호 오류가 발생합니다. 제발 도와주세요. int x
y
및 z
은 작동하지 않으며 function의 char 값입니다. 이 코드는 컴파일C++ 정의되지 않은 기호 오류
using namespace std;
계산 기능에 값을 전달해야합니다. 변수 x, y, z 및 함수는 클래스 외부에서 액세스 할 수 없으며 Calculate 함수의 출력을 얻을 수 있도록 함수에 반환 유형이 필요합니다.
class Calculator
{
public:
int x;
int y;
int z;
char function;
int Calculate(int main_x,int main_y,char main_function)
{
x= main_x;
y=main_y;
function = main_function;
if(function=='+')
{z=x+y; return z;}
else if(function=='-')
{z=x-y; return z;}
else if(function=='*')
{z=x*y; return z;}
else if(function=='/')
{z=x/y; return z;}
else
{cout<<"Wrong Function!!!"; return 0;}
}
};
void main()
{
clrscr();
int main_x,main_y,main_z;
char main_function;
Calculator working;
cout<<"Welcome!"<<endl;
cout<<"Enter your first number:"<<endl;
cin>>x;
cout<<"Enter your function:"<<endl;
cin>>function;
cout<<"Enter your second number:"<<endl;
cin>>y;
main_z = working.Calculate(main_x,main_y,main_function);
cout<<"Your Result is:"<<main_z<<endl;
getch();
}
중 하나를 사용 std::cin
, std::cout
, std::endl
또는 표준 네임 스페이스를 포함 :
#include <iostream>
#include <math.h>
#include <string.h>
using namespace std;
class Calculator
{
public:
int x,y;
float z;
void add()
{
cin>>x;
cin>>y;
z=x+y;
cout<<"The addition is:"<<z<<endl;
}
void substract()
{
cin>>x;
cin>>y;
z=x-y;
cout<<"The substraction is:"<<z<<endl;
}
void multiply()
{
cin>>x;
cin>>y;
z=x*y;
cout<<"The multiplication is:"<<z<<endl;
}
void divide()
{
cin>>x;
cin>>y;
z=x/y;
cout<<"The division is:"<<z<<endl;
}
};
int main()
{
cout<<"Hello User!"<<endl;
char Name[23];
cout<<"Enter your name:";
cin>>Name;
cout<<"Hy "<<Name<<endl;
cout<<"Calculator:"<<endl;
Calculator maths;
cout<<"Enter two numbers to Add:"<<endl;
maths.add();
cout<<"Enter two numbers to Substract:"<<endl;
maths.substract();
cout<<"Enter two numbers to Multiply:"<<endl;
maths.multiply();
cout<<"Enter two numbers to Divide:"<<endl;
maths.divide();
}
당신이 사용할 때마다 당신은 std::
예선 누락 cin
, cout
, 또는 endl
std::cout
, std::cin
및 std::endl
을 사용하거나 using namespace std;
을 파일 시작 부분에 포함하십시오.
@Barmar 코드를 컴파일하려했으나 x, y, z에 오류가 발생하지 않았습니다. –
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <string.h>
class Calculator
{
public:
int x;
int y;
int z;
char function;
void Calculate()
{
if(function=='+')
{z=x+y;}
else if(function=='-')
{z=x-y;}
else if(function=='*')
{z=x*y;}
else if(function=='/')
{z=x/y;}
else
{cout<<"Wrong Function!!!";}
}
};
void main()
{
clrscr();
Calculator working;
cout<<"Welcome!"<<endl;
cout<<"Enter your first number:"<<endl;
cin>>x;
cout<<"Enter your function:"<<endl;
cin>>function;
cout<<"Enter your second number:"<<endl;
cin>>y;
working.Calculate();
cout<<"Your Result is:"<<z<<endl;
getch();
}
오류가오고 당신이 외부에서 클래스 멤버 변수 X, Y, Z에 액세스하려고하기 때문에 주() X는, y는, Z는 선언되지된다.
제대로 작동하려면, x, y, z가 올바른 값을 가져야합니다.이 변수는 가비지 값을가집니다.
코드를 성공적으로 컴파일 한 버전입니다.
#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
class Calculator
{
public:
int x;
int y;
int z;
char function;
void Calculate()
{
if(function=='+')
{z=x+y;}
else if(function=='-')
{z=x-y;}
else if(function=='*')
{z=x*y;}
else if(function=='/')
{z=x/y;}
else
{cout<<"Wrong Function!!!"<<endl;}
}
};
int main()
{
Calculator working;
cout<<"Welcome!"<<endl;
cout<<"Enter your first number:"<<endl;
cin>>working.x;
cout<<"Enter your function:"<<endl;
cin>>working.function;
cout<<"Enter your second number:"<<endl;
cin>>working.y;
working.Calculate();
cout<<"Your Result is:"<<working.z<<endl;
return 0;
}
정확한 오류 메시지를 게시하십시오. 또한'main main'은'main main'이 아니고' '이 아니라''입니다. –
chris
당신이'namespace std;'를 사용하여 누락되었을 가능성이 있습니까? 그렇지 않으면'std ::'한정자가 많이 있습니까? – niklasfi
오류 메시지가'x','y','z'에 관한 것이 확실합니까? 컴파일을 시도 할 때'cin '과'cout'에 대한 오류가 발생합니다. – Barmar