c++ 구조체를 이용한 복소수 연산 질문입니다.
글쓴이: sisyad / 작성시간: 목, 2017/09/28 - 4:51오후
.
#include <iostream>
#include <math.h>
using namespace std;
struct complex
{
public:
complex( void ) {
real = imag = 0;
}
complex( double x, double y)
{
real = x;
imag = y;
}
public:
double real;
double imag;
};
typedef struct complex complex;
namespace A {
// 덧셈
void add_complex(complex x, complex y) ?
{
complex add; //덧셈 결과를 저장할 변수
add = complex(x.real + y.real, x.imag + y.imag) ;
cout << "복소수의 합= 실수부 : "<< add.real << endl;
cout << "복소수의 합= 허수부 : "<< add.image <<endl;
}
//뺄셈
void sub_complex(complex x, complex y)
{
complex sub;
sub = complex(x.real - y.real, x.imag - y.imag);
cout << "복소수의 뺄셈 = 실수부 : "<< sub.real << endl;
cout << "복소수의 뺄셈= 허수부 : "<< sub.image <<endl;
}
//곱셈
void mult_complex(complex x, complex y)
{
complex mult;
mult=coomplex( (x.real * y.real) - (x.imag * y.imag, ((x.real * y.image) + (x.imag * y.real) ) ;
cout << "복소수의 곱셈 = 실수부 : "<<mult.real << endl;
cout << "복소수의 곱셈= 허수부 : "<<mult.image <<endl;
}
// 나눗셈
void abs_complex(complex x, complex y) {
complex abs;
double conjugates = x.real * y.real + x.imgge * y.imag; // 켤레복소수를 곱한 분모 값
abs= complex(( (x.real * y.real) + (x.imag * y.imag;) ) / conjugates , ( (x.real * y.image) - (x.imag * y.real;) ) / conjugates);
cout << " 복소수의 나눗셈= 실수부 : "<< abs.real <<endl; cout << " 허수부 : " << abs.imag << endl;
}
}
using namespace A;
int main()
{
complex x, y;
cout << "첫 번째 복소수의 실수값: ";
cin >> x.real;
cout << "첫 번째 복소수의 허수값: ";
cin >> x.imag;
cout << "두 번째 복소수의 실수값: ";
cin >> y.real;
cout << "두 번째 복소수의 허수값: ";
cin >> y.imag;
add_complex();
sub_complex();
mult_complex();
abs_complex();
return 0;
}
<\code>
문제가 뭘까요 8ㅅ8 Forums:


1. 무슨 에러가 뜨는지 직접 살펴보세요.
1. 무슨 에러가 뜨는지 직접 살펴보세요.
에러 메시지를 여기에 올리지 않으셨다는 건 그걸 별로 주목하지 않았다는 의미이지요.
에러가 발생했을 때 에러 메시지를 읽고 그게 무슨 의미인지 직접 고민해보지 않으면 늘 제자리걸음일 뿐입니다.
2. 한눈에 봐도 이 부분이 이상하군요.
void add_complex(add_complex x, add_complex x )이런 종류의 실수는 대개 복사-붙여넣기나 찾아바꾸기 기능 따위를 부주의하게 사용했을 때 자주 발생합니다.
그런 기능은 조심해서 쓰세요. 초보자라면 아예 안 쓰는 게 좋고요. 충분히 생각하고 코딩하는 습관을 만드는 데 방해됩니다.
1. 먼저 올렸던 코드 및 질문 내용을 싹
1. 먼저 올리셨던 코드 및 질문 내용을 싹 지워버리시고 새 코드로 덮으셨군요.
답변 드렸던 입장에서 질문의 맥락이 날라가버리는 건 별로 즐거운 경험이 아닙니다.
그러니 이렇게 해 두면 되겠군요: http://archive.is/taZXg
2. 에러 메시지는 여전히 안 올리셨네요. 읽어 보시기는 하셨나요?
3. 여전히 몇 군데 명백한 문제가 있습니다.
coomplex 오타. 게다가 괄호 쌍이 전혀 안 맞습니다.
매개변수 두 개가 필요한 함수들을 매개변수 없이 호출하고 있군요.
그 외에도 문제가 더 있어 보이지만 일단 이 정도만 하겠습니다.
중복 삭제
중복 삭제
backslash code 를 slash code 로
backslash code 를 slash code 로 바꿔 보셔요.
어떤 결과를 기대했는데 어떤 결과가 나왔는지?
컴파일은 되었는데 실행할 때 에러가 나는지?
컴파일 자체가 안 되는지?
에러메시지는 무엇인지?
알려주셔요.
세벌 https://sebuls.blogspot.kr/
댓글 달기