Siri_
Grünschnabel
Wunderschönen guten Abend erstmal,
ich hab hier ein kleines Programm welches vor sich hin zickt.
Generell gehts darum, Buchstaben aus einer Eingabe zu entfernen und die hinterbliebene Eingabe wieder auszugeben. (Was wann wo passiert, steht durch Kommentare ohnehin dabei.) Dies jedoch, solang der Benutzer will, also nicht immer nur einmal.
Funktioniert beim ersten Durchlauf auch wirklich spitze, nur beim 2. Durchlauf wirds lustig..
Wird hier ein Buchstabe eingegeben, sind im folgenden eingabe[] und ausgabe[] (kommen gleich im Programm vor), leer. (Habs mit Zwischenausgaben überprüft.)
Und ich finde grad wirklich den Fehler nicht.. und wäre für ein die-Nase-Richtung-Fehler-stoßen überaus dankbar.
ich hab hier ein kleines Programm welches vor sich hin zickt.
Generell gehts darum, Buchstaben aus einer Eingabe zu entfernen und die hinterbliebene Eingabe wieder auszugeben. (Was wann wo passiert, steht durch Kommentare ohnehin dabei.) Dies jedoch, solang der Benutzer will, also nicht immer nur einmal.
Funktioniert beim ersten Durchlauf auch wirklich spitze, nur beim 2. Durchlauf wirds lustig..
Wird hier ein Buchstabe eingegeben, sind im folgenden eingabe[] und ausgabe[] (kommen gleich im Programm vor), leer. (Habs mit Zwischenausgaben überprüft.)
Und ich finde grad wirklich den Fehler nicht.. und wäre für ein die-Nase-Richtung-Fehler-stoßen überaus dankbar.
Code:
char eingabe[80]={0}, ausgabe[80]={0}, buchstabe;
int j=0;
cout << "Bitte geben Sie eine Zeichenkette ein." << endl;
cin.getline(eingabe, 80);
while (buchstabe!='!') { // Programm mit ! beendbar
cout << "Bitte geben Sie einen Buchstaben ein, der eliminiert werden soll." <<
endl;
cin >> buchstabe;
for (int i=0; eingabe[i]!=0; i++) {
if (eingabe[i]!=buchstabe) { // suche Buchstabe in eingabe[]
ausgabe[j]=eingabe[i]; // kopiere eingabe[] in ausgabe[], exkl. buchstabe
j++; }
}
for (int i=0; i<80; i++) {
eingabe[i]=0;
} // lösche eingabe[]
for (int i=0; ausgabe[i]!=0; i++) {
eingabe[i]=ausgabe[i]; // kopiere ausgabe[] in eingabe[]
}
for (int j=0; j<80; j++) {
ausgabe[j]=0;
} // lösche ausgabe[]
cout << "Resultat: " << eingabe << endl;
}