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

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

Войти
Регистрация
Восстановить пароль
 
MaX@@@@@@@
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 31
#1

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

18.09.2013, 23:50. Просмотров 823. Ответов 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 секунд"        
};

********************************************************************************************
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2013, 23:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать класс типа - время (C++):

Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями - C++
Здравствуйте, пожалуйста помогите написать код к данной задаче, с таким условием: Создать абстрактный базовый класс Тройка чисел с...

Создать класс типа квадрат - C++
Создать класс типа &quot;квадрат&quot;. Поля - координаты сторон квадрата. Функции члены вычисляют площадь, периметр, устанавливают поля и возвращают...

Создать класс типа - окружность - C++
Создать класс типа - окружность. Поля - радиус. Функции-члены вычисляют площадь, длину окружности, устанавливает поля и возвращают...

Как создать динамический массив типа string? Как создать класс такого массива? - C++
Как создать динамический массив типа string? Как создать класс такого массива? =-O Помогите, пожалуйста, очень нужна помощь!

Класс Дата-Время. Создать наследников класса: - C++
Приветствую вас уважаемое сообщество. Я только начал изучать наследование. В теории знаю, что такое наследование, как оно работает, про...

Создать класс время с полями: час(0-23), минута (0-59), секунда (0-59) - C++
Создать класс время с полями: час(0-23), минута (0-59), секунда (0-59). В классе описать конструктор, а также функции-члены установки...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2013, 22:28
Привет! Вот еще темы с ответами:

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

Создать класс Matrix, реализующий двухмерный динамический массив типа int - C++
Здравствуйте! Задание: Создать класс Matrix, реализующий двухмерный динамический массив типа int. Конструктор должен заполнять массив...

Создать шаблонный класс для определения нормы элемента заданного типа - C++
Нужно создать шаблонный класс для определения нормы элемента заданного ти-пу. Для комплексных чисел норма определяется как модуль...

Создать базовый класс Array, в котором определите поле-массив подходящего типа - C++
Всем привет!!! Создать базовый класс Array, в котором определите поле-массив подходящего типа и поле для хранения количества элементов у...


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

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

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