C ++ Генерация случайных чисел в формате ЧЧ: ММ - PullRequest
0 голосов
/ 10 января 2019

у меня следующая проблема Мне нужно написать функцию, которая генерирует случайный час и случайную минуту - это время начала и генерирует время окончания (+ 1,5 ч) Моя проблема в том, что когда у меня есть, например, 7 часов или 7: 7, а затем мне нужно отформатировать это, чтобы отобразить время таким образом: 07:07 - 08:37 Я пытался сделать это с помощью заявлений IF, но при каждой возможности получилось космическое количество IF. Есть ли лучший способ создать это? Я не могу поставить время в строке

1 Ответ

0 голосов
/ 10 января 2019

Вы можете сделать что-то вроде этого:

#include <sstream>
#include <iomanip>
#include <iostream>

int main() {

    int hour = 7;
    int minute = 7;

    std::string timeStr;

    {
        std::stringstream ss;
        ss << std::setw(2) << std::setfill('0') << hour << ":" << std::setw(2) << std::setfill('0') << minute;
        timeStr = ss.str();
    }

    std::cout << timeStr;

    return 0;
}

Пояснение:

setw() устанавливает ширину поля для использования в операциях вывода.

setfill() устанавливает c в качестве символа заполнения потока.

Справка:

http://www.cplusplus.com/reference/iomanip/setw/

http://www.cplusplus.com/reference/iomanip/setfill/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...