Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
ccippa
0 / 0 / 0
Регистрация: 20.11.2016
Сообщений: 5
Завершенные тесты: 1
1

Описать тип TTime - запись с полями hour (часы), min (минуты) и sec (секунды)

13.02.2017, 13:47. Просмотров 917. Ответов 7
Метки нет (Все метки)

Всем привет! Не могу добиться что бы выбивало ошибку при не правильно указанном времени ! Задачник Абрамяна М.Э
 Комментарий модератора 
П.5.18.Правил
Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.
перепечатайте текст в сообщение
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2017, 13:47
Ответы с готовыми решениями:

Описать как структуру переменную время (с полями часы, минуты, секунды)
Прошу вашей помощи Описать как структуру переменную время (с полями часы, минуты, секунды). ...

Описать структуру «время» (часы, минуты, секунды)
Описать структуру «время» (часы, минуты, секунды). Определить функцию «позже» для проверки,...

Описать структуру «время» (часы, минуты, секунды). Определить функцию «следующая минута»
Привет ребят, вот такая задачка, голову ломаю ничего понять не могу: Описать структуру «время»...

Создать базовый класс Тройка_чисел (Triad) и производный класс Time с полями часы, минуты и секунды
Наследование. Виртуальныефункции.Полиморфизм. 1. Цельзадания: 1) Создание консольного приложения,...

Как перевести секунды в часы, минуты и секунды
Помогите составить программу, которая будет переводить секунды (произвольное целое число) в часы,...

7
MrGluck
Модератор
Эксперт CЭксперт С++
8114 / 4966 / 1436
Регистрация: 29.11.2010
Сообщений: 13,456
13.02.2017, 14:00 2
Покажите код (структура TTime, заполнение структурной переменной)
0
DemolitionMan
130 / 156 / 87
Регистрация: 06.04.2016
Сообщений: 992
13.02.2017, 14:06 3
Ну сделай условие, так чтобы оно проверяло часы, минуты и секунды в правильном диапазоне, иначе ошибка - сообщение MessageBox. Можно и try{}catch{} замутить с выдачей своего исключения.
0
ccippa
0 / 0 / 0
Регистрация: 20.11.2016
Сообщений: 5
Завершенные тесты: 1
13.02.2017, 14:41  [ТС] 4
1-код может быть с ошибками .
2-не обязательно правильное текущее время .
3-по условию мне нужно что бы в итоге писало правильное/ не правильное время (ошибка в сек , мин, или часах . )

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
struct TTime  
{ 
int Hour, Min, Sec; 
}; 
 
void CheckTime (TTime*T){
    if ((T->Hour >= 0 && T->Hour <=24)&&(T->Min >=0 && T-> Min <=60)&&(T->Sec >=0 && T->Sec <=60)){
        cout<<"time correct !!!\n";
    } 
    return 0 ; 
 
}
 
void task4(){ 
cout <<"\n  Task 4\n"<<endl; 
TTime T; 
int i = 1; 
do { 
cout << "Enter kol-vo hous: "; 
cin >> T.Hour; 
cout << "\nEnter kol-vo minutes: "; 
cin >> T.Min; 
cout << "\nEnter kol-vo seconds "; 
cin >> T.Sec; 
CheckTime(&T);
cout<<endl; 
}while(i < 6); 
return 0 ; 
}
Добавлено через 3 минуты
Цитата Сообщение от MrGluck Посмотреть сообщение
Покажите код (структура TTime, заполнение структурной переменной)
1-код может быть с ошибками .
2-не обязательно правильное текущее время .
3-по условию мне нужно что бы в итоге писало правильное/ не правильное время (ошибка в сек , мин, или часах . )

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
struct TTime  
{ 
int Hour, Min, Sec; 
}; 
 
void CheckTime (TTime*T){
    if ((T->Hour >= 0 && T->Hour <=24)&&(T->Min >=0 && T-> Min <=60)&&(T->Sec >=0 && T->Sec <=60)){
        cout<<"time correct !!!\n";
    } 
    return 0 ; 
 
}
 
void task4(){ 
cout <<"\n  Task 4\n"<<endl; 
TTime T; 
int i = 1; 
do { 
cout << "Enter kol-vo hous: "; 
cin >> T.Hour; 
cout << "\nEnter kol-vo minutes: "; 
cin >> T.Min; 
cout << "\nEnter kol-vo seconds "; 
cin >> T.Sec; 
CheckTime(&T);
cout<<endl; 
}while(i < 6); 
return 0 ; 
}
0
MrGluck
Модератор
Эксперт CЭксперт С++
8114 / 4966 / 1436
Регистрация: 29.11.2010
Сообщений: 13,456
13.02.2017, 14:57 5
Лучший ответ Сообщение было отмечено ccippa как решение

Решение

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
#include <iostream>
 
using namespace std;
 
struct TTime
{
    int Hour, Min, Sec;
};
 
enum class TimeError
{
    OK,
    errHour,
    errMin,
    errSec
};
 
TimeError CheckTime (const TTime &T)
{
    if (T.Hour < 0 || T.Hour >= 24)
        return TimeError::errHour;
    if (T.Min < 0 || T.Min >= 60)
        return TimeError::errMin;
    if (T.Sec < 0 || T.Sec >= 60)
        return TimeError::errSec;
    return TimeError::OK;
}
 
int main()
{
    TTime T;
    bool allIsOk = false;
    do
    {
        cout << "Enter hours: ";
        cin >> T.Hour;
        cout << "\nEnter minutes: ";
        cin >> T.Min;
        cout << "\nEnter seconds ";
        cin >> T.Sec;
        switch (CheckTime(T))
        {
        case TimeError::OK :
            allIsOk = true;
            break;
        case TimeError::errHour :
            cout << "Invalid hours\n";
            break;
        case TimeError::errMin :
            cout << "Invalid minutes\n";
            break;
        case TimeError::errSec :
            cout << "Invalid seconds\n";
            break;
        }
    } while (!allIsOk);
}
0
ccippa
0 / 0 / 0
Регистрация: 20.11.2016
Сообщений: 5
Завершенные тесты: 1
13.02.2017, 16:14  [ТС] 6
Цитата Сообщение от MrGluck Посмотреть сообщение
Критика приветствуется
Еще одна проблемка ... Не могу сделать что бы это действие повторялось только 5 раз и программа завершалась...
0
MrGluck
Модератор
Эксперт CЭксперт С++
8114 / 4966 / 1436
Регистрация: 29.11.2010
Сообщений: 13,456
13.02.2017, 16:27 7
Цитата Сообщение от ccippa Посмотреть сообщение
это действие
Неверный ввод или ввод вообще?
0
avgoor
1047 / 614 / 158
Регистрация: 05.12.2015
Сообщений: 1,744
13.02.2017, 16:29 8
Цитата Сообщение от MrGluck Посмотреть сообщение
if (T.Sec < 0 || T.Sec >= 60)
А, вот, ху нет. Ваш пост огорчает международную службу вращения земли(sic!). В частности, 31.12.2016 было время 23:59:60 за счет високосной секунды.
0
13.02.2017, 16:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2017, 16:29

Определить текущий день недели, год, месяц, число, а также текущее время-часы, минуты, секунды, сотые доли секунды.
1. Составить программу на языке Си , используя функций прерывания 21h. Определить текущий день...

Перевести секунды в часы/минуты/секунды
помогите решить задачу Пользователь вводит количество секунд. Используя оператор % вывести сколько...

Перевод секунд в часы,минуты и секунды
Тока начинаю изучать С++ по Лафоре, дошел до функций и не получается построить простенькую функцию....


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

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

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