Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

wo ist Fehler:

out<<"Wollen Sie jetz die Daten öffnen ?"<<endl;

cout<<"mit 1 ja"<<endl;

cout<<"mit 0 nein"<<endl;

cin>>janein;

while((janein == 0) && (janein == 1) ){

if(janein=1){

cout<<"Die Zahl ist 1 "<<endl;

}

if(janein=0){

cout<<"Die Zahl ist 0"<<endl;

}

}

cout<<"Sie haben falsche Zahl eingegeben"<<endl;

Egal welche Zahl ich angebe komme ich nicht rein ????

Original geschrieben von 007ski

while((janein == 0) && (janein == 1) )

dieser fall tritt nie ein, da janein nicht 0 UND 1 sein kann. Wahrscheinlich meinst du "logisch oder", bzw. " || " .

achja die klammern sind auch nicht nötig, es könnte also

while(janein == 0 || janein == 1 )

heißen.

Außerdem weist Du in der If-Anweisung janein den Wert 1 bzw 0 zu statt zu vergleichen

besser:


if(janein==1)

{

  cout<<"Die Zahl ist 1 "<<endl;

}

if(janein==0)

{

  cout<<"Die Zahl ist 0"<<endl;

}
oder kürzer:

if(janein==1)

	cout<<"Die Zahl ist 1 "<<endl;

else

	cout<<"Die Zahl ist 0"<<endl;

, denn es kann dann ja nur 1 oder 0 sein.

  • Autor

Und was ist wenn der User tippt 6 ??

Wenn ich möchte den User nur auf drei angaben begrenzen ?

So kriege ich Fehler:

do{

if(janein=1){

cout<<"Die Zahl ist 1 "<<endl;

}

if(janein=0){

cout<<"Die Zahl ist 0"<<endl;

}

}while(((janein == 0 )|| (janein == 1))<4 );

Original geschrieben von 007ski

Und was ist wenn der User tippt 6 ??

Wenn ich möchte den User nur auf drei angaben begrenzen ?

So kriege ich Fehler:

do{

if(janein=1){

cout<<"Die Zahl ist 1 "<<endl;

}

if(janein=0){

cout<<"Die Zahl ist 0"<<endl;

}

}while(((janein == 0 )|| (janein == 1))<4 );

Zum einen ist es wieder so, das du in den if-Abfragen janein 1 bzw. 0 zuweist, dass muss wie schon erwähnt wurde "==" sein.

dann ist die zeile

while(((janein == 0 )|| (janein == 1))<4 );

nicht in Ordnung. Denn eine Bedingung wie " ((janein == 0 )|| (janein == 1)) " kann nur wahr oder falsch sein, nicht aber kleiner vier.

hier wäre wohl

while((janein == 0 || janein == 1) && janein < 4);

richtig.

  • Autor

Danke sub7 und Citrus-Motte,

Ihr versuch ist aber nicht ganz richtig. Wenn ich eine andere Zahl als 1 oder 0 eingebe dann der progi merkt das zwar, aber beendet auch das Programm und ich wollte den Benutzer drei versuche erlauben dh. Nach erst nach drei falschen versuchen das progi beenden

Original geschrieben von 007ski

Danke sub7 und Citrus-Motte,

Ihr versuch ist aber nicht ganz richtig. Wenn ich eine andere Zahl als 1 oder 0 eingebe dann der progi merkt das zwar, aber beendet auch das Programm und ich wollte den Benutzer drei versuche erlauben dh. Nach erst nach drei falschen versuchen das progi beenden

Dazu bräuchtest du dann einen Zähler der die Fehleversuche zählt..

das müsste ungefähr so aussehen....


int iFehlZahl = 0;
.
.
.
do
{

cin>>janein;

if(janein==1)
{
iFehlZahl = 0;
cout<<"Die Zahl ist 1 "<<endl;
}
else
{
if(janein==0)
{
iFehlZahl = 0;
cout<<"Die Zahl ist 0"<<endl;
}
else
iFehlZahl++;
}

}while( janein == 0 || janein == 1 || iFehlZahl == 3);
[/PHP]

so müssts funzen...

int falschezahl=0;

do

{

if(janein==1)

{

cout<<"Die Zahl ist 1 "<<endl;

}

if(janein==0)

{

cout<<"Die Zahl ist 0"<<endl;

}

if(janein!=0 && janein!=1)

{

i++;

}

}while(falschezahl < 4);

dann vielleicht so? wenn du die anzahl der falschen eingaben einbeziehen willst, musst du die auch zählen, oder versteh ich dich jetzt ganz falsch?

EDIT: zu langsam :(

Hallo,

bei der Version von sub7 ist noch eine 4. falsche Eingabe möglich bevor abgebrochen wird, außerdem kommt man immernoch in die Endlosschleife.

Ich schlage außerdem vor den Fehlerzähler bei einer richtigen Eingabe wieder zurückzusetzen:


int falschezahl=1, janein;

cout<<"Wollen Sie jetz die Daten öffnen ?"<<endl;

cout<<"mit 1 ja"<<endl;

cout<<"mit 0 nein"<<endl;

do

{

  cin>>janein;

  if(janein==1)

  {

    cout<<"Die Zahl ist 1 "<<endl;

    falschezahl=1;

  }

  else if(janein==0)

  {

    cout<<"Die Zahl ist 0"<<endl;

    falschezahl=1;

  }

  else

  {

    falschezahl++;

    cout<<"Sie haben falsche Zahl eingegeben"<<endl;

  }

}while(falschezahl < 4);

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.