Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
KotKot
1

Простейшие классы

11.12.2011, 22:19. Показов 1054. Ответов 2
Метки нет (Все метки)

Пожалуйста помогите решить:

Составить описание класса для представления даты.
Предусмотреть возможности установки даты и изменения ее отдельных полей (год, месяц, день) с проверкой допустимости вводимых значений. В случае недопустимых значений выбрасываются исключения.
Создать методы изменения даты на заданное количество дней, месяцев и лет.
Написать программу, демонстрирующую все разработанные элементы класса.
Создать дочерний класс, определяющий по дате день недели.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2011, 22:19
Ответы с готовыми решениями:

Простейшие классы и объекты: автобусы, маршруты
Bus: Фамилия и инициалы водителя, Номер автобуса, Номер маршрута, Марка, Год начала эксплуатации,...

Непонятна тема (Классы содержащие другие классы, как данные члены )
Изучаю книгу Джесс Либерти(в частности эту главу в данный момент) #include <iostream> class...

Простейшие C++
1. Пользователь вводит 5 чисел. Если все числа нечётные, то программа выводит слово “YES”, иначе...

Программа по классам, которая использует классы точек и прямых на плоскости, а, возможно, и другие классы
Нужно написать программу, которая использует классы точек и прямых на плоскости, а, возможно, и...

2
3 / 3 / 1
Регистрация: 08.10.2011
Сообщений: 45
11.12.2011, 22:45 2
Лучший ответ Сообщение было отмечено как решение

Решение

давно что -то подобное делала, вот смотри может поможет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
// m_date.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "date.h"
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <stdio.h>
#include <ctime>
#include <conio.h>
using namespace std;
 
int _tmain()
{
        cout<<"Viberite funkc\n";
        cout<<" 1. Vvod dati\n";
        cout<<" 2. Vivod\n";
        cout<<" 0. Vihod\n";
        cout<<" 3. N-aja data\n";
        cout<<"4. Sravnenie year\n";
        int nom;
        cin>>nom;
        switch (nom)
        {
        case 0: exit(0);
        case 1: {date d; d.vvod(); break;}
        case 2: {date d; d.vvod(); d.vivod(); break;}
        case 3: {date d; d.n_date(); break;}
        case 4: {const int n=3;
                date mas[n];
                                // date* mas = new date [n];
                 int v; int i;
                 cout<<"\nVvedite year v= ";
                                 cin>>v;
                       for (i=0; i<n; i++)
                          mas[i].vvod();
                            cout<<"Iz vvedennih dat: ";
                           for (i=0; i<n; i++)
                                                        mas[i].sravn(v);
                                                   cout<<"5555555555555555";
                                // delete []mas;
                              break; }
        default:cout<<"Ne werno ";
        }
}
 
++++++++++++++++++++++++
#include "StdAfx.h"
#include "date.h"
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <ctime>
#include <conio.h>
using namespace std;
 
int tab_day [2][12]= {{31,28,31,30,31,30,31,31,30,31,30,31},
                                 {31,29,31,30,31,30,31,31,30,31,30,31}};
date::date() {cout<<"Done!";}
int date:: visokos(int year) const
{ int k=year%4==0&&year%100!=0||year%400==0;
        return k;
}
//Ввод дат
void  date::vvod()
{ N: cout<<"Vvedute den, mesac, rod:\n";
        cin>>day>>month>>year;
        int k=visokos(year);
        if (day<1||day>tab_day[k][month-1]||month<1||month>12||year<0)
                {cout<<"Ochibka\n"; goto N;}
        else cout<<"Data vvedena\n";
}
//Вывод даты
void date::vivod()
{
  cout<<setw(2)<<day<<'.'<<setw(2)<<month<<'.'<<year<<"\n";
}
 
//вычисляющую дату, на N дней вперед по заданной;
void date::n_date()
{ N: cout<<"Vvedute den, mesac, rod:\n";
        cin>>day>>month>>year;
        int k=visokos(year);
        if (day<1||day>tab_day[k][month-1]||month<1||month>12||year<0)
                {cout<<"Ochibka\n"; goto N;}
        else cout<<"Data vvedena\n";
        cout<<"Zadaite N\n";
        cin>>n;
        day=day+n;
        while (day>tab_day[k][month-1])
        if (day>tab_day[k][month-1])
        {int i=day-tab_day[k][month-1];
        day=i;
        month++;
                if (month>12)
                {year++;
                month=1;}
        }
        cout<<setw(2)<<day<<'.'<<setw(2)<<month<<'.'<<year<<"\n";
}
 
//находящую в массиве введенных дат все даты заданного года.
void date::sravn( int v)
{ cout<<"Sovpasdayut: ";
  //              bool f=false;
    //    for (int i=0; i<=n; i++)
  //      if (v==mas[i].get_year())
 //       { mas[i].vivod();
  //              f=true;}
  //      if (f!=true) cout<<"Sovpadenii net";
 
        if (this->get_year()==v) this->vivod();
}
+++++++++++++
#pragma once
#ifndef __DATE_H
#define __DATE_H
class date
{ int day;
        int month;
        int year;
        int visokos(int) const;
        int n;
 
public:
        date();
                int get_year() const {return year;};
                int get_month() const {return month;};
                int get_day() const {return day;};
                void vvod();
                void vivod();
                void n_date();
              void sravn(int v);
};
#endif
1
Студент
148 / 148 / 64
Регистрация: 18.01.2011
Сообщений: 469
11.12.2011, 23:16 3
Lennadij, уже бы в один файл занесли бы) ему так проще будет)
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2011, 23:16

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Простейшие вычисления
помогите написать код!.... надо по заданию: По заданному радиусу найти площадь поверхности и...

Простейшие циклы С++
Помогите ЛюДи !!!! в СрочНяк... дано натуральное число n. вычислить

Простейшие циклы
Среднее арифметико-геометрическое двух чисел a и b определяется следующим образом. Положим a0=a,...

Простейшие циклы на C
Решить с использованием рекуррентных выражений. Задание: Дано целое n. Найти то, что написано во...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.