Я закончил очень простое задание для своего класса. Однако я тип человека, который любит думать нестандартно.Нужен совет для проверки ввода
Например, user_input1 и user_input2 не имеют никакой проверки. Я мог бы ввести «Ноябрь», и он не поймал бы ошибку типа данных. Мой вопрос к каждому из них, каким образом это лучший способ приблизиться к валидации ввода для начальных данных, вводимых пользователем
// This program uses a function template.
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
// Template definition for square function.
template <class T>
T maximum (T number1 , T number2)
{
if (number1 > number2)
return number1;
else
return number2;
}
template <class S>
S minimum (S number1 , S number2)
{
if (number1 > number2)
return number2;
else
return number1;
}
int main()
{
double user_input1 = 0; // To hold integer input
double user_input2 = 0;
int menu_choice = 0;
cout << " Please Enter The First Number To Be Evaluated ";
cin >> user_input1;
cout << " Please Enter The Second Number To Be Evaluated ";
cin >> user_input2;
system ("cls");
cout << " Your Entry Was As Followed 1: " << user_input1 << " 2: " <<user_input2;
cout << "\n 1. This Option Will Show You The Greater Argument ";
cout << "\n 2. This Will Show You The Lesser Argument ";
cout << "\n Your Menu Choice Is ";
cin >> menu_choice;
switch (menu_choice)
{
case 1:
cout << maximum (user_input1 , user_input2);
break;
case 2:
cout << minimum (user_input1 , user_input2);
break;
defualt :
" INVALID ENTRY ";
}
system ("pause");
return 0;
}
Для начала вам необходимо проверить, что вы вступили в успешную работу: если 'std :: cin >> user_inputs1;' –
'defualt:'? Стандартная ошибка, пожалуйста, исправьте. – Deduplicator
@Deduplicator: почему вы думаете, что у вас нет метки в выражении 'switch'? Вероятно, это не то, что было предназначено, но, безусловно, это нормально в соответствии с языковой спецификацией. –