cin >> number는 공백과 개행을 구분하지 않고 그대로 무시해버리기 때문에 이 방법으로는 줄을 구분할 수 없습니다.
한 줄을 통째로 입력받은 뒤 토큰을 분리하거나, cin.get으로 개행이 들어오는지 체크해보세요.
11024번 - 더하기 4
이해가 잘 안가는데요 ㅠ 토큰은 뭐고 cin.get은 어떻게 쓸 수 있는건가요?
number에 ' ' 또는 '\n'이 들어오면 break가 되게 하였는데 이걸로는 왜 안되나요?
사용자가 엔터를 입력하면 '\n'이 입력되는 것 맞나요??
아래 코드는 왜 안되는 것일까요? cin이 개행을 무시한다하여 getline을 써봤습니다. getline은 개행을 전부 다 포함한다길래...
그래서 데이터를 전부 받아서 \n이 나오기 이전까지의 숫자들을 합하여 더하는 방식을 써봤습니다
아 그렇군요. 검색해보니 cin.get()은 char 하나를 받을 수 있다는데 그럼 숫자가 두자리가 넘어가는 경우는 어떻게 처리를 해야할까요?
입력의 각 줄이 '\n'으로 구분되는 것 맞나요?? 지금 이 코드를 돌리니 무한루프에 빠지더라고요. F10으로 하나씩 따라가봤더니 if (number[i] == '\n' ) 이 줄을 들리지를 않네요 ㅠ
으아 이게 눈에 보이는 것이 아니다보니 개념 정립이 어렵네요;; 개행 문자로 구분 할 수 없어서, 문자열의 길이만큼 반복을해서 숫자를 더하게 했습니다. vs와 ideone에는 잘 돌아가는데 정답은 아니네요
djm03178 //죄송합니다 그냥 머리가 멍하네요 뭘 어떤 기준을 잡아서 substr으로 잘라야할지도 모르겠고;;
jaehoo1 //감사합니다 c++ 배운후로 cin과 cout에 썼더니 scanf는 안쓰게 되었는데, 성능면에서는 scanf가 더 좋은 것 같더라고요 더 많은 분들이 쓰는 느낌..
djm03178 //감사합니다 substr은 첨봤네요.. 혹시 죄송하지만 cin.get()으로 어떻게 코드 짤 수 있는지 보여주실 수 있나요..? 다른 분들 코드는 다 scanf 를 이용했네요
djm03178// 감사합니다!!
댓글을 작성하려면 로그인해야 합니다.
injoon2018 5년 전
9퍼에서 끊기네요
왜 오류가 나는 것일까요??
파일 입력의 개행 구분을 '\n'으로 하나요?