#include <stdio.h>
int main(void){
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);
fflush(stdin);
printf("결과값은 %lf 입니다. ", result);
printf("프로그램을 종료하시려면 c를 입력해주세요, 한번 더 계산을 실행하고 싶으시면 c를 제외한 아무키나 눌러주세요");
scanf_s("%c", &exit);
if (exit == 'c')
break;
}
}
if(exit == 'c') 여기서 c를 입력하면 while 박차고 나가도록 만든건 맞지? 근데 왜 안나가지냐;;
고쳐야 할 부분 두 가지. 1) 실수를 printf로 출력할 때는 float든 double이든 관계없이 모두 %f로 출력할 것.
다시 말해 "결과값은 %lf 입니다."가 아니라 "결과값은 %f 입니다."로 고쳐야 하고.
2) fflush(stdin);은 쓰지 말 것. 대신 두번째 scanf_s("%c", &exit;); 대신에 scanf_s(" %c", &exit;); 으로 앞에 띄어쓰기를 넣어서 고쳐볼 것.
한칸 띄우니까 if문까지 무사히 도착하긴하는데.. c를 누르면 break로 나가야하는데 루프를 다시 도네요.. 왜이러는거죠?