Ввод параметров симуляции со значениями по умолчанию - PullRequest
0 голосов
/ 27 июня 2011

Я пишу программу, которая требует, чтобы пользователь вводил несколько параметров для симуляции, но большую часть времени они будут вводить одни и те же значения каждый раз, поэтому я хочу, чтобы было какое-то значение по умолчанию, чтобы они могли простонажмите ввод, и это значение будет использовано.

приглашение будет выглядеть примерно так:

Enter Some Parameter [15]: 

, чтобы они могли ввести любое число, которое они хотят, или просто нажмите клавишу ввода, чтобы использовать 15.

это то, что у меня есть до сих пор

parameter = cin.get();
if(parameter == '\n')
    parameter = defaultValue;

это работает, но только для первой цифры, и я также получаю приведение к типу, с каким бы типом я не работала не фактическое значение, введенное пользователем.

Я бы использовал

cin >> parameter;

, но это не позволяет мне использовать значение по умолчанию, как я описал.

Кто-нибудь знает, как я могу это сделать?

Ответы [ 2 ]

3 голосов
/ 27 июня 2011

Вы можете попробовать использовать строку вместо символа, например:

std::string s;
getline( cin, s );
if( s.empty() ) // user pressed enter
     s = defaultValue;

Это будет работать не для первой цифры, а для всей строки

2 голосов
/ 27 июня 2011

Вы можете использовать cin.getline (). Если они вводят действительный параметр, то обновите параметр; в противном случае просто используйте значение по умолчанию.

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