Форум программистов, компьютерный форум CyberForum.ru

Создать класс для обработки информации о различных датах - C++

Восстановить пароль Регистрация
 
kokoz9br
0 / 0 / 0
Регистрация: 01.05.2012
Сообщений: 42
05.12.2012, 09:35     Создать класс для обработки информации о различных датах #1
5.1. Создать класс для обработки информации о различных датах.
Каждая дата - это число, месяц, год, название даты.
Функции:
а) функция ввода информации о дате;
б) функция вывода информации о дате;
в) функция, возвращающая год даты;
г) функция, определяющая, принадлежит ли дата сезону, заданному переменной Х.

Думал,как выполнить 4 пункт. Вот,что получается: мы вводим месяц(цифрой),и потом сравнивать месяцы из массива объектов с заданным месяцем,только я не пойму ,как реализовать это.
Помогите,пожалуйста.

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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
 
class data
{
private:
    int day;
    int month;
    int year;
    string name;
 
 
public:
        void output();
        void input();
        int output_year();
        void season(int tmp,int count);
};
void data::input()
{
    cout<<"Input day: ";cin>>day;cout<<endl;
    cout<<"Input month: ";cin>>month;cout<<endl;
    cout<<"Input year: ";cin>>year;cout<<endl;
    cout<<"Input name dat:";cin>>name;cout<<endl;
}
void data::output()
{
    cout<<"Day  : "<<day<<endl;
    cout<<"Month: "<<month<<endl;
    cout<<"Year : "<<year<<endl;
    cout<<"Name : "<<name<<endl;
}
int data::output_year()
{
    return data::year;
}
void data::season(int tmp,int count)
{
    if((month==3)||(month==4)||(month==5))
    {
        if((tmp>=3) || (tmp<=4))
        {
            cout<<"Sezon "<<count+1<<"-oi dati prinadlejit zadannomy sezony"<<endl;
        }
        else
            cout<<"Sezon "<<count+1<<"-oi dati ne prinadlejit zadannomy sezony"<<endl;
    }
    if((month==6)||(month==7)||(month==8))
    {
        if((tmp>=6) || (tmp<=8))
        {
            cout<<"Sezon "<<count+1<<"-oi dati prinadlejit zadannomy sezony"<<endl;
        }
        else
            cout<<"Sezon "<<count+1<<"-oi dati ne prinadlejit zadannomy sezony"<<endl;
    }
    if((month==9)||(month==10)||(month==11))
    {
        if((tmp>=9) || (tmp<=11))
        {
            cout<<"Sezon "<<count+1<<"-oi dati prinadlejit zadannomy sezony"<<endl;
        }
        else
            cout<<"Sezon "<<count+1<<"-oi dati ne prinadlejit zadannomy sezony"<<endl;
    }
    if((month==12)||(month==1)||(month==2))
    {
        if((tmp==12) || (tmp<=2))
        {
            cout<<"Sezon "<<count+1<<"-oi dati prinadlejit zadannomy sezony"<<endl;
        }
        else
            cout<<"Sezon "<<count+1<<"-oi dati ne prinadlejit zadannomy sezony"<<endl;
    }
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    data massiv[10];
    cout<<"Введите количество дат: ";
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cout<<"Информация о "<<i+1<<"-й дате:"<<endl;
        massiv[i].input();
    }
    system("cls");
    for(int i=0;i<n;i++)
    {
        cout<<"\n Информация o "<<i+1<<"-й дате:"<<endl;
        massiv[i].output();
    }
    cout<<"Года дат:"<<endl;
    for(int i=0;i<n;i++)
    {
        cout<<"Год "<<i+1<<"-ой даты : "<<massiv[i].output_year()<<endl;
    }
    int tmp;
    cout<<"Введите месяц(цифрой): ";cin>>tmp;cout<<endl;
    for(int i=0;i<n;i++)
    {
        massiv[i].season(tmp,i);
    }
   
 
    getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2012, 09:35     Создать класс для обработки информации о различных датах
Посмотрите здесь:

Создать класс который может быть использован для хранения информации и студентах C++
Создать класс для хранения календарных дат. Обеспечить возможность работы с датами в различных форматах C++
C++ Программа для обработки информации об автомобилях, сдающихся на прокат
C++ Создать класс для обработки информации об инструментах
Класс для обработки информации о вычислительной машине C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
 Аватар для vxg
