|
1. 달의 이름과 달의 이름을 나타내는 세 문자의 약어, 달의 일수, 몇 월인지 나타내는 수를
포함하는 구조체를 작성하여라.
struct date_tag { char month[10]; char mon[4]; int smon; int wmon; } ;
2. 1번 문제에서 12개의 구조체 배열을 정의하여 윤년이 아닌 해로 초기화시켜라.
struct date_tag date[12] =
{ {"January", "Jan", 31, 1}, {"February", "Feb", 28, 2},
{"March", "Mar", 31, 3}, {"April", "Apr", 30, 4},
{"May", "May", 31, 5}, {"June", "Jun", 30, 6},
{"July", "Jul", 31, 7}, {"August", "Aug", 31, 8},
{"September", "Sep", 30, 9}, {"October", "Oct", 31, 10},
{"November", "Nov", 30, 11}, {"December", "Dec", 31, 12} } ;
3. 1,2번을 이용하여 주어진 달에 대해, 1월부터 그달까지의 총 날 수를 구하는 함수를 작성
하여라.(단, 2,3번 문제에서의 구조체가 외부변수로 선언되어 있다고 가정하여라.)
void total_date(int n)
{
int i, t = 0 ;
for(i=0;i<n;i++) t += date[i].smon ;
printf("1월부터 %d월까지의 총일수는 %d입니다.", n, t) ;
}
4. 3번 문제에서 인수를 달의 이름에 대한 세 문자의 약어로 하여 날수를 구하는 함수를 만들어라.
void total_date(char *s)
{
int i, j, t = 0 ;
for(i=0;i<12;i++)
if(date[0].mon == s[0] && date[1].mon == s[1] && date[2].mon == s[2])
break ;
for(j=0;j<=i;j++) t += date[i].smon ;
printf("1월부터 %d월까지의 총일수는 %d입니다.", n, t) ;
}
질문은 안하셨으면 좋겠군요...
도움이 되시길...
|