모두의 코드
모두의 코드

총 42 개의 강의로 준비된 씹어먹는 C 언어 강좌를 통해 C 언어의 처음부터 끝까지 배우실 수 있습니다! 특히 악명 높은 C 언어의 포인터나, 어려운 개념들을 충실히 짚고 넘어갑니다.

이 강좌는 2010년에 완결되었지만, 지속적으로 개선 및 보완하고 있습니다.

C 언어 문법을 아시는 분들이라면, 씹어먹는 C++ 강좌를 통해 C++ 기초 부터 최근의 C++ 17 까지 모든 내용을 배우실 수 있습니다. C 언어와 C++ 의 기본적인 문법이 비슷하기 때문에, C 언어를 어느 정도 아는 독자를 가정하여 쓰여져 있습니다.

이 강좌는 2020년에 완결되었고 총 50 개의 강좌가 준비되어 있습니다.

사이트 내에서 검색 하기
C 언어 레퍼런스
표준 입출력 라이브러리 stdio.h
문자열 관련 라이브러리 string.h
시간 관련 라이브러리 time.h
C ++ 레퍼런스
문자열 라이브러리 string
알고리즘 라이브러리 algorithm
최근 댓글
#include <iostream> class Date { int year_; int month_; // 1 부터 12 까지. int day_; // 1 부터 31 까지. public: void SetDate(int year, int month, int date) { // 12달 과 평년, 윤년의 일수 int const max_mon = 12; int const max_day_normal[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; int const max_day_extra[12] = {31,29,31,30,31,30,31,31,30,31,30,31}; year_=year; month_=month; day_=date; // 12달 초과시 년 증가 int inc_year = month_ / max_mon; year_ += inc_year; month_ %= max_mon; // 달별로 일수 제한 확인 후 일,달,년 증가 while(1) { if((day_ > max_day_normal[month_-1]) && (year_ % 4 != 0)) { day_ -= max_day_normal[month_-1]; month_++; if(month_ > 12) { month_ = 1; year_++; } } else if ((day_ > max_day_extra[month_-1]) && (year_ % 4 == 0)) { day_ -= max_day_extra[month_-1]; month_++; if(month_ > 12) { month_ = 1; year_++; } } else { break; } } } void AddDay(int inc) { day_+=inc; SetDate(year_, month_, day_); } void AddMonth(int inc) { month_+=inc; SetDate(year_, month_, day_); } void AddYear(int inc) { year_+=inc; SetDate(year_, month_, day_); } void ShowDate() { std::cout << std::endl << "Date" << std:: endl; std::cout << month_ << "-" << day_ << "-" << year_ << std::endl << std::endl; } }; int main() { Date date; int exit = 1; int month, day, year, menu, input; // 초기 날짜 설정 std::cout << "초기 날짜 설정" << std::endl; std::cout << "year : "; std::cin >> year; std::cout << "month : "; std::cin >> month; std::cout << "day : "; std::cin >> day; date.SetDate(year,month,day); date.ShowDate(); // 메뉴 while(exit) { std::cout << "1. add year" << std::endl; std::cout << "2. add month" << std::endl; std::cout << "3. add day" << std::endl; std::cout << "anything else. exit" << std::endl; std::cin >> menu; switch(menu) { default: exit=0; break; case 1: std::cout << "year : "; std::cin >> input; date.AddYear(input); date.ShowDate(); break; case 2: std::cout << "month : "; std::cin >> input; date.AddMonth(input); date.ShowDate(); break; case 3: std::cout << "day : "; std::cin >> input; date.AddDay(input); date.ShowDate(); break; } } }
Jungho Song 08.17