13. november 2003 - 20:40
Der er
7 kommentarer og 1 løsning
Pin-kode
Til nedenstående stump kode har jeg spørgsmålene: Hvordan implementeres det således, at programmet automatisk kører videre, efter hinanden 4 indtastede cifre, uden at taste enter? Er det forkert at returne en unsigned int??. Hvis koden tastes som 0000, returnerer den jo bare 0. unsigned int Interface::getNewPinCode () { unsigned int pinCode1, pinCode2; bool pinCodeVerification = false; while (!pinCodeVerification) { system ("cls"); cout << "Indtast den ny 4-cifrede PIN-kode: "; cin >> pinCode1; if (pinCode1 >= 0000 && pinCode1 <= 9999) { cout << "\nGenindtast den 4-cifrede PIN-kode: "; cin >> pinCode2; } if (pinCode1 == pinCode2) pinCodeVerification = true; } return pinCode2; }
Annonceindlæg fra Novataris
13. november 2003 - 20:44
#1
du kan bruge en gammeldags løkke char tmpstr[5]; for (int i=0; i<4; i++) tmpstr[i] = getch(); og så lave en atoi på den læste streng.
13. november 2003 - 20:45
#2
Du kan godt bruge unsigned int, hvis du skal printe den så skal foranstille det nødvendige antal nuller. Standard C og C++ IO kræver retur. Det er platform/compiler specifikke funktioner til at læse keys uden retur.
13. november 2003 - 20:54
#3
the_bma_man => atoi??
13. november 2003 - 20:58
#4
char tmpstr[5]; for (int i=0; i<4; i++) tmpstr[i] = getch(); temp[4] = 0; Pinkode = atoi(temp);
13. november 2003 - 21:20
#5
Tak for hjælpen, men bertelbrander du mente vel: char tmpstr[5]; for (int i=0; i<4; i++) tmpstr[i] = getch(); pinCode1 = atoi(tmpstr); Det virker ihvertfaLd.........
13. november 2003 - 21:21
#6
Kan en ikke lige forklare den atoi??
13. november 2003 - 21:26
#7
Nej han mente nok at: temp[4] = 0; skal med. Det skal den nemlig ! Ellers er strenge ikke nul termineret.
13. november 2003 - 21:26
#8
atoi konverterer fra C streng (nul termineret char array) til integer
Kurser inden for grundlæggende programmering