코드는 사용자에게 원하는 카드를 묻고 선택한 카드에 따라 명세서를 인쇄합니다.
내 목표는 1,2,3 이외의 숫자를 입력하면 카드 선택 기능으로 돌아가는 것입니다.
이 프로세스를 여러 번 진행할 수있는 for 루프도 있습니다.
가장 좋은 방법은 무엇이며 어떻게 할 수 있습니까?
int CardSelect() {
cout << "Enter 1 for hearts" << endl;
cout << " " << endl;
cout << "Enter 2 for diamonds" << endl;
cout << " " << endl;
cout << "Enter 3 for joker" << endl;
return 0;
};
int main() {
for (int i = 1; i <= 5; i++) {
CardSelect();
int cardchoice;
cin >> cardchoice;
cardchoice = CardSelect();
if (cardchoice == 1) {
cout << "You got hearts" << endl;
loop = false;
} else if (cardchoice == 2) {
cout << "You got diamonds" << endl;
loop = false;
} else if (cardchoice == 3) {
cout << "You got joker" << endl;
loop = false;
} else {
cout << "Invalid choice" << endl;
cout << "Please ensure you type in the right numbers" << endl;
}
}
}
CardSelect()
해당 함수에서 일부 문을 인쇄하기 때문에 의 반환 유형 을 void로 변경하십시오 .
void CardSelect()
{ // Your cout statements
}
에서 호출하고 변수에 main()
스위치 케이스를 사용하십시오 cardchoice
.
유효한 입력을 얻을 때까지 switch 문을 계속 실행하려면 모든 것을 inifinte 루프 (예 :)에 넣고 while(1)
부울을 true로 설정 ( false
초기 설정 )하고 break
when condition이 만족 될 때를 사용하여 종료 조건을 설정합니다. , 루프를 벗어나려면 :
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;
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다