C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel: +82-2-705-8932 Email: swkim01@sogang.ac.kr
Practice 1. 날짜를 입력 받아 그 날이 무슨 요일인지 출력해주는 함수를 작성하시오. 주어진 year, month, day를 입력하여 요일을 구하는 공식은 다음과 같다. 이 결과 값(0 ~ 6)과 일요일, 월요일, …, 토요일사이의 관계를 구한 뒤 프로그램을 작성한다. Enum를 하나의 정수형 변수로 활용할 수 있다. 예를들어, switch, 비교연산, for, while문의 조건 등에 활용 가능하다. 함수의 원형은 다음과 같다. enum Date getDate(int y, int m, int d); // 요일에 해당하는 값을 return char* getDay(enum Date currDate); // currDate에 해당하는 요일의 문자열을 return 이 프로그램의 데이터를 저장하기 위해 다음과 같은 구조체를 구현하시오. (date는 일요일에서 토요일까지의 값을 나타내는 enum 형 변수임) (year + year/4 - year/100 + year/400 + (13 * month + 8) / 5 + day) % 7 struct Calendar{ int year, month, day; // 입력 받은 연도, 월, 일을 저장 enum Date date; // getDate 함수를 통해 얻은 enum Date값을 저장 char* dateString; // getDay 함수를 통해 얻은 값을 저장 };
Practice 1. 입력 : Year, Month, Day 입력 출력 : 입력 받은 날짜에 해당하는 요일 출력 Example)
Practice 2. 자판기에 있는 잔돈을 반환하는 프로그램을 만들어라. 자판기에서 반환해 줘야 할 거스름돈을 입력 받은 후 최소한의 동전을 사용하여 거스름돈을 반환해주는 프로그램이다. 오로지 동전만으로 반환(500,100,50,10원로 총 4가지 경우) 해야 한 다. 예를 들어 1,100원이 거스름 돈일 경우 500원 2개와 100원 한 개로 반환해야 한다. 구조체 를 사용하여 프로그램을 작성한다. 입력 : 거스름돈 출력 : 반환한 잔돈의 개수 (500, 100, 50, 10원에 해당하는 개수를 각각 출력) (Example 참고) Example )
Practice 2. 구조체 내용 struct Change{ int coin500; // 500원 개수 };