C ++:嵌套切换案例

时间:2017-11-21 13:57:02

标签: c++

我有一个for循环,当输入数量编号时,循环将针对输入的数量运行。但遗憾的是,输出摘要仅显示一个输出。

例如,当用户输入数量2时,选择比萨饼,大小和添加的循环运行两次,但此特定行cout << sizetype << "/t" << pizzatype << "/t" << price << endl;中的摘要输出仅显示一个输出。不过,我想显示用户输入的两个输出。

需要帮助。

case 2:
    		
          cin >> quantity;
          for(int i=0; i<quantity; i++)
    			cout << "**Pizza Favourites**" << endl;
    			cout << "1. Italian Aloha" << endl;
    			cout << "2. Vegi Lover" << endl;
    			cout << "3. Ocean Delite" << endl << endl;
    			cout << "Choose Your Pizza (Enter Integer 1-3 Only) : ";
    			cin >> pizza;
    			switch (pizza)
    			{
    			case 1:
    				cout << "You've ordered Italian Aloha Pizza" << endl;
    				pizzatype = "Italian Aloha Pizza";
    				break;
    			case 2:
    				cout << "You've ordered Vegi Lover Pizza" << endl;
    				pizzatype = "Vegi Lover Pizza";
    				break;
    			case 3:
    				cout << "You've ordered Ocean Delite Pizza" << endl;
    				pizzatype = "Ocean Delite Pizza";
    				break;
    			default:
    				cout << "Invalid Input" << endl;
    				break;
    			}

    			cout << "**Pizza Sizes**" << endl;
    			cout << "1. Regular (R)" << endl;
    			cout << "2. Large (L)" << endl;
    			cout << "3. X-Large (X)" << endl << endl;
    			cout << "Choose Your Pizza Size (Enter Integer 1-3 Only) : ";
    			cin >> size;
    			switch (size)
    			{
    			case 1:
    				cout << "You've Chose Regular Sized Pizza" << endl;
    				sizetype = "Regular";
    				price = newRegular;
    				break;
    			case 2:
    				cout << "You've Chose Large Sized Pizza" << endl;
    				sizetype = "Large";
    				price = newLarge;
    				break;
    			case 3:
    				cout << "You've Chose X-Large Sized Pizza" << endl;
    				sizetype = "X-Large";
    				price = newXlarge;
    				break;
    			default:
    				cout << "Invalid Input" << endl;
    				break;
    			}
}
    			cout << "**Add On**" << endl;
    			cout << "Do You Want To Add On Extra Cheese ? (Enter Y for Yes and N for No) : ";
    			cin >> yesNo;
    			switch (yesNo)
    			{
    			case 'Y':
    				cout << "More Cheese, More Fun !" << endl;
    				cheesePrice = newCheese;
    				break;
    			case 'N':
    				cout << "No Extra Cheese Required !" << endl;
    				cheesePrice;
    				break;
    			default:
    				cout << "Invalid Input" << endl;
    				break;
    			}

    			cout << "WONDER PIZZA" << endl;
    			cout << "************" << endl;
    			cout << sizetype << "/t" << pizzatype << "/t" << price << endl;
    			cout << "Extra Cheese : " << cheesePrice << endl;
    			total = price + cheesePrice;
    			cout << "Total Payment : " << total << endl;
    			cout << "Please Insert Your Payment : " << payment << endl;
    			change = payment - total;
    			cout << "Change" << change << endl;
    			break;

1 个答案:

答案 0 :(得分:1)

是的,您可以将switch语句嵌套在外case语句的switch内。

内部break上的case将位于内部switch的上下文中。

(这会回答你的问题吗?我不确定那是你的问题。)