2639 / 1650 / 156
Регистрация: 13.01.2012
Сообщений: 6,212
05.12.2012, 11:24     Создать класс для обработки информации о различных датах #2
Цитата Сообщение от kokoz9br Посмотреть сообщение
принадлежит ли дата сезону, заданному переменной Х
а мне показалось что имеются ввиду
X =
1 - зима - месяцы 12, 1, 2
2 - весна - месяцы 3, 4, 5
3 - лето - месяцы 6, 7, 8
4 - осень - месяцы 9, 10, 11
тогда функция принадлежности к сезону запишется как
C++
1
2
3
4
bool date_in_season(int x)
{
    return (month + 1) % 12 / 3 + 1 == x;
}
Добавлено через 10 секунд
Цитата Сообщение от kokoz9br Посмотреть сообщение
принадлежит ли дата сезону, заданному переменной Х
а мне показалось что имеются ввиду
X =
1 - зима - месяцы 12, 1, 2
2 - весна - месяцы 3, 4, 5
3 - лето - месяцы 6, 7, 8
4 - осень - месяцы 9, 10, 11
тогда функция принадлежности к сезону запишется как
C++
1
2
3
4
bool date_in_season(int x)
{
    return (month + 1) % 12 / 3 + 1 == x;
}
kokoz9br
0 / 0 / 0
Регистрация: 01.05.2012
Сообщений: 42
06.12.2012, 17:41  [ТС]     Создать класс для обработки информации о различных датах #3
Цитата Сообщение от vxg Посмотреть сообщение
а мне показалось что имеются ввиду
X =
1 - зима - месяцы 12, 1, 2
2 - весна - месяцы 3, 4, 5
3 - лето - месяцы 6, 7, 8
4 - осень - месяцы 9, 10, 11
тогда функция принадлежности к сезону запишется как
C++
1
2
3
4
bool date_in_season(int x)
{
    return (month + 1) % 12 / 3 + 1 == x;
}
Добавлено через 10 секунд

а мне показалось что имеются ввиду
X =
1 - зима - месяцы 12, 1, 2
2 - весна - месяцы 3, 4, 5
3 - лето - месяцы 6, 7, 8
4 - осень - месяцы 9, 10, 11
тогда функция принадлежности к сезону запишется как
C++
1
2
3
4
bool date_in_season(int x)
{
    return (month + 1) % 12 / 3 + 1 == x;
}
Вот,как я реализовал эту функцию:
C++
1
2
3
4
5
6
7
8
cout<<"Введите номер сезона : ";cin>>tmp;
    for(int i=0;i<n;i++)
    {
        if(massiv[i].date_in_season(tmp))
        cout<<"Sezon "<<i+1<<"-oi dati prinadlejit zadannomy sezony"<<endl;
        else
        cout<<"Sezon "<<i+1<<"-oi dati ne prinadlejit zadannomy sezony"<<endl;
    }
Но она мне выводит не то.

Добавлено через 19 часов 19 минут
Помогите.
vxg
Модератор
 Аватар для vxg
2639 / 1650 / 156
Регистрация: 13.01.2012
Сообщений: 6,212
07.12.2012, 13:19     Создать класс для обработки информации о различных датах #4
пардон, вот так
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include <iostream>
 
bool date_in_season(int month, int x)
{
    return (month + 12) % 12 / 3 + 1 == x;
}
 
#pragma argsused
int main(int argc, char* argv[])
{
    for (int season = 1; season <= 4; season++)
        for (int month = 1; month <= 12; month++)
            std::cout << "season = " << season << " month = " << month << " date_in_season=" << (date_in_season(month, season)? "true" : "false") << std::endl;
 
    system("pause");
 
    return 0;
}
//---------------------------------------------------------------------------
Миниатюры
Создать класс для обработки информации о различных датах  
Yandex
Объявления
07.12.2012, 13:19     Создать класс для обработки информации о различных датах
Ответ Создать тему

Метки
датах, информации, класс, обработки, различных, создать
Опции темы

Текущее время: 05:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru