double under, over, under1, over1, result;
char exit;
while (1){
printf("분수 계산을 실행하는 프로그램입니다. 분모, 분자를 차례대로 입력해주세요:");
scanf_s("%lf %lf %lf %lf", &under, &over, &under1, &over1);
result = (over / under) + (over1 / under1);
printf("결과값은 %lf 입니다. ", result);
printf("프로그램을 종료하시려면 c를 입력해주세요, 한번 더 계산을 실행하고 싶으시면 c를 제외한 아무키나 눌러주세요");
scanf_s("%c", &exit);
if (exit == 'c'){
break;
}
else
puts("처음으로 돌아갑니다"); {
}
}
실행하면 일단 한번 계산 후
"프로그램을 종료하시려면 c를 입력해주세요, 한번 더 계산을 실행하고 싶으시면 c를 제외한 아무키나 눌러주세요"분수 계산을 실행하는 프로그램입니다. 분모, 분자를 차례대로 입력해주세요:
이런식으로 if문을 안거쳐가고 바로 위로 올라가버리넹.. 뭐가문제야?
scanf_s("%lf %lf %lf %lf", &under;, &over;, &under1;, &over1;);
여기서 숫자 4개를 입력하지?
1.0 2.0 3.0 4.0\n
뒤에 개행도 입력버퍼에 들어감
그래서 scanf_s("%c", &exit;); 여기서 입력버퍼에 있던 개행이 c에 바로 들어온거
해결할려면 scanf_s("%lf %lf %lf %lf\n", &under;, &over;, &under1;, &over1;); 일캐하면 댈듯
왜시발 디시는 역슬레시가 안써지냐
%lf역슬래시n
/artair : 거맙거맙.. 근데 %lfn 이란건 무슨의미인가요?
아 ㅋㅋ 글쓰니까 바로 업뎃됐네 고맙고맙