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

Создать класс типа - время - C++

Восстановить пароль Регистрация
 
MaX@@@@@@@
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 31
18.09.2013, 23:50     Создать класс типа - время #1
Создать класс типа - время с полями: час (0-23), минуты (0-59), секунды (0-59). Класс имеет конструктор. Функции-члены установки времени,. функции-члены получения часа, минуты и секунды, а также две функции-члены печати: печать по шаблону: “16 часов 18 минут 3 секунды” и “4 p.m. 18 минут 3 секунды”. Функции-члены установки полей класса должны проверять корректность задаваемых параметров.

******************************************************************************************
Time.cpp


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
#include "StdAfx.h"
#include "Time.h"
#include <iostream>
#include <locale>
using namespace std;
 
Time::Time()//к-фчк при созд объекта для иниц св-в объекта-не возвр никакое значение
{
}
 
 
Time::Time(int HOURS,int MINUTES,int SECOND)
{
     if(HOURS<24 && HOURS>=0) hours=HOURS;
      if(MINUTES<60 && MINUTES>=0) minutes=MINUTES;
      if(SECOND<60 && SECOND>=0) second=SECOND; 
}
 
 
Time::~Time()//д-фчк-без аргументов нич не возвр. автоматически при уничтожении. пров квп на 0 освоб до унич
{
    
}
 
 
int Time::GetHours(void) 
{
    return hours;
}
 
 
int Time::GetMinutes(void) 
{
    return minutes;
}
 
 
int Time::GetSecond(void) 
{
    return second;
}
 
 
void Time::SetHours(int HOURS)
{     
    if(HOURS<24 && HOURS>=0) hours = HOURS;
    else hours=-1;
}
 
 
void Time::SetMinutes(int MINUTES)
{if(MINUTES<60 && MINUTES>=0) minutes = MINUTES;
    else minutes=-1;
}
 
 
void Time::SetSecond (int SECOND)
{     
    if(SECOND<60 && SECOND>=0) second=SECOND;
    else second=-1;
}
 
 
void Time::Print1()
{
    std::cout <<Time::hours <<"часов";
    std:: cout <<Time::minutes<<"минут";
    std::cout <<Time::second<< "секунд" <<std::endl;
}
 
 
void Time::Print2()
{
    if(Time::hours>12) {int a=Time::hours; std::cout<<a-12<<"p.m";}
        else std::cout<<Time::hours<<"a.m";
            std:: cout<< Time::minutes << "минут";
            std::cout<< Time::second<< "секунд"  << std::endl;
 
 
}
 
********************************************************************************************
лаба1. cpp
 
#include "stdafx.h"
#include "Time.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{   setlocale(LC_CTYPE, "rus");
    cout<<"Если среди данных полей времени встречается минус 1, то время введено неправильно"<<endl;
Time a1, a2;
    a1.SetHours(22);
 
    a1.SetMinutes(59);
    a1.SetSecond(59);
    a2.SetHours(4);
    a2.SetMinutes(35);
    a2.SetSecond(12);
    a1.Print1();
    a1.Print2();
    cout<<endl;
    a2.Print1();
    a2.Print2();
    delete &a1;
 
    return 0;
}
********************************************************************************************
 
#pragma once
class Time
{
    int hours,minutes,second;
public:
    Time();                        // конструктор без параметров
    Time(int,int,int);         // конструктор с параметрами
//по умолчанию создается конструктор без параметров и конструктор копирования(если явно не описаны)
 
    ~Time();    //деструктор
 
    int GetHours(void);            //метод – получить час
    int GetMinutes(void);           //метод – получить минуты
    int GetSecond(void);      //метод – получить секунды
    void SetHours(int HOUR);
    void SetMinutes(int MINUTES);
    void SetSecond (int SECOND);
      //метод – установить время
    void Print1();          //метод - печать "00 часов 00 минут 00 секунд"
    void Print2();          //метод - печать "00 p.m. 00 минут 00 секунд"        
};

********************************************************************************************
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2013, 23:50     Создать класс типа - время
Посмотрите здесь:

