현재 C언어를 배우기시작한 초짜인데요...
엔터값을받으면 다음화면출력 그다음엔터하면 다음출력 방식을하려는데..
제딴에 열심히 생각해서
char a;
printf("출력내용 넘어가려면 enter");
scanf("%c",&a);
if (a == '\n'){
a=0;
출력내용
scanf("%c",&a);
if(a =='\n')
....
}
이러한 방식으로했는데 정작 실행하면
엔터한번만 눌렀는데 다음엔터값을 받지않았는데도 엔터키를 다받은것처럼 한번에 다 나와버리네요..
인터넷을찾아보니 엔터를치면서 그엔터값이 남아서
fflush(stdin) 을쓰라는데 역시 효과가없네요
조언을받아서 아스키값인
a = 13방식으로해봤는데도 마찬가집니다 ㅠㅠ
현재 프로그램환경은 visual 2015입니다 ㅠ
내 경험상 vs2015면 fflush(stdin);이 효과가 없음
그럼 해결방법은없나요? 허..ㄹ
while(getchar() != '\n'); 을 대신 쓰셈
역슬래시n
오오 처음에 엔터 두번눌러야한다는거 빼곤 해결됐네요 정말감사합니다 ㅠㅠㅠㅠ
? 어디다 적었길래 엔터를 두번 누름?
scanf 담줄에 적으셈
scanf("%c", &a); while (getchar() != '\n');
했는데 처음에 엔터 두번눌러야 작동하네요.. 나머진 한번만해도되는데
저 소스에서 scanf 2번하니 엔터 두번 받아야되는게 맞는데 두번 받는게 의도랑 다른거임?
ㄴㄴ 제말은 맨처음에는 엔터 2번해야 넘어가지고 나머지는 한번만해도 넘어가져서요...
그래서 첫엔터입력받는부분에선 scanf를 없애니 한번만 엔터누르면 넘어가지긴하는데 왜그런진 저도모르겠어요//
http://colorscripter.com/
에다 전체 코드 적고 복사해서 글 새로 써서 올려보세요
심심한데 도와드림
공개적으로 코드올리기엔 뭔가 좀 그런데 ㅠㅠㅠ 으 어쩌지..
아님 codepad.org에 private 체크해서 올리고 주소 여기 적어주셈 보면 댓달테니 지우시고
지우셈 ㄱㄱ
처음에 while(getchar() != '\n');은 왜하는거임
while문에 ;붙이면 그 밑에 {}해둔거 의미 없어짐
원래 scanf 넣어놨었는데 그러면 엔터 2번해야되서 scanf를 뺴니까 1번만눌러도 넘어가지더라구영..
scanf후 while(getchar() != '어쩌고');후 while(1) 하셔야될듯
아 착각함 저 while문 밑에 while(1) 쓰세요
ㅇㅎ !
printf("시작(enter)"); 다음엔 엔터받는거니 굳이 scanf 쓸필요없네욤
scanf("%c", &a); while (getchar() != '\n'); while (1) 이렇게하는게 맞나요?
그렇군요
아 ㄴㄴㄴㄴ getchar 첫번째 쓰는건 while 돌릴필요 없고 걍 getchar(); 쓰심 됨
아뇨 getchar(); while(1) { 내용} 여
아무 값 입력받을 필요 없이 엔터만 받으실거면 getchar(); 하나 쓰심됨
그러면 getchar(); while(1) 이거로 전부 바꾸면되나요???
while(1)을 쓴 이유가 캐릭터 선택하는 저 부분이 여러번 실행되는 코드같아서 쓴건데 한번 실행되고 끝나는 코드면 그냥 while(1)이랑 { } 지우시면 되고
getchar 로 바꾸니까 갑자기 캐릭터고르는부분에서 아무것도안뜨네요...
밑부분에 user_hp 바로 윗줄에서도 그냥 엔터만 받는거같은데 저리 하지 마시고 getchar(); while(user_hp ~~){} 이런식으로 쓰세요
그냥 한번만 진행하면되는 코드에요!
다시드림 잠만
오 완벽하게 해결됐네요 ㅠㅠ 정말감사합니다...물어볼사람이 없어서...
ㅅㄱ염
혹시 그... 이러한 턴제게임을 하다보면 방향키로 메뉴 선택해서 엔터키로 그 항목을 고르는방법은 어캐하는지 알려주실수있나요...?
getch같은 함수로 키 입력 받거나 GetAsyncKeyState함수로 눌린거 체크해서 하심됨
>> 1. 공격 2.회피 3.공격 방향키 우클릭하면 바로 1.공격 >>2.회피 3.공격 이되는...
getch는 해보니 안되네요 후자로 해야될듯
while (1) { if (GetAsyncKeyState(VK_LEFT) & 0x8000) printf("왼쪽누름\n"); if(GetAsyncKeyState(VK_RIGHT) & 0x8000) printf("오른쪽누름\n"); Sleep(200); }
이런식으로여 잘 해보세요
이만 자러감
흠 방향키 인식은 된거같은데 >>> 화살표로 어느메뉴를 가리키고있는지 방향키누를때마다 바로바로바뀌는건 어캐하나요??
헠... 넵 아무튼 감사했습니다! ㅠㅠ 굿잠하세요!