Avatar billede motz Nybegynder
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;
}
Avatar billede the_bma_man Nybegynder
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.
Avatar billede arne_v Ekspert
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.
Avatar billede motz Nybegynder
13. november 2003 - 20:54 #3
the_bma_man => atoi??
Avatar billede bertelbrander Novice
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);
Avatar billede motz Nybegynder
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.........
Avatar billede motz Nybegynder
13. november 2003 - 21:21 #6
Kan en ikke lige forklare den atoi??
Avatar billede arne_v Ekspert
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.
Avatar billede arne_v Ekspert
13. november 2003 - 21:26 #8
atoi konverterer fra C streng (nul termineret char array) til integer
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester