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/
댓글 달기