Как ввести дробь через cin?

131
13 января 2020, 09:20

С помощь scanf я могу ввести дробь таким образом:

scanf("%d/%d", &chys, &zn);

Как сделать подобное через cin?

Answer 1
char c = 0;
std::cin >> chys >> c >> zn;
// Сгенерировать ошибку, если `c` не равно `/` 

Отличите такого варианта в том, что он допускает лишние пробелы перед /, в то время, как ваш исходный вариант - не допускает. Если вам дорого именно такое поведение, то можно

std::cin >> chys >> std::noskipws >> c >> std::skipws >> zn;
READ ALSO
Перегрузка макроса по числу параметров

Перегрузка макроса по числу параметров

Я хочу написать макрос FOO, так чтобы FOO(x) и FOO(x, y) делали разные вещиКак это сделать?

107
Не работает часть программы “банкомат” [закрыт]

Не работает часть программы “банкомат” [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос, чтобы он соответствовал тематике «Stack Overflow на русском»

140
Идея текстового анализатора

Идея текстового анализатора

Есть идея кода, который раскладывает текст на "сущности" с помощью шаблона CompositeДалее с отдельными данными можно как-то работать, а можно вообще...

125
Создание объекта в методе

Создание объекта в методе

В классе User добавить метод setContacts с параметрами: String email, String phoneNumberВ этом методе должен создаватся объект класса Contacts, и присваиватся в поле...

123