Создать класс время с полями: час(0-23), минута (0-59), секунда (0-59) C++
C++ Создать класс время с данными-членами часы, минуты, секунды
C++ Создать класс типа квадрат
Создать класс типа - окружность C++
Создать класс Matrix, реализующий двухмерный динамический массив типа int C++
C++ Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями
Создать шаблонный класс для определения нормы элемента заданного типа C++
Как создать динамический массив типа string? Как создать класс такого массива? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
stassko
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 1
21.09.2013, 22:28     Создать класс типа - время #2
Цитата Сообщение от MaX@@@@@@@ Посмотреть сообщение
Создать класс типа - время с полями: час (0-23), минуты (0-59), секунды (0-59). Класс имеет конструктор. Функции-члены установки времени,. функции-члены получения часа, минуты и секунды, а также две функции-члены печати: печать по шаблону: “16 часов 18 минут 3 секунды” и “4 p.m. 18 минут 3 секунды”. Функции-члены установки полей класса должны проверять корректность задаваемых параметров.

******************************************************************************************
Time.cpp


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
#include "StdAfx.h"
#include "Time.h"
#include <iostream>
#include <locale>
using namespace std;
 
Time::Time()//к-фчк при созд объекта для иниц св-в объекта-не возвр никакое значение
{
}
 
 
Time::Time(int HOURS,int MINUTES,int SECOND)
{
     if(HOURS<24 && HOURS>=0) hours=HOURS;
      if(MINUTES<60 && MINUTES>=0) minutes=MINUTES;
      if(SECOND<60 && SECOND>=0) second=SECOND; 
}
 
 
Time::~Time()//д-фчк-без аргументов нич не возвр. автоматически при уничтожении. пров квп на 0 освоб до унич
{
    
}
 
 
int Time::GetHours(void) 
{
    return hours;
}
 
 
int Time::GetMinutes(void) 
{
    return minutes;
}
 
 
int Time::GetSecond(void) 
{
    return second;
}
 
 
void Time::SetHours(int HOURS)
{     
    if(HOURS<24 && HOURS>=0) hours = HOURS;
    else hours=-1;
}
 
 
void Time::SetMinutes(int MINUTES)
{if(MINUTES<60 && MINUTES>=0) minutes = MINUTES;
    else minutes=-1;
}
 
 
void Time::SetSecond (int SECOND)
{     
    if(SECOND<60 && SECOND>=0) second=SECOND;
    else second=-1;
}
 
 
void Time::Print1()
{
    std::cout <<Time::hours <<"часов";
    std:: cout <<Time::minutes<<"минут";
    std::cout <<Time::second<< "секунд" <<std::endl;
}
 
 
void Time::Print2()
{
    if(Time::hours>12) {int a=Time::hours; std::cout<<a-12<<"p.m";}
        else std::cout<<Time::hours<<"a.m";
            std:: cout<< Time::minutes << "минут";
            std::cout<< Time::second<< "секунд"  << std::endl;
 
 
}
 
********************************************************************************************
лаба1. cpp
 
#include "stdafx.h"
#include "Time.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{   setlocale(LC_CTYPE, "rus");
    cout<<"Если среди данных полей времени встречается минус 1, то время введено неправильно"<<endl;
Time a1, a2;
    a1.SetHours(22);
 
    a1.SetMinutes(59);
    a1.SetSecond(59);
    a2.SetHours(4);
    a2.SetMinutes(35);
    a2.SetSecond(12);
    a1.Print1();
    a1.Print2();
    cout<<endl;
    a2.Print1();
    a2.Print2();
    delete &a1;
 
    return 0;
}
********************************************************************************************
 
#pragma once
class Time
{
    int hours,minutes,second;
public:
    Time();                        // конструктор без параметров
    Time(int,int,int);         // конструктор с параметрами
//по умолчанию создается конструктор без параметров и конструктор копирования(если явно не описаны)
 
    ~Time();    //деструктор
 
    int GetHours(void);            //метод – получить час
    int GetMinutes(void);           //метод – получить минуты
    int GetSecond(void);      //метод – получить секунды
    void SetHours(int HOUR);
    void SetMinutes(int MINUTES);
    void SetSecond (int SECOND);
      //метод – установить время
    void Print1();          //метод - печать "00 часов 00 минут 00 секунд"
    void Print2();          //метод - печать "00 p.m. 00 минут 00 секунд"        
};

********************************************************************************************
никогда не думала, что встречу тут свой код....О_о А в чем вопрос хоть?
во-первых в мэйне "delete &a1;" не нужен--при компиляции появится ошибка памяти, тут эта строчка только потому, что на защите вопрос был "как вызывается деструктор", а он вызывается при выполнении оператора delete))
Yandex
Объявления
21.09.2013, 22:28     Создать класс типа - время
Ответ Создать тему
Опции темы

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