hi all! eine ziemlich "blöde" Frage!
ich habe hier unten eine Kommentare geschrieben, wenn etwas aus zu verbessern gibt, schreibt bitte! Denn es ist mir sehr wichtig, ob ich die Funktionen der Schleifen wirklich verstanden habe. Zudem mein Deutsch ist auch nicht mein Bestes.
Hier ist das Programm :
Schreiben Sie ein Programm, das zunächst eine Zeichenkette (max. 80 Zeichen) einliest und dann immer wieder ein einzelnes Zeichen einliest und die Zeichenkette ausgibt, die entsteht wenn man das zuletzt eingegebene Zeichen aus der ursprünglichen Zeichenkette entfernt. (Das Programm soll durch Eingabe eines ! beendet werden.)
z.B. Eingabe: Kranke Schwestern
Eingabe: K
Ausgabe: ranke Schwestern
Eingabe: e
Ausgabe: Krank Schwstrn
Eingabe: !
Programmende
ich habe hier unten eine Kommentare geschrieben, wenn etwas aus zu verbessern gibt, schreibt bitte! Denn es ist mir sehr wichtig, ob ich die Funktionen der Schleifen wirklich verstanden habe. Zudem mein Deutsch ist auch nicht mein Bestes.
Hier ist das Programm :
Schreiben Sie ein Programm, das zunächst eine Zeichenkette (max. 80 Zeichen) einliest und dann immer wieder ein einzelnes Zeichen einliest und die Zeichenkette ausgibt, die entsteht wenn man das zuletzt eingegebene Zeichen aus der ursprünglichen Zeichenkette entfernt. (Das Programm soll durch Eingabe eines ! beendet werden.)
z.B. Eingabe: Kranke Schwestern
Eingabe: K
Ausgabe: ranke Schwestern
Eingabe: e
Ausgabe: Krank Schwstrn
Eingabe: !
Programmende
Code:
#include <iostream>
using namespace std;
int main ()
{
char zeichenkette[80], buchstabe;
do
{
cout << "Geben Sie ein Wort ein, das max. 80 Zeichen enthaelt: " << endl;
cin >> zeichenkette;
do
{
cout << "Geben Sie einen Buchstaben von dem Wort ein: " << endl;
cin >> buchstabe; //hier wird eingegeben
cout << endl; //lässt neue zeile anfangen
if (buchstabe != '!') //hier wird geprüft, daß die eingabe nicht "!" ist, da durch das Eingeben "!" das Programm beenden würde bzw. fragen wird, ob der User das Programm beenden will.
{
for (int i = 0; zeichenkette[i]!='\0'; i++) //hier wird der Wert von "i" zugewiesen bzw. dadurch wird die Zeichenkette von vorne an eingelesen und dann die bedingung gegeben und am Ende wird "i" re-initialisiert. die bedingung ist, ob nicht zeichenkette letzte zeichen ist
{ if (zeichenkette[i] != buchstabe) //hier wird geprüft, ob die nicht Zeichenkette Buchstabe ist bzw. wird dadurch die betroffene Buchstabe weggelassen
{
cout << zeichenkette[i]; //hier wird die "neu" eingelesene Zeichenkette ausgegeben
}
}
cout << endl; //lässt neue Zeile beginnen
cout << "(Zum Beenden bitte '!' eingeben)" << endl;
}
}
while (buchstabe != '!'); //hier wird geprüft, ob die eingabe "!" ist, da durch das Eingeben "!" das Programm beenden würde bzw. fragen wird, ob der User das Programm beenden will. Falls es "!" ist geht die Schleife weiter nach unten bzw. fragt das Programm, ob der User das Programm wirklich beenden will.
do
{
cout << "Wollen Sie das Programm wirklich beenden? (y/n):" << endl; //hier wird gefragt, ob der User das Programm beenden will. Wenn der user andere Zeichen als n und y eingibt, fragt das Programm einfach weiter.
cin >> buchstabe; //hier wird y oder n eingegeben(ich gehe davon aus, daß der User kein anderes Zecihen eingibt)
}
while (buchstabe != 'n' && buchstabe != 'y'); //hier wird geprüft, ob die Eingabe nicht "n" und "y" ist. Das heißt wenn der User eine ander Eingabe außer n und y eingibt, fragt das Programm wieder ob der User das Programm immer noch beenden will.
}
while(buchstabe == 'n'); //hier wird auch geprüft, ob die Eingabe "n" ist. Wenn das der Fall ist geht die Schleife weiter nach oben und fängt wieder oben an. Wenn nicht wird das Programm beendet.
return 0;
}