Измените тип возврата CardSelect()
на void, поскольку вы просто печатаете некоторые операторы в этой функции:
void CardSelect()
{ // Your cout statements
}
Вызовите это в main()
и используйте регистр переключения для вашей переменной cardchoice
.
Если вы хотите продолжать выполнять оператор switch до тех пор, пока не получите действительный ввод, поместите все в inifinte l oop (например, while(1)
) и установите условие выхода, установив логическое значение в true (установите его на false
изначально) и используйте break
, когда условие будет выполнено, чтобы выйти из l oop:
int main()
{
while(1)
{
bool valid = false;
CardSelect(); // call to your function
int cardchoice;
cin >> cardchoice;
switch(cardchoice)
{
case 1:
cout << "You got hearts" << endl;
valid = true;
break;
case 2:
cout << "You got diamonds" << endl;
valid = true;
break;
case 3:
cout << "You got joker" << endl;
valid = true;
break;
default:
cout << "Invalid choice" << endl;
cout << "Please ensure you type in the right numbers" << endl;
break;
} if(valid) break;
}
}