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

Проверить формат HH:MM:SS через string - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Распознавание картинки и выбор соответствующего действия http://www.cyberforum.ru/cpp-beginners/thread714068.html
Если кто знает подскажите как можно реализовать такую тему.. Сейчас программа распознает хендл окна и посылает в него сообщения нажатия по заданным координатам, при бесконечном цикле работает она...
C++ Найти сумму модулей элементов массива, расположенных после минимального по модулю элемента в одномерном массиве {3.24, -7.16, 2.28, -0.16, -3.22, 7.14, 2.88, -3.20, 0.99, -4.15} найти сумму модулей элементов массива, расположенных после минимального по модулю элемента. http://www.cyberforum.ru/cpp-beginners/thread714056.html
C++ задача на рекурсию в си++
Даны числа a и b. Определите, сколько существует последовательностей из a нулей и b единиц, в которых никакие два нуля не стоят рядом.
C++ SendMessage
Всем привет! Пишу программу которая сама нажимает мышкой в игре по заданным координатам. Для этого игра уже должна быть запущена. Если игра не запущенна то на экран выдается соответствующее...
C++ Работа с текстовыми файлами http://www.cyberforum.ru/cpp-beginners/thread714050.html
3)Разработать программу, которая выполняет следующие действия: создает входной поток для построчного чтения из внешнего файла и выходной поток для вывода в выходной файл. Текст из входного потока ...
C++ Разработать функцию, проверяющую, является ли число простым 1)Разработать функцию, проверяющую, является ли число простым. С её помощью найти и напечатать все простые числа из интервала от n до m. подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
30.11.2012, 02:28
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
#include <iostream>
#include <cstdlib>
#include <string>
 
bool correct(const std::string &str)
{
    if (str.size() != 8)
        return false; // incorrect form
    std::size_t firstColon = str.find(':');
    std::size_t secondColon = str.rfind(':'); // searches from end to begin
    if (firstColon != 2 || secondColon != 5)
        return false; // incorrect positions of colon(s)
    std::string HH = str.substr(0, 2);
    std::string MM = str.substr(3, 2);
    std::string SS = str.substr(6, 2);
    // you can use to_string (better) or atoi (worse) to convert to int
    int H = std::atoi(HH.c_str());
    int M = std::atoi(MM.c_str());
    int S = std::atoi(SS.c_str());
    // if all of these statements resturn true, function returns false
    return !(H < 0 || H > 24 || M < 0 || M > 60 || S < 0 || S > 60);
}
 
int main()
{
    std::string str;
    std::cout<< "Enter time in format HH:MM:SS"<< std::endl;
    std::cin>> str;
    std::cout<< (correct(str) ? "Correct" : "Incorrect");
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru