Wenn dies dein erster Besuch hier ist, lese bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich registrieren, bevor du Beiträge verfassen kannst. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Dir kann es doch egal sein, ob der User jetzt Zahlen eingegeben hat oder nicht. Entweder ist die Eingabe gleich dem Pin oder er ist es eben nicht. Also reicht doch ein Vergleich zweier Strings...
@casio_O: Nimm doch einfach STL Strings, dann geht das mit dem Trimmen einfacher.
So wird geprüft ob es 4 stellen sind:
(cpin.size() == 4)
So wird geprüft ob in jeder Stelle eine Zahl:
((isdigit(cpin[0]) == false) || (isdigit(cpin[1]) == false) || (isdigit(cpin[2]) == false) || (isdigit(cpin[3]) == false))
Es funktioniert auf jeden Fall.. hab mir das jetzt unabhängig von euren Lösungen zusammen gebaut, da ich einfach noch nicht so weit bin :)
ich muss mich mit der for schleife von DerKiLLa erstmal noch ausführlicher beschäftigen. Hab bis jetzt nur mit do while schleifen gearbeitet und steig da auf die schnelle im Moment nicht hinter.
Dort wird eine Variable i = 0 definiert, diese wird auf i < 4 überprüft, weil ich 4 Zeichen des Strings überprüfen möchte? die variable i wird dann in jedem Durchlauf +1 gerechnet so das vom String die stelle 0-4 geprüft wird? ist das richtig?
Dann kann ich ja eigentlich besser:
if (cpin.Length == 4)
{
for (int i = 0; i < 3; i++)
{
if (Char.IsDigit(cpin[i]) == false)
ierror = 1;
}
schreiben oder? Es muss ja die Stelle 0-3 vom String überprüft werden.
edit: habs ausprobiert, muss also tatsächlich eine 4 drin stehen... hmm..
Kommentar