我寫了一個關於如何在class
中訪問我的字段的特定方法,但是我的老師告訴我應該使用enum
。在enum中編寫代碼
如何重新編寫此代碼以使用enum
而不是使用goto
?
void SetType() {
cout << "Book SetType" << endl;
Choice: cout << "Please Select from the list: \n "
<< "1- Technical literature \n "
<< "2- Fiction literature \n "
<< "3- Textbook" << endl;
int i;
cin >> i;
switch (i) {
case 1:
Type = "Technical literature";
break;
case 2:
Type = "Fiction literature";
break;
case 3:
Type = "Textbook";
break;
default:
cout << "Erorr you entered a wrong choice" << endl;
goto Choice;
}
}
想一想枚舉的實際類型是什麼,以及它將在您顯示的代碼中替換什麼。 –
你也想檢查你是否成功讀取任何東西:'if(std :: cin >> i){...}' –
你的老師意味着你應該枚舉值而不是'魔術'數字。你可以避免goto循環,因爲 – Lol4t0