So lassen Sie Benutzer mehrere Zeilen eingeben

Joe

Ich möchte den Benutzer in die Lage versetzen, mehrere Zeilen von Zeichenfolgen einzugeben. Ich habe es mit einer for-Schleife versucht, aber bisher wird nur die letzte Zeile zurückgegeben.

Beispielsweise gibt der Benutzer die folgenden Zeichenfolgen und Zeilen ein. string str; getline(cin, str);

oder eine Schleife for(i=0;i<n;i++){ getline(cin, str);}

Dies sind die Eingaben, die der Benutzer eingibt

Basketball Baseball Fußball // Linie 1

Hockey Soccer Boxing "// Zeile 2

Jetzt möchte ich diese beiden Zeilen an einem Punkt zurückgeben können. Ich weiß nicht, wie ich das machen soll. Schwieriger finde ich es auch herauszufinden, ob der Benutzer nur eine, zwei oder drei Zeilen eingeben kann. Ich verstehe, wie man mit einem Hut umgeht cases, aber ich möchte jetzt wissen, ob es einen einfacheren Weg gibt, der nicht so chaotisch aussieht.

Nussknacker

Warum verwenden Sie nicht std::getlineeine while-Schleife, sodass die Schleife nach Eingabe der leeren Zeile wie folgt beendet wird:

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

int main() {
    std::string line;
    std::vector<std::string> lines;

    while (getline(std::cin, line) && !line.empty()) {
        lines.push_back(line);
    }

    std::cout << "User has entered " << lines.size() << " lines" << std::endl;
    for (auto const& l : lines) {
        std::cout << l << std::endl;
    }

    std::cout << "... End of program ..." << std::endl;
    return 0;
}

Sie können jede Zeile speichern, die der Benutzer in den std::vectorContainer eingegeben hat, und diese Zeilen später erneut abrufen.

Mögliche Ausgabe:

First line
Second line

User has entered 2 lines
First line
Second line
... End of program ...

AKTUALISIEREN

Wenn Sie dem Benutzer die Eingabe von nur 2 Zeilen ermöglichen möchten und die for-Schleife verwenden möchten, können Sie Folgendes tun:

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

int main() {
    std::string line;
    std::vector<std::string> lines;

    for (int i = 0; i < 2; i++) {
        std::getline(std::cin, line);
        lines.push_back(line);
    }

    std::cout << "User has entered " << lines.size() << " lines" << std::endl;
    for (auto const& l : lines) {
        std::cout << l << std::endl;
    }

    std::cout << "... End of program ..." << std::endl;
    return 0;
}

Und die Ausgabe könnte sein:

First line                                                                                                                                                                         
Second line                                                                                                                                                                        
User has entered 2 lines                                                                                                                                                           
First line                                                                                                                                                                         
Second line                                                                                                                                                                        
... End of program ...

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

So lassen Sie den Benutzer keine Zahlen in das Textfeld eingeben

So lassen Sie einen Benutzer eine Funktion eingeben

So pausieren Sie das Python-Skript und lassen den Benutzer das Linux-Terminal eingeben

So lassen Sie einen Benutzer einen Wert erneut eingeben, bis er gültig ist

Jupyter-Notizbuch: Lassen Sie einen Benutzer eine Zeichnung eingeben

Lassen Sie den Benutzer den Namen erneut eingeben

So lassen Sie selectizeInput zu, damit Benutzer neue Einträge eingeben und einige alte laden können

So lassen Sie einen Benutzer eine Jahreszahl eingeben und die durchschnittliche, minimale und maximale Lebenserwartung aus dieser Liste abrufen

So lassen Sie 0 und negative Zahlen weg, aber der Benutzer kann beispielsweise 10 in eckigen Materialien eingeben

MSSQL - So lassen Sie nicht zu, dass mehrere Benutzer denselben Datensatz anzeigen

So lassen Sie Javascript mehrere Spalten und Zeilen in einer Tabelle durchsuchen

So lassen Sie den Benutzer nur eine Eingabe von az eingeben und verwenden eine if-Anweisung, um die korrekte Eingabe aufzufordern

So wählen Sie Benutzer ohne bestimmte eine bis mehrere Zeilen in MySQL aus

PreferencesActivity with Fragment - So bestimmen Sie, ob Benutzer eingeben / verlassen

So verhindern Sie, dass Benutzer Sonderzeichen in ein Textfeld eingeben

Lassen Sie den Benutzer mehrere Elemente in cmd auswählen

Möchten Sie den Wörterbuchschlüssel vom Benutzer in ein Python-Funktionsargument eingeben lassen?

Wie lassen Sie den Benutzer eine lange Zeichenfolge in eine Variable eingeben?

Lassen Sie den Benutzer einen Wert in eine Zelle eingeben, die eine Formel enthält

Lassen Sie einen Benutzer das Punktzeichen nicht in eine HTML5-Eingabetypnummer eingeben

So suchen und ersetzen Sie mehrere Zeilen durch mehrere Zeilen

So lassen Sie nur bestimmte Benutzer ein Arbeitsblatt einblenden

So lassen Sie Benutzer Ping-Admins-Schienen entwickeln

So lassen Sie den Benutzer Daten in eine Datei herunterladen

So lassen Sie den Benutzer Abschnitte in einer UITableView neu anordnen

So lassen Sie den Benutzer die Breite eines Rahmens ändern

So lassen Sie Benutzer Bildanhänge in botframework senden

So lassen Sie Benutzer ihre eigene Domain verbinden

So lassen Sie verschiedene angemeldete Benutzer in Firebase verschiedene Seiten aufrufen

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  3. 3

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  4. 4

    Eclipse Oxygen - Projekte verschwinden

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Wie kann ich den Kaskadenmodus global einstellen?

  7. 7

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  8. 8

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  9. 9

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  10. 10

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  11. 11

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  12. 12

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  13. 13

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  14. 14

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  15. 15

    Wie wählt man Unterschiede mit drei Tabellen aus?

  16. 16

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  17. 17

    Wie kann ich meine Tabelle abfragen, um sie in mySQL nach 2 Feldern zu gruppieren?

  18. 18

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  19. 19

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  20. 20

    Modbus Python Schneider PM5300

  21. 21

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

heißlabel

Archiv