Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2011, 16:48   #1
Nadinka______
 
Регистрация: 07.09.2011
Сообщений: 4
По умолчанию [C++]Класс дата

Создать класс типа - дата с полями: день (1-31), месяц (1-12), год(целое число).Класс имеет конструктор:с параметрами, без параметров,копирования; деструктор; функции-члены получения дня,месяца и года,а также две функции-члены печати по шаблону: "5 января 1997 года" и "05.01.1997"; функции-члены должны проверять корректность задаваемых параметров.

Вот мой код
Код:
#include "stdafx.h"
#include <iostream>
#include <string>
 
class Date 
{
public:
        Date(int d = 0, int m = 0, int y = 0) 
		{
                setDate(d, m, y);
				std::cout<<"Constructor"<<std::endl;
        }
 
        Date(const Date &date) 
		{
                setDate(date.day, date.month, date.year);
				std::cout<<"Constructor copy"<<std::endl;
        }

		~Date()
		{
			
		}
 
        int getDay() const 
		{
                return day;
        }
 
        int getMonth() const 
		{
                return month;
        }
 
        int getYear() const 
		{
                return year;
        }
 
        void setDay(int day) 
		{
                this->day = day;
        }
 
        void setMonth(int month) 
		{
                this->month = month;
        }
 
        void setYear(int year) 
		{
                this->year = year;
        }
 
        void setDate(int day, int month, int year) 
		{
                if (isValidDate(day, month, year)) 
				{
                        setDay(day);
                        setMonth(month);
                        setYear(year);
                }
                else {
                        throw std::string("Not valid date");
                }
        }
 
        void print() const 
		{
                        std::cout << day << '.'
                                  << month << '.'
                                  << year << std::endl;
        }

	void print1() const 
		{
		
	
	}
			            
 
        static bool isValidDate(int day, int month, int year) 
		{
                if ((day<1 || day>31) || (month<1 || month>12))
				{
					std::cout<<"Not valid date"<<std::endl;
				}
				return true;
        }
 
        static bool isLeapYear(int year) 
		{

               return ((year % 4 == 0 && year% 100 != 0) || year % 400);
            
        }
 
        static int dayInMonth(int month) 
		{
                  int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};
                  if(isLeapYear)days[1]=29;
                  return days[month-1];
		}

 
private:
        int day;
        int month;
        int year;
};
 
int main() 
{
	    Date d1(5, 1, 1997);
        d1.print();
 
        Date d2 = d1;
        d2.setDay(6);
        d2.print();
		

		Date d3(d2);
        d3.print1();
		system ("pause");
        return 0;
        
}
Помогите мне с функцией print1 печати по шаблону
Nadinka______ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
класс "Дата" Alexander1205 Общие вопросы C/C++ 3 03.06.2011 12:14
Дата введённая "ручками" и дата полученная по ссылке kzld Microsoft Office Excel 0 06.05.2011 14:45
Вычитание дат(дата-дата=кол.дней) zallza Общие вопросы Delphi 1 31.05.2010 22:50
Класс "Дата" С++ Straiker Помощь студентам 0 16.05.2010 15:47
Дата Конечная (ДД.ММ.ГГГГ) - Дата Начальная (ДД.ММ.ГГГГ) = Количество Месяцев stanislav24 Microsoft Office Excel 5 20.12.2008 10:36