잡담/문답 C++ 할 줄 아시는분!

페이지 정보

본문

요번주에 표준 입출력문 배우면서 숙제로 받은건데 말이지요.
//////////////////////////////////
{
 char name[10], pyung[10];
 int age;
 double weight, height;
 //입력
 printf("이름:");
 gets(name);
 printf("나이:");
 scanf("%d", &age);
 printf("키:");
 scanf("%lf", &height);
 printf("몸무게:");
 scanf("%lf", &weight);
 printf("평점:");
 gets(pyung);
 //아래부터 출력
 printf("신상명세서\n");
 printf("이름:%s\n", name);
 printf("나이:%d\n", age);
 printf("키:%.2fcm\n", height);
 printf("몸무게:%.2fkg\n", weight);
 printf("평점:%c", pyung);
}
//////////////////////////////////
 printf("평점:");
 gets(pyung);
'')이부분도 입력을 해야 하는데 몸무게까지 입력한 다음 엔터를 누르면 평점 입력하는게 나와야되는데 그냥 넘어가고 출력하는 부분이 나와버리네요;;
gets 사용이 잘못된건가요 ~_~
그리고 이쁘게 줄일 수 있는 부분도 좀 지적해주세요~초보는 힘들어 TT


You idiot!

추천0

댓글목록

profile_image

슈퍼사마님의 댓글

슈퍼사마이름으로 검색 아이피 (210.♡.75.131) 작성일

아마도 두번째 gets 쓰기 전에 버퍼를 비우는 명령어를 써야 할겁니다..
안 그러면 두번째 gets 에 읽어들이고 남은 버퍼에 있는 게 나온다는...
근데 그 명령어를 제가 모름..ㅠㅠ

profile_image

슈퍼사마님의 댓글의 댓글

슈퍼사마이름으로 검색 아이피 (210.♡.75.131) 작성일

아.. 네이버 지식in에 나와있네요..

  fflush(stdin); // 입력버퍼를 비웁니다.

profile_image

^6Scirus님의 댓글

no_profile ^6Scirus쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 아이피 (218.♡.100.19) 작성일

c만 알아서 죄송

profile_image

HEN.KS_kr님의 댓글

HEN.KS_kr이름으로 검색 아이피 (61.♡.234.222) 작성일

cin, cout 을 사용하세요.

profile_image

Revi님의 댓글

Revi이름으로 검색 아이피 (211.♡.154.106) 작성일

이거 c++가 아니라 c인데요..

profile_image
profile_image

gom님의 댓글

gom이름으로 검색 아이피 (211.♡.204.173) 작성일

초반의 gets에서의 입력은 아마도 제대로 되고 후반부의 gets에서 에러가 날듯하네여. 아마도
gets는 버러안에서 \n(뉴라인)까지 읽어들여 실행하는 부분이 되는데. 초반의 gets는 어떤 키보드 입력 전까지는 버퍼에 어떠한 것도 입력되어 있지 않다가 키보드를 치고 엔터를
치는순가 gets는 엔터친것까지 읽어들이게 되죠. 후반부의 gets는 평점 앞에서 scanf로 엔터를 눌러 입력할때 버퍼안에 엔터가 자동으로 들어가버려서 scanf뒤에 gets가 오게 되면
제대로 실행이 되지 않습니다. 그래서 일반적으로는 fflush로 버퍼를 지우고 gets를 쓰게 되는데 ....gets는 그다지 입력에 제한도 많고 문제가 많으니 scanf로 하시는게 좋으실겁니다.

profile_image

gom님의 댓글

gom이름으로 검색 아이피 (211.♡.204.173) 작성일

gets(pyung); -> scanf("%s",pyung); 으로 바꾸시면 아마도? 제대로 될겁니다. c,c++언어를 안한지 몇년되었고, vc가 안깔려 있어 확인은 못해보네여 :D
물론 name 도
scanf("%s",name); 으로 바꾸시는게 좋을듯하네요, gets(pyung); -> scanf("%s",pyung); 으로 바꾸시면 아마도? 제대로 될겁니다. c,c++언어를 안한지 몇년되었고, vc가 안깔려 있어 확인은 못해보네여 :D
물론 name 도
scanf("%s",name); 으로 바꾸시는게 좋을듯하네요,

profile_image

Wm_Terrious님의 댓글

no_profile Wm_Terrious쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 아이피 (220.♡.13.240) 작성일

음 초딩6때 c++ 배웠는데 1년지난 지금 다 까먹었음 -_-

profile_image

노가리님의 댓글

no_profile 노가리쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (210.♡.168.201) 작성일

scanf 로 받아들인 값 변수에 저장하려면 변수 이름 앞에 & 붙이지 않아요?

profile_image

gom님의 댓글

gom이름으로 검색 아이피 (211.♡.204.173) 작성일

배열에 관해 아직 안배우셨나보군요 char name[10] <-- 이런걸 배열이라고 하고 배열은 scanf에서 안붙여도됩니다 .설명하려면 몇페이지 해도 모자르니 천천히 차례로 공부하시다보면 알게 되실겁니다.

profile_image

Revi님의 댓글

Revi이름으로 검색 아이피 (61.♡.201.117) 작성일

간단히 설명하면 배열의 이름은 포인터랍니다~

Total 24,568건 482 페이지
Return to Castle Wolfenstein - Enemy Territory 목록
번호 제목 글쓴이 조회 추천 날짜
17353 잡담/문답 no_profile ^NH^0EN^N.F^0irst^nN^0ame^1'^0Z쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2760 0 09-24
17352 잡담/문답 no_profile ^NH^0EN^N.F^0irst^nN^0ame^1'^0Z쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2047 0 09-24
열람중 잡담/문답 no_profile ^HBTG^2'^0|^1r^0*^7S^$Ky쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 2654 0 09-24
17350 잡담/문답
소샬 -_- 댓글1
sg이름으로 검색 2435 0 09-24
17349 스크린샷 no_profile SLA팀 SchauKeL쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 3121 0 09-24
17348 잡담/문답 ^1style이름으로 검색 2187 0 09-24
17347 잡담/문답 no_profile ^HBTG^2'^0|^1r^0*^7S^$Ky쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 2810 0 09-24
17346 잡담/문답 피리소녀이름으로 검색 2015 0 09-24
17345 잡담/문답 no_profile ^-DcInside쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 2208 0 09-24
17344 잡담/문답
많이 댓글1
no_profile Wm_Terrious쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2216 0 09-24
17343 잡담/문답 no_profile ^}Atz^1' ^4M^7ARIN^1* ^4[ ^0AT^9&^2ulsaN^4]쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2751 0 09-24
17342 잡담/문답 no_profile ^0Wm^7< ^0DoJE^2*^7/쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 4444 0 09-24
17341 잡담/문답 [VF4]담공자이름으로 검색 2058 0 09-23
17340 잡담/문답
흐흣 댓글9
no_profile ^3Runa쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2348 0 09-23
17339 잡담/문답
궤변 댓글6
no_profile NoisyWalker쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 4222 0 09-23

검색