Jedes Mal, wenn ich mein Programm starte, wiederholt sich die Ausgabe in der ersten Zeile der do while-Schleife. Daher wird die Ausgabe "Enter characters to add ..." am Anfang jeder Schleife zweimal ausgegeben. Wie mache ich es nur einmal bei jeder Schleifenwiederholung ausgeben?Do While-Schleife Wiederholung Cout-Linie zweimal jede Schleife?
Hauptdatei
#include "LinkedList.h"
#include "ListNode.h"
#include "Node.h"
#include <iostream>
#include <stdlib.h>
using namespace std;
LinkedList<char> *setUpSentence() {
//allocate the linked list objet
LinkedList<char> *sentence = new LinkedList<char>();
char ch;
do {
cout << "Enter characters to add, enter full stop to finish adding." << endl;
ch = cin.get();
sentence->addAtEnd(ch);
} while (ch != '.');
return sentence;
}
int main() {
//call the function, store the returned pointer in sentence variable
LinkedList<char> *sentence = setUpSentence();
while(sentence->size > 0) {
cout << sentence->removeAtFront() << endl;
}
//delete to avoid memory leak
delete sentence;
}
Unrelated: 'LinkedList * Satz = new LinkedList ();' ist nicht notwendig, verwenden Sie einfach 'LinkedList Satz;' stattdessen und später gibt es nach Wert zurück. –
''\ n'' ist ein Zeichen. – melpomene
In Bezug auf Ihre eigentliche Frage: Bitte [bearbeiten] Sie Ihre Frage, um eine [MCVE] zur Verfügung zu stellen. –