Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
KotKot
#1

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

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

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

Составить описание класса для представления даты.
Предусмотреть возможности установки даты и изменения ее отдельных полей (год, месяц, день) с проверкой допустимости вводимых значений. В случае недопустимых значений выбрасываются исключения.
Создать методы изменения даты на заданное количество дней, месяцев и лет.
Написать программу, демонстрирующую все разработанные элементы класса.
Создать дочерний класс, определяющий по дате день недели.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2011, 22:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Простейшие классы (C++):

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

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

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

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

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

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

2
Lennadij
3 / 3 / 0
Регистрация: 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
amor1k
Студент
148 / 148 / 24
Регистрация: 18.01.2011
Сообщений: 469
11.12.2011, 23:16 #3
Lennadij, уже бы в один файл занесли бы) ему так проще будет)
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2011, 23:16
Привет! Вот еще темы с ответами:

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

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

Наследование, базовые классы и производные классы - C++
Добрый вечер.Задание: необходимо разработать поля и методы наследуемые из базового класса и собственные компоненты производных...

ПРОСТЕЙШИЕ ПРОГРАММЫ НА С++ Сложение массивов - C++
Произвести сложение двух массивов 5х3 по правилам сложения матриц. #include &lt;iostream.h&gt; int main() { ...


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

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

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