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

Время в формате hh:mm:ss - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Наследование http://www.cyberforum.ru/cpp-beginners/thread429183.html
Тут совершенно очевидно имеются ошибки, но я жутко туплю и не понимаю в чем именно. Буду очень благодарна, если мне подробно подскажут что, где именно и почему. #include <iostream> #include <cmath> #include <vector.h> #include <conio.h> using namespace std;
C++ Dev C++ неправильно считает символы из файла Всем привет !! Сталкнулся с токой проблемой что Dev C++ не читает нормально из файла русские символы и выдает билеберду как быть ? http://www.cyberforum.ru/cpp-beginners/thread429176.html
объяснения к коду C++
Помогите объяснениями к коду(хотя бы через несколько строчек напишите коментарии) #include "stdafx.h" #include <time.h> #include <iostream> using namespace std; template <class type> class lk{ public:
C++ Написать метод.
Здравствуйте. Помогите пожалуйста. Необходимо дописать метод, который ищет студентов у которых есть неудовлетворительные оценки. Да, и оценки почему то тоже не привильно вводятся, то есть выводит что то непонятное. Вот мой код: #include "stdafx.h" #include <iostream> #include <string> using namespace std; class Student{ public: Student(){ name = "";
C++ Какую библиотеку использовать под GUI? http://www.cyberforum.ru/cpp-beginners/thread429156.html
Подскажите какую библиотеку использовать лучше/удобнее.Я слышал только про Qt, WTL, GTK. Или все же WinAPI изучать?
C++ Конвертация числа в строку (int to char) Подскажите, какими процедурами пользоваться, каков синтаксис и формат введенных данных. Скажем есть char row; int t=25, n=9; каким образом можно в row записать n? подробнее

Показать сообщение отдельно
diagon
Higher
1924 / 1190 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
16.01.2012, 15:28     Время в формате hh:mm:ss
Цитата Сообщение от extremx Посмотреть сообщение
Задача такая что программа требовает время в формате HH:MM:SS, проверяет ввод и выдает заявление, например - 23:09:03 - правильно,
2:2:2 - неправильный формат,
12:02:94 - неправильное время,
14.05.35 - неправильный формат,
qw2:we34 - неправильный формат.
У вас будет неправильно работать, если ввести 2:2: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
#include <iostream>
#include <algorithm>
#include <boost/regex.hpp>
#include <boost/lexical_cast.hpp>
 
bool is_correct_format( std::string str )
{
    const boost::regex pattern("\\d\\d:\\d\\d:\\d\\d");
    
    return regex_match(str, pattern);
}
 
bool is_correct_time( std::string str )
{
    int hour = boost::lexical_cast< int > ( str.substr(0, 2 ) );
    int minutes = boost::lexical_cast< int > ( str.substr(3, 2 ) );
    int seconds = boost::lexical_cast< int > ( str.substr(6, 2 ) );
    
    return hour < 24 && minutes < 60 && seconds < 60;
}
 
int main()
{
    
    std::string date;
    std::cin >> date;
    
    if ( !is_correct_format(date) )
        std::cout << "Invalid format!" << std::endl;
    else
        std::cout << ( is_correct_time(date) ? "OK" : "Invalid time!" )
                  << std::endl;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru