방명록
- yard, inch > cm 변환 프로그램 소스 코드2022년 03월 06일 18시 16분 56초에 업로드 된 글입니다.작성자: sooooong_minseok
#include <stdio.h> #include <stdlib.h> double yard_to_cm_converter(void); double inch_to_cm_converter(void); int main(void) { int answer = 0; printf("yard, inch > cm 변환기.\n\n"); printf("입력을 원하는 값을 써 주세요.(1 : yard > cm , 2 : inch > yard) : "); scanf_s("%d", &answer); if (answer == 1) { double ret = 0; ret = yard_to_cm_converter(); printf("%.1lfcm\n", ret); exit(0); } if (answer == 2) { double ret = 0; ret = inch_to_cm_converter(); printf("%.1lf\n", ret); exit(0); } else { printf("1,2 이외의 숫자를 입력 시 강제 종료됩니다."); exit(0); } return 0; } double yard_to_cm_converter(void) { double yard = 0; printf("yard를 입력하세요(cm 변환) : "); scanf_s("%lf", &yard); return yard * 91.44; } double inch_to_cm_converter(void) { double cm = 0; printf("inch를 입력하세요(cm 변환) : "); scanf_s("%lf", &cm); return cm * 2.54; }
함수를 두개 만들었다.
1번 함수는 yard to cm converter
2번 함수는 inch to cm converter 이다.
두 함수는 1또는 2입력으로 선택하여 yart to cm, inch to cm 를 선택할 수 있게 짜봤다.
하면서 부딪친 점은 scanf함수의 활용법이다.
처음 코드를 짤 때는 answer에 대한 scanf 함수를 사용하고
if문 안에 숫자를 입력하고 그 입력한 값을 함수로 전달하고 반환값을 받는 형식으로 코드를 짰다.
이 경우 scanf함수가 if문 안에 또 만들어서인지는 모르겠지만 여러 오류들이 발생했다.
그래서 함수에 전달값을 없애고 함수에 직접 입력값을 저장하고 반환값을 보냈다.
그 결과 정상적으로 코드가 만들어졌다.
또한 <stdlib.h>헤더 파일과 exit()를 이용하여 프로그램 결과물이 모두 출력되면 완전히 프로그램을 종료시키도록 했다.
scanf로 발생하는 오류들은 다양하며 예기치 못한 경우가 많은 것 같다.
물론 아직 프로그램 코드를 짜본 경험이 적어서 일 수도 있지만 특히 scanf를 활용하여 코드를 짤 때는 주의 기울일 필요가 있어보인다.
정리.1 scanf 함수 주의
정리.2 <stdlib.h> 와 exit()
'프로그래밍언어' 카테고리의 다른 글
행렬의 곱셈. (0) 2022.03.05 c언어 배열 요소의 개수 구하기 (0) 2022.03.01 2진법과 16진법, 그리고 10진법. (0) 2022.02.25 2의 보수 정리.(컴퓨터의 음수표현) (0) 2022.02.23 메모리 단위(bit, byte, Kb, Mb, Gb, Tb ) (0) 2022.02.20 다음글이 없습니다.이전글이 없습니다.댓글