2016-11-22 3 views
-2

Ich habe eine Zuordnung für eine Klasse, wo ich den Namen eines Artikels lesen muss, ist Gewicht, und dann Preis. Wie erstelle ich eine while-Schleife, um jedes einzelne Element in einer Zeichenkette bzw. zwei Doppel zu speichern?Wie lese ich mehrere Dinge aus einer Textdatei in C++

Beispiel aus Textdatei:

Bananen

1,31

0,99

Rib Eye Steak

2,55

14,96

Chicken Breast Value Pack

7,85

21,97

Hundetrockenfutter

20,00

14,99

Äpfel

2,50

3,49

+3

versuchen Sie etwas, zeigen Sie uns, was Sie versucht haben, wenn Sie nicht starten können dann sollten Sie zurück zu Ihrem Instructor – pm100

+0

Sie könnten einen Zähler verwenden, der anfänglich auf 0 gesetzt ist und der sich jedes Mal erhöht, wenn Sie eine Zeile verarbeiten. Sie haben eine Datei: 'std :: ifstream file (" filename.txt ")' und eine 'std :: string str ', die nacheinander jede Zeile der Datei speichert. Blättern Sie durch die Datei:' while (std :: getline (file, str)) 'und jetzt müssen Sie überprüfen, ob die Zeile, die Sie gerade gelesen haben, eine Zeichenkette oder ein Doppel ist . Dies ist der Gegenpart: wenn 'counter% 3 == 0', dann haben Sie gerade den Produktnamen gelesen, wenn' counter% 3 == 1', dann ist die Zeichenkette das Gewicht und so weiter. Zähler erhöhen; wandeln Sie die Zeichenkette mit sstream in das Doppelte um – Polb

+6

Zeigen Sie uns Ihre Arbeit und lassen Sie uns wissen, wo Sie stecken bleiben. Diese Community ist hier um zu helfen, aber nicht hier um deine Hausaufgaben zu machen. Sehen Sie sich an, wie Sie eine gute Frage im Stapelüberlauf stellen können (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-ask & usg = AFQjCNEDXp3Jt0aiEKFPFI03PFSjhs3gAw & sig2 = MjWNvi_tIvs-_NjGrK445w & bvm = bv.139250283, d.cGc) für weitere Hilfe. –

Antwort

-1

Sie können for-Schleife eine tun, das auf das nächste Zeichen geht und es in eine Variable setzt, bis sie einen Platz trifft, und wenn das bringt geschieht es in ein Array, dass bis es fertig ist. und du kannst alles machen, was du willst und danach weiß ich nichts von C++, aber das wars.

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] 
    } 
} 

und (die-Datei) ist der Testeingang oder die Datei, die Sie verwenden. heraus ist das Array aus, dass Sie Sachen mit tun wollen, und Sie müssen damit zu tun haben, weil es Wahrscheinlichkeit nicht funktioniert

+0

C++ habe keine Sache wie 'var' – Danh

Verwandte Themen