2017-05-14 77 views
-2

我想从order.txt读取订单,C++比较两个文本文件的上下文

Chocolate Chip Cookies 1 2 
Orange Jelly Candy  2 7 
Chocolate ice cream  3 11 
Cake Mix Cookies  1 10 

并决定是否有足够的产品stock.txt这是;

Name Type ItemCount  Price 
Chocolate Chip Cookies 1  4  600 
Orange Jelly Candy  2  5  150 
Cake Mix Cookies  1  12  180 
Peanut Butter Chocolate Chip Cookies 1 3 120 
Chocolate ice cream  3  2  240 
Gummi bears  2  15  300 
Raspberry Ripple  3  12  250 

对齐就是这样给出的。什么是最好的方式来做到这一点?有没有什么需要读取的文件,我可以像产品名称/数量/价格一样存储?

谢谢。

+0

这就是为什么我问“什么是最好的方式?”,而不是“最佳代码”。 –

+1

最好的方法是*尝试编写一些代码*。 –

回答

0

我不明白的第二和第三列表示什么,我认为其中之一是为了大小。

有很多方法可以做到这一点,我的方法可能不是在所有情况下最好的,但至少应该在你的工作:

  1. 阅读stock.txt文件,你可以看看这个example但它使用什么方法并不重要。重要的是将信息作为变量加入到程序中。希望你的文本文件使用一个标签来分隔字段(这个信息在问题中丢失了)。
  2. 把你得到的信息放入一个std::map,称之为orders,使用名称keyItemCount作为值。
  3. 现在阅读order.txt中的信息,使用key在您的orders中查找value
  4. 检查ItemCount至少与订单大小一样大。
+0

非常感谢。有用。 –

+0

@DoğukanArslan该问题没有具体说明,但需要考虑的问题是:如果在'orders.txt'中提及两次相同的项目会怎么样? –

-1

在现实世界的应用程序中,您将使用数据库来存储您股票的数据,并将写入一个从数据库中获取其值的类顺序。但是我不认为你想有那么多的努力,所以这里是一个esier方式: 您的库存数据被保存在一个简单的Excel表和秩序是一个文本文件 将Order.txt:

Beer 1|Paint 5|Oil 3|..... 

使用|为标记以按照 Bsp的顺序创建单个产品的子串。 ProductName数量id | ProductName2数量id2 | ....

至于Excel表格,你必须自己稍微研究一下,但用filereader编辑文件并不难。

希望我能帮助

+0

谢谢你采用这种不同的方法。 –