Page 1 of 1

Parola programare C

Posted: 28 Sep 2015, 18:05
by Donuts
Salutare!

Am creat un program in limbajul C pentru verificare UserName si Password, dar atunci cand introduc Username-ul corect imi afiseaza "Incorrect username, please try again."
Daca username-ul si parola ar fi formata din cifre totul e bine si frumos, dar cand vine vorba de caractere, recunosc ca nu sunt stapan.
Orice ajutor e binevenit. Va multumesc anticipat!
#include <stdio.h>
#include <string.h>

int main(){

char username[10] = "donuts";
char password[10] = "baubau";
char username1[10], password1[10];

printf("Username: ");
scanf("%s", &username1);

if (username1 == username)

{
printf("Introduceti parola: ");
scanf("%s", &password1);

{
if (password1 == password)

printf("Welcome!\n");

else

printf("Incorrect password.");}

}

else
{
printf("Incorrect username, please try again.\n"); }


return 0;
}

Re: Parola programare C

Posted: 28 Sep 2015, 20:48
by Viorel
Acest tip de șiruri de caractere se compară nu cu ‘==’, ci cu strcmp și stricmp:

Code: Select all

if( stricmp( username1, username) == 0)
. . . .
if( strcmp( password1, password) == 0)
. . . .

Re: Parola programare C

Posted: 29 Sep 2015, 20:10
by Donuts
Multumesc mult... :whorship: :thumbsup:

Re: Parola programare C

Posted: 30 Sep 2015, 19:20
by Donuts
Ca sa nu deschid alt topic, adaug tot aici.

Imi poate da cineva cateva indicatii cu privire la ascunderea parolei (atunci cand o introduc sa imi apara cu " * " ) :?:

Re: Parola programare C

Posted: 01 Oct 2015, 10:59
by Ovidiu Cucu
_getch ia un caracter de la consola fara sa-l afiseze.
Deci ar trebui sa faci o bucla de genul:

Code: Select all

#include <conio.h>

#define MAX_PASSWORD_LENGTHT 15

int main()
{
    // ...
    char password[MAX_PASSWORD_LENGTHT + 1] = {0};

    for(int index = 0; index < MAX_PASSWORD_LENGTHT; index++)
    {
        char c = _getch();
        if('\r' == c)
        {
            break;
        }
        password[index] = c;
         _putch('*');
    }
    _putch('\n');
    //...
    return 0;
}

Re: Parola programare C

Posted: 08 Oct 2015, 21:08
by Donuts
Mersi!