gpt4 book ai didi

c++ - 营养转换器的食谱

转载 作者:太空宇宙 更新时间:2023-11-04 11:47:06 25 4
gpt4 key购买 nike

我已经准备好了一切,但我遇到了一个问题,我的教授希望我们询问用户将提供多少份,我的问题是:

string recipeName, userInputStr, servingNumber;

int userInputInt;
double totalCals, totalCarbs;
// initialize accumlator variables
totalCals = 0.;
totalCarbs = 0;
// asking for name of recipe and number of servings
cout << "What is the name of your recipe? ";
getline(cin, recipeName);
cout << "How many servings would you like? ";
getline(cin, servingNumber);
istringstream(servingNumber) >> totalCals, totalCarbs;
if (servingNumber<1 || servingNumber>10)
{
cout << "You have entered the wrong answer. " << endl;
return 0;
}

更具体地说,它在这里:

if (servingNumber<1 || servingNumber>10)

我一直在 < 和 > 上收到错误,说“没有运算符匹配这些操作数”

我被告知我应该将字符串 servingNumber 转换为 int 然后比较它,但它不是在这里转换吗?:

   istringstream(servingNumber) >> totalCals, totalCarbs;

然后在if语句上比较?

我不确定我做错了什么..

最佳答案

您将这些变量声明为字符串,但是当您将它们与整数进行比较时,不存在采用这些参数的重载,并且不存在可接受的转换。我想你的意思是让他们成为整数:

string recipeNamem userInputStr;
int servingNumber; /*
^^^

您也不需要 istringstream


此外,不要执行 getline(cin, servingNumber),而是执行 cin >> servingNumber

关于c++ - 营养转换器的食谱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19484779/

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