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

Избавится от временной переменной - C++

Восстановить пароль Регистрация
 
reisal78
 Аватар для reisal78
603 / 516 / 119
Регистрация: 28.04.2013
Сообщений: 1,451
31.08.2013, 17:02     Избавится от временной переменной #1
Добрый день!

Я через cin >> прошу пользователя ввести время в формате HH:MM

C++
1
2
3
        char tmp;
        cout << "Enter time (H:m) ";
        cin >> _hour >> tmp >> _min;
Собственно вопрос: Можно ли изменить код, что бы избавится от временной переменной. И нужно ли вообще это? =)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.08.2013, 17:02     Избавится от временной переменной
Посмотрите здесь:

C++ установить временной интервал
Временной интервала C++
C++ Заголовок CMDIFrameWnd - как избавится?
Как избавится от подчеркивания sqrt C++
Избавится от факториала C++
не могу избавится от ошыбки C++
C++ не могу избавится от ошибки
Избавиться от временной перемнной C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
31.08.2013, 17:12     Избавится от временной переменной #2
Можно сделать что-то типа такого:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main()
{
    int hour, minute;
 
    std::cout << "Enter the time (H:m): " << std::flush;
 
    std::cin >> hour;
    std::cin.ignore();
    std::cin >> minute;
 
    std::cout << "The time is " << hour << ":" << minute << std::endl;
}
Но это не очень надёжно. Я бы считывал весь ввод в строку, парсил бы её, выдавая ошибку/исключение при неправильном вводе.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.08.2013, 18:39     Избавится от временной переменной #3
Цитата Сообщение от reisal78 Посмотреть сообщение
И нужно ли вообще это? =)
Особого смысла в этом нет. Можно так написать:
C++
1
2
3
4
5
{
 char tmp;
 cout << "Enter time (H:m) ";
 cin >> _hour >> tmp >> _min;
}
Тогда, при выходе из области объявления, память под temp будет считаться свободной, а лучше сделать, как в предыдущем посте предложено.
Yandex
Объявления
31.08.2013, 18:39     Избавится от временной переменной
Ответ Создать тему
Опции темы

Текущее время: 01:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru