게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c++ 기초적인 질문 하나만 드려도 될까요?
게시물ID : programmer_22207짧은주소 복사하기
작성자 : 안양흔남
추천 : 0
조회수 : 587회
댓글수 : 4개
등록시간 : 2018/03/20 22:51:37
옵션
  • 본인삭제금지
플밍수업을 듣는중인데 오늘 수업때 실습한거 다른식으로 한번해보려고 열심히 짜보고 잇는데

막혀버리네요 ㅠㅠ

#include <iostream>
using namespace std;
int sum(int x,int y);
int sub(int x,int y);
int mult(int x,int y);
float idiv(int x,int y);
int input();
int main() {
int a=input();
int b=input();
cout<<"x+y="<<sum(a,b)<<"\n"<<"x-y="<<sub(a,b)<<"\n"<<"x*y="<<mult(a,b)<<"\n"<<"x/y="<<idiv(a,b)<<endl;
return 0;
}
int sum(int x,int y) {
int temp = x+y;
return temp;
}
int sub(int x,int y) {
int temp = x-y;
return temp;
}
int mult(int x,int y) {
int temp = x*y;
return temp;
}
float idiv(int x,int y) {
float temp = float(x)/y;
return temp;
}
int input() {
int a,b;
cout<<"첫번쨰 숫자를 입력해주세요:";
cin>>a;
cout<<"두번째 숫자를 입력해주세요:";
cin>>b;
return 
}

변수2개를 입력받아서 사칙연산을 출력해주는걸 짜봣는데 문제가 제일 밑에 변수 입력받는부분을

b를 없애고 a만 받으면 a가 2번받아지면서 정상출력 되는건 알고 잇는데 그렇게 하면 첫번째 숫자,두번쨰 숫자 입력하라는 안내문을

따로따로 출력할수가 없어서 저렇게 짜봣는데 return에서 막히네요

return a,b; 이렇게 하면 변수입력창이 4번이 뜹니다 ( 안내문도4번 , 첫번쨰,두번쨰,첫번쨰,두번쨰 이런식으로 )

return a,b; 이렇게 하면 안되는걸 알고는 잇는데 return 을 2번 받을수도 없는거고 해결법이 안떠오르네요

input 선언문안에서 변수를 여러개 받을수 잇는 방법은 없을까요? 
전체 추천리스트 보기
2018-03-21 00:00:41추천 0
혹시 포인터를 배우셨나요?
void input(int* a, int* b){...
}
이런식으로 한 후 *a, *b에 입력받은 값을 넣으면 됩니다.
댓글 0개 ▲
2018-03-21 00:06:27추천 0
포인터는 아직안배웟어요 지금 제가 계속 해보고잇엇는데

input 하나에 a,b 다 넣을필요가없고 input1,input2 따로 만들어서 각각 a,b 를 배정해주면 되는거엿네요 ㅠㅠ

이거 하나에 3시간동안 헤매고 잇엇는데 바본가봐요 ㅠㅠ
댓글 1개 ▲
2018-03-21 11:11:00추천 0
input을 굳이 두개 따로 나눠야 하나요?
int input() {
 int a;
 cout<<"숫자를 입력해주세요:";
 cin>>a;
 return a;
}
이 함수를 두번 호출해도 될텐데요.
2018-03-23 15:46:54추천 0
몇 가지 방법이 있지요.
1. 리턴 대신 전역 변수에 저장한다.
2. 구조체를 만들어 리턴한다.
3. 포인터 argument에 대입한다.

C++은 1번이 적당합니다. 단 전역 변수가  아니라 input 담당 클래스를 만들고 멤버 변수에 기록합니다.
댓글 0개 ▲
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호