gpt4 book ai didi

c++ - 使用开关,但我想使用字符串而不是int进行选择

转载 作者:行者123 更新时间:2023-12-02 10:30:19 31 4
gpt4 key购买 nike

下面的代码只是主要部分,不包括头文件或其他cpp文件。在程序末尾,我想将用户的选择打印到一个csv文件中。除非我可以更改用户做出选择的方式,否则我不会看到如何做。
1.我可以使用其他int来进行用户选择吗?
2.如果我能够根据用户的选择执行除int之外的其他操作,那么像到目前为止一样,只在最后打印到csv代码即可吗?

#include <iomanip>
#include <iostream>
#include <string>
#include <cstdlib>
#include <fstream>
#include "Header.h"
using namespace std;

void PrintDrink(Drink);

int main(int argc, char* argv[])
{
int meat;
int type;
string userName;
do {
cout << "\n\nThis program will help you BBQ some of the best meat you have ever tasted. With care taken to ensure \n";
cout << "these steps are followed and the correct temperatures are used, you will find yourself a BBQ expert in no time. \n\n";
cout << "Can we start with getting your name : ";
cin >> userName;
cout << userName << " welcome to this BBQ program.\n\n";
cout << "You can select any of the following to make today: \n";
cout << "1 - Chicken Wings\n";
cout << "2 - Chicken Breast\n";
cout << "3 - Whole Chicken\n";
cout << "4 - Chicken Thighs\n";
cout << "5 - Pork Ribs\n";
cout << "6 - Pork Roast\n";
cout << "7 - Pulled Pork\n";
cout << "8 - Pork Chops\n";
cout << "9 - Pork Tenderloin\n";
cout << "10 - Beef Ribs\n";
cout << "11 - Brisket\n";
cout << "12 - Prime Rib Roast\n";
cout << "Your selection: ";
cin >> meat;
switch (meat)
{
case 1:
cout << "Chicken Wings can be amazing.\n You have two options:\n";
cout << "grill - Grill them\n";
cout << "smoke - Smoke them\n";
cout << "Your selection: ";
cin >> type;
switch (type) {
case 1:
cout << "After seasoning the chicken\nCook them on a medium temperature grill.\nThey will be need to cook for approximately 6 to 8 minutes per side.";
break;
case 2:
cout << "Smoking your chicken will add great flavor.\nSmoke the wings at 250 degrees for approximately 2 to 2.5 hours.";
break;
}goto exit_loop;
case 2:
cout << "Chicken Breasts can be amazing.\n You have two options:\n";
cout << "1 - Grill them\n";
cout << "2 - Smoke them\n";
cout << "Your selection: ";
cin >> type;
switch (type) {
case 1:
cout << "After seasoning the chicken\nCook them on a medium temperature grill.\nThey will be need to cook for approximately 7 to 8 minutes per side.";
break;
case 2:
cout << "Smoking your chicken will add great flavor.\nSmoke the wings at 250 degrees for approximately 2.5 to 3 hours.";
break;
}goto exit_loop;
case 3:
while (meat == 3) {
cout << "A whole chicken needs time to be cooked to the perfect temperature.\nFor the best whole chicken there is really only one option:\n";
cout << "That one option is to smoke the whole chicken.\nWe need to cook this chicken for approximately 45 minutes per pound\n";
double chickWeight;
cout << "Please enter the weight of your whole chicken in pounds: ";
cin >> chickWeight;
double chickTime = chickWeight * 0.75;
cout << "You will need to cook your whole chicken for " << chickTime << " minutes.\nThe chicken thighs will need an internal temperature";
cout << "of 170 degrees and the breasts will need an internal temperature of 165.\n";
goto exit_loop;
}
case 4:
cout << "Chicken thighs can be amazing.\n You have two options:\n";
cout << "1 - Grill them\n";
cout << "2 - Smoke them\n";
cout << "Your selection: ";
cin >> type;
switch (type) {
case 1:
cout << "After seasoning the chicken\nCook them on a medium temperature grill.\nThey will be need to cook for approximately 6 to 8 minutes per side.";
break;
case 2:
cout << "Smoking your chicken will add great flavor.\nSmoke the wings at 250 degrees for approximately 2.5 to 3 hours.";
break;
}while (type < 3);
goto exit_loop;
case 5:
while (meat == 5) {
cout << "Pork ribs, whether they are baby racks, ST. Louis cuts, or any other type they are best when smoked low and slow.\n";
cout << "This amazing meat is really simple to BBQ. Smoke your ribs at 225 degrees for approximately 5 to 6 hours.\n";
cout << "The ribs are done when they are tender and will bend when picking them up.\n";
goto exit_loop;
}
case 6:
while (meat == 6) {
cout << "A pork roast needs time to be cooked to the perfect temperature.\nFor the best pork roast there is really only one option:\n";
cout << "That one option is to smoke the pork roast.\nWe need to cook this roast for approximately 1 hours per pound.\n";
double porkWeight;
cout << "Please enter the weight of your pork in pounds: ";
cin >> porkWeight;
double porkTime = porkWeight * 1;
cout << "You will need to cook your pork for " << porkTime << " hours.\nThe pork will need an internal temperature of 185-195 degrees.\n";
goto exit_loop;
}
case 7:
while (meat == 7) {
cout << "Pulled pork needs to be cooked to an internal temperature that allows the connective fibers to break down\nso there is really only one option for this:\n";
cout << "That one option is to smoke the pork low and slow.\nWe need to cook this pork for approximately 1.5 hour per pound.\n";
double porkWeight;
cout << "Please enter the weight of your pork in pounds: ";
cin >> porkWeight;
double porkTime = porkWeight * 1.5;
cout << "You will need to cook your pork for " << porkTime << " hours.\nThe pork will need an internal temperature of 203 degrees.\n";
goto exit_loop;
}
case 8:
cout << "Pork chops can be amazing.\n You have two options:\n";
cout << "1 - Grill them\n";
cout << "2 - Smoke them\n";
cout << "Your selection: ";
cin >> type;
switch (type) {
case 1:
cout << "After seasoning the pork chops\nCook them on a medium temperature grill.\nThey will be need to cook for approximately 4 to 5 minutes per side.";
break;
case 2:
cout << "Smoking your pork chops will add great flavor.\nSmoke the pork chops at 250 degrees for approximately 45 minutes to 1 hour.";
break;
}while (type < 3);
goto exit_loop;
case 9:
while (meat == 9) {
cout << "A pork tenderloin needs time to be cooked to the perfect tempurature.\nFor the best pork tenderloin there is really only one option:\n";
cout << "That one option is to smoke the pork tenderloin.\nWe need to cook this tenderloin for approximately 2.5 to 3 hours.\n";
cout << "The internal temperature needs to reach at least 145 degrees.\n";
goto exit_loop;
}
case 10:
while (meat == 10) {
cout << "Beef ribs needs to be cooked to an internal temperature that allows the connective fibers to break down\nso there is really only one option for this:\n";
cout << "That one option is to smoke the ribs low and slow.\nWe need to cook this beef for approximately 8 to 10 hours.\n";
cout << "The ribs are done when they are tender and have an internal temperature of 203 degrees.\n";
goto exit_loop;
}
case 11:
while (meat == 11) {
cout << "Brisket needs to be cooked to an internal temperature that allows the connective fibers to break down\nso there is really only one option for this:\n";
cout << "That one option is to smoke the brisket low and slow.\nWe need to cook this brisket for approximately 1.5 hour per pound.\n";
double beefWeight;
cout << "Please enter the weight of your brisket in pounds: ";
cin >> beefWeight;
double beefTime = beefWeight * 1.5;
cout << "You will need to cook your brisket for " << beefTime << " hours.\nThe brisket will need an internal temperature of 203 degrees.\n";
cout << "For the best results use a Texas crunch technique at around 160 degrees.\n";

goto exit_loop;
}
case 12:
while (meat == 12) {
cout << "Prime rib Roast needs to be cooked to an internal temperature of rare to medium for the best results\n and there is really only one option for this:\n";
cout << "That one option is to smoke the prime rib low and slow.\nWe need to cook this prime rib for approximately 40 minutes per pound.\n";
double beefWeight;
cout << "Please enter the weight of your prime rib in pounds: ";
cin >> beefWeight;
double beefTime = beefWeight * 0.67;
cout << "You will need to cook your prime rib for " << beefTime << " hours.\n";
cout << "The prime rib will need an internal temperature according to the desired doneness listed below\n";
string done_ness[3] = { "rare","medium rare", "medium" };
int int_temp[3] = { 130, 135, 140 };
for (int i = 0; i < 3; i++) {
cout << done_ness[i] << ":" << int_temp[i] << " degrees\n";
}
goto exit_loop;

}
}
} while (meat < 13); {exit_loop:;

string n;
int a;
Drink d1;

cout << "What do you want to drink while your meat is cooking?\n";
cout << "Enter your drink of choice: ";
cin >> n;
cout << "How many glasses do you think you can drink while your cooking? ";
cin >> a;
d1.setName(n);
d1.setAmount(a);
PrintDrink(d1);
cout << "\nEnjoy your drink or drinks because you will love the food you're making.";
}
}
void PrintDrink(Drink d1) {
cout << "\nThe name of drink you picked: " << d1.getName();
cout << "\nThe glasses you think you can drink are " << d1.getAmount() << endl;
}
int save() {
ofstream outfile("bbqfile.csv", ios::app);
ifstream infile;
string cont;
cout << "Would you like to save your selections to excell? (Y/N)";
cin >> cont;
while (cont == "Y") {
outfile << meat << type << end;
}
outfile.close();
while (cont == "N") {
system("pause");
return 0;
}
}

最佳答案

您可以使用字符串在用户选择的菜单选项之间进行比较。

string choice = " ";
cout<<"Enter choice "<<endl;
cin>>choice;

关于c++ - 使用开关,但我想使用字符串而不是int进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62492766/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com