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

Cout.width(), cout.fill(): вывод времени - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ class C++ http://www.cyberforum.ru/cpp-beginners/thread981687.html
помогите пожалуйста решить эту задачку , я кое как писал программку для структуры и она работает, теперь как ее переделать классы, у меня ничего не получается подскажите что надо делать!! хочу...
C++ Работа с генератором случайных чисел Здравствуйте, уважаемые форумчане. Прошу помощи вот с такой задачей, не могу никак ничего придумать. Вот собственно задача: Сгенерировать два числа a,b и набор из 10 элементов, в диапазоне... http://www.cyberforum.ru/cpp-beginners/thread981682.html
C++ Наследование в с++
Люди добрые, помогите пожалуйста. Нужно срочно сдать программу по теме "Наследование", но че-то не могу написать. Наследование только начал изучать и не совсем разбираюсь. Условия задачи таковы:...
Из одного массива сформировать другой C++
Здравствуйте! Нужна срочно помощь!! Заране благодарю! Из массива A сформировать массив B по алгоритму: b=a+i; для i=1,3,...,2n+1, b=a-i; для i=2,4,...,2n... Размерность исходного массива n и...
C++ Деление большого числа http://www.cyberforum.ru/cpp-beginners/thread981646.html
Суть такова: Реализовываю класс для системы остаточных классов, нужно считать большое число ( допустим больше 20 знаков), понятное дело что нужно считывать в виде строки, но тут возникает проблема,...
C++ Рекурсия Есть такой код. В нем рисуется что то вроде линейки. Данный код предназначен для иллюстрации работы рекурсии. Может мне кто нибудь объяснить. Вот при первом вызове subdivide палочка ставится... подробнее

Показать сообщение отдельно
HUSTLIN
1 / 1 / 1
Регистрация: 19.10.2013
Сообщений: 75

Cout.width(), cout.fill(): вывод времени - C++

19.10.2013, 16:18. Просмотров 1408. Ответов 0
Метки (Все метки)

вводится время в формате 12:05
через
C++
1
scanf("%d%*c%d", hour, minute);
т.е. "12" присваивается переменной hour, а "5" - minute, символ ":" пропускается.
Проблема состоит в том, что нужно вывести минуты, если они меньше 10, должен стоять 0, т.е. в нашем случае 05.
Использую:

C++
1
2
3
4
5
cout.width(2);
cout.fill('0');
cout<<hour;
cout<<":";
cout<<minute;
В результате выводит:

12:5

А нужно чтобы вывело "12:05"
только, чего-то, 0 не дописывает к 5-ке

Помогите, как с этим разобраться

Добавлено через 23 минуты
Все, разобрался.
эти модификаторы сбрасываются после первого вывода.

Т.е. нужно так:

C++
1
2
3
4
5
6
cout.width(2);
cout.fill('0');
cout<<hour<<":";
cout.width(2);
cout.fill('0');
cout<<minute;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru