2016-11-22 37 views
-2

我有一个类的任务,我必须读取一个项目的名称,它的重量,然后价格。我如何创建一个while循环来将每个单独的元素存储到一个字符串中,并分别创建两个双精度元素?从文本文件如何从一个文本文件读取多个东西到C++

实施例:

香蕉

1.31

0.99

肋眼牛排

2.55

14.96

鸡胸值包

7.85

21.97

干狗粮

20.00

14.99

苹果

2.50

3.49

+3

尝试一些东西,告诉我们你试过的东西,如果你甚至不能开始,那么你应该回到你的教师 – pm100

+0

你可以使用一个初始设置为0的计数器,并在每次处理一行时增加一个计数器。假设你有一个文件:'std :: ifstream file(“filename.txt”)'和一个'std :: string str',它将顺序地保存文件的每一行。循环遍历文件:'while(std :: getline(file,str))'现在你必须检查你刚刚读取的行是一个字符串还是一个double 。这是计数器部分:如果'counter%3 == 0',那么你刚刚读过产品名称,如果'counter%3 == 1',那么字符串就是重量等等。增量计数器;将字符串转换为使用sstream的倍数 – Polb

+6

向我们展示您的工作,并让我们知道您卡住的位置。这个社区是在这里帮助,但不是在这里做你的功课。看看[如何在堆栈溢出中提出一个好问题](https://www.google.ca/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwiMm9-VjLvQAhVV9WMKHXtQAGgQFggdMAA&url=http% 3A%2F%2Fstackoverflow.com%2Fhelp%2Fhow-to-ask&usg = AFQjCNEDXp3Jt0aiEKFPFI03PFSjhs3gAw&sig2 = MjWNvi_tIvs-_NjGrK445w&bvm = bv.139250283,d.cGc)获得更多帮助。 –

回答

-1

您可以循环,进入下一个角色做了,直到它击中一个空格,这时它把那成阵列,直到它完成它把它变成一个变量。你可以做所有你想做的事情,之后我不知道任何C++,但就是这样。

var out1 = ""; 

var out = []; 

for (var i =0; i<(the-file).length; i++) {if ((the-file)[i]=" ") { 

out=[out,out1]; 

var out1 = ""; 

} else { 

out1=out1+(the-file)[i] 
    } 
} 

和(的文件)是测试输入或正在使用的文件。 out是你想要做的事情的阵列,你可能不得不捣乱它,因为它可能会不起作用

+0

C++没有'var'之类的东西 – Danh

相关问题