【发布时间】:2018-10-16 06:43:24
【问题描述】:
我正在尝试获取和比较不同的数据。 我必须带上产品名称和价格 (橙汁,5) 但我的问题是我不知道如何为超过 1 种产品做到这一点。 我使用 getline 来获取数据,但我不知道他们会推出多少产品,也不知道如何停止循环。
(橙汁,5;牛奶,7;)
while (?????????) {
getline(cin, product, ',');
getline(cin, price, ';');
products[num] = product;
proces[num] = atoi(proce.c_str());
num++;
}
【问题讨论】:
-
如果您不知道大小甚至其他更适合您任务的容器,请使用
std::vector -
如果你不知道用户会插入多少产品,你必须问我如何给用户。您有不同的选择:在询问每个产品之前询问数字,或同意使用意味着“我结束了,没有更多产品可插入”(例如“输入 X 结束”)或其他可能更多的东西方便使用的。在任何情况下,使用 std:vector 代替
Product普通数组 (Product[]) 将简化您的生活 -
欢迎来到 Stack Overflow。很抱歉人们这么快就对你的问题投了反对票。您可以通过添加 minimal reproducible example 来改进回复。
标签: c++ loops while-loop cin getline