C++: Einkaufsliste nur noch Ausgabe?

antwortjabitte  25.10.2020, 21:56

Was separiert die Elemente der Einkaufsliste, wenn Du sie eingibst?

RadSrb 
Beitragsersteller
 25.10.2020, 21:57

was meinst du mit separtiert


antwortjabitte  25.10.2020, 21:58

trennen oder schreibst Du alles direkt aneinander e.g. ApfelTomateHund

RadSrb 
Beitragsersteller
 25.10.2020, 22:01

Nein ich lasse dazwischen einen Abstand mit Enter


3 Antworten

Du hast 2 Optionen: entweder Du benutzt ein Zeichen um Wörter zu trennen z.B. ';' oder Du liest die Wörter direkt als Strings ein in ein Vektor von Strings. Sonst hast Du keine Möglichkeit die Sachen in der Einkaufsliste zu trennen.

Evtl. hilft Dir das weiter:

#include<iostream>
#include<vector>
#include<string>

using namespace std;
int main()
{
    string item;
    vector<string> list;   
    while(cin >> item && item!="0") list.push_back(item);
    for(string element : list) cout << element << endl;
    return 0;
}

RadSrb 
Beitragsersteller
 25.10.2020, 22:22

danke dir das Problem hierbei ist das ich es nicht verstehe aber danke sehr

antwortjabitte  25.10.2020, 22:53
@RadSrb

Du kannst mir gerne schreiben was Du nicht verstehst und ich kann Dir dann evtl. morgen damit weiterhelfen.

Naja, du liest ja auch nur Buchstabe für Buchstabe in dein System ein, und am Ende gibst du alles Buchstabe für Buchstabe wieder aus... Was genau erwartest du denn für eine Ausgabe?!

Woher ich das weiß:Berufserfahrung – Anwendungsentwickler

RadSrb 
Beitragsersteller
 25.10.2020, 21:56

das das wort kommt was ich eingegeben habe z.B milch

DoWhileTrue  25.10.2020, 21:58
@RadSrb

Dann musst du das 'endl' am Ende deiner Ausgabe wegnehmen, damit du nicht nach jedem Buchstaben automatisch eine neue Zeile erzeugst

RadSrb 
Beitragsersteller
 25.10.2020, 21:59
@DoWhileTrue

hab ich probiert doch es macht trotzdem eine neue Zeile

RadSrb 
Beitragsersteller
 25.10.2020, 22:00
@RadSrb

das mit dem endl hab ich jetzt probiert doch jetzt hab ich das Problemm das jedes Wort zusammen hängt, also wenn ich Milch Butter schreibe dann steht MilchButter

DoWhileTrue  25.10.2020, 22:02
@RadSrb

Naja, du musst ja auch die eingegeben Wörter voneinander trennen^^

Am besten speicherst du deine eingegebenen Wörter in einem String und nicht in einzelnen Chars, machst dir einen Vector von Strings, und am Ende gibst du jeden String (also jedes Wort) in einer neuen Zeile mit endl aus

DoWhileTrue  25.10.2020, 22:07
@RadSrb

Nein... Du musst dir irgend ein trennzeichen überlegen mit dem du die Wörter voneinander trennen kannst (zB ein Leerzeichen), und damit separierst du dann deine Ausgabe (du kannst es natürlich auch mit den Chars machen)