진짜 간단한 코딩 질문입니다. (c언어)

조회수 240회

define _CRT_SECURE_NO_WARNINGS

void menu_printf(); double c_f(double a); double f_c(double a);

int main(void) { char menu='a'; double a=0;

for (; menu != 'q';)
{


    menu_printf();
    printf("메뉴에서 선택하세요.");
    scanf("%c", &menu);

    if (menu == 'c')
    {
        printf("화씨온도: ");
        scanf("%lf", &a);
        printf("섭씨온도: %lf\n", c_f(a));
    }

    else if (menu == 'f')
    {
        printf("섭씨온도: ");
        scanf("%lf", &a);
        printf("화씨온도: %lf\n", f_c(a));
    }
    menu = 'a';
}

return 0;

}

void menu_printf() {

printf("'c' 섭씨온도에서 화씨온도로 변환 \n");
printf("'f' 화씨온도에서 섭씨온도로 변환 \n");
printf("'q' 종료\n");

}

double c_f(double a) {

return (9.0 / 5.0) * a + 32, 0;

}

double f_c(double a) {

return (a - 32.0) * 5.0 / 9.0;

}

그대로 실행해보면 처음에는 잘 뜨다가 for 문으로 다시 처음으로 돌아갈때

printf("'c' 섭씨온도에서 화씨온도로 변환 \n");

printf("'f' 화씨온도에서 섭씨온도로 변환 \n");

printf("'q' 종료\n");

가 두번연속으로 출력이 되서 어떻게 수정해야 되나요.. 코딩 처음해서 잘 모르겠습니다 ㅠㅠ

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 버퍼 문제일 가능성이 높아 보이는데 scanf("%c") 하실때 % 앞에 공백 하나 둬서 printf(" %c") 처럼 작성해보세요! 김영진 2023.5.30 15:36

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)