If Else wird nicht beachtet!
-
Hallo,
habe heute erst mit C++ angefangen und habe direkt ein Problem
#include <iostream>
using namespace std;
#include <cstdlib>int main() {
cout << "Passwort: "; int A; cin >> A; cout << "Passwort bestätigen: "; int B; cin >> B; if (A == B) cout << "Great!"; else cout << " I am sorry passworts do not match to another!"; system("PAUSE"); return 0;}
Das ist mein code aber wenn ich ihn ausführe fragt er mich nach dem passwort und sobalt ich enter drücke wird einfach aller nachfolgender Cout hingeschrieben (außer der cout vom else) und ich soll eine beliebige taste drügen (wegen system('PAUSE')
Ich möchte allerding eins nach dem anderen haben xDKann mir da jemand helfen?
-
Willst Du Ganzzahlen als Passwort? xD
Wenn Du beim ersten
cinetwas anderes als eine Zahl eingibst, dann wird kein Wert inAgespeichert, dhAbleibt uninitialisiert undcingeht in den Fehlerzustand, was dazu führt, daß das zweitecinsofort fehlschlägt. Was danach passiert ist purer Zufall, da auf die Werte der uninitialisiertenAundBzugegriffen wird, was Undefined Behaviour ist.
-
@Swordfish
Danke für die schnelle Anwort. Mit Zahlen funktioniert es...
Nur gibt es auch einen Weg Buchstaben als Passwort zu benutzen??
-
Einzelne Zeichen --> Datentyp
charfürAundB,
Zeichenketten --> Datentypstd::stringaus<string>fürAundB.Du solltest Dir angewöhnen, bei Benutzereingaben auf Fehler zu prüfen:
// ... int number{}; std::cin >> number; if( !std::cin ) { // handle input error } // ...oder kompakter:
// ... int number{}; if( !( std::cin >> number ) ) { // handle input error } // ...
-
#include <iostream>
using namespace std;
#include <cstdlib>
#include <string>int main() {
cout << "Passwort: "; char A; A = getchar(); cout << "Passwort bestätigen: "; char B; B = getchar(); if (A == B) cout << "Perfekt!"<< endl; else cout << " Passwort stimmt nicht ueberein! Erneut versuchen!" << endl; system("PAUSE"); return 0;}
Ähnliches Problem wie vorhin, die Überpfrüfung ist jetzt leider noch nicht dabei, funktioniert aber auch ohne schon nicht

-
Warum plötzlich
getchar()?Wenn Du - Hausnummer - den Buchstaben
'x'eingibst und danachEnterdrückst, dann ließt das erstegetchar()das'x'und das zweitegetchar()ein'\n'(Enter).Wass willst Du denn nu wirklich einlesen ... einzelne Buchstaben oder Zeichenketten?
Aja, schreib bitte über Deinen Code
```und unter Deinen Code```. Alternativ markiere Deinen Code und klicke auf</>.
-
Eigentlich eine Zahlenkette aber ich wollte erstmal mit einem Buchstaben anfangen...
Naja wie gesagt totaler Anfänger.
-
Dieser Beitrag wurde gelöscht!
-
Okey habs geschafft!
mit Strings hats funktioniert vielen Dank!!
-
Wenn du mit den zahlen nicht rechnen willst, solltest du immer strings nehmen. Postleitzahlen und Telefonnummern sind neben Passwörtern gute Beispiele dafür.