Parola programare C

Acest forum este dedicat intrebarilor de programare care nu-si au locul in unul din celelalte forumuri

Parola programare C

Mesajde Donuts » 28 Sep 2015, 18:05

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;
}
Donuts
Junior
Junior
 
Mesaje: 4
Membru din: 28 Sep 2015, 17:57
Judet: Iaşi

Re: Parola programare C

Mesajde Viorel » 28 Sep 2015, 20:48

Acest tip de șiruri de caractere se compară nu cu ‘==’, ci cu strcmp și stricmp:

Cod: Selectaţi tot
if( stricmp( username1, username) == 0)
. . . .
if( strcmp( password1, password) == 0)
. . . .
Viorel
Microsoft MVP
Microsoft MVP
 
Mesaje: 282
Membru din: 13 Iul 2007, 12:26

Re: Parola programare C

Mesajde Donuts » 29 Sep 2015, 20:10

Multumesc mult... :whorship: :thumbsup:
Donuts
Junior
Junior
 
Mesaje: 4
Membru din: 28 Sep 2015, 17:57
Judet: Iaşi

Re: Parola programare C

Mesajde Donuts » 30 Sep 2015, 19:20

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 " * " ) :?:
Donuts
Junior
Junior
 
Mesaje: 4
Membru din: 28 Sep 2015, 17:57
Judet: Iaşi

Re: Parola programare C

Mesajde Ovidiu Cucu » 01 Oct 2015, 10:59

_getch ia un caracter de la consola fara sa-l afiseze.
Deci ar trebui sa faci o bucla de genul:
Cod: Selectaţi tot
#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;
}
Avatar utilizator
Ovidiu Cucu
Fondator
Fondator
 
Mesaje: 3776
Membru din: 11 Iul 2007, 16:10
Localitate: Iasi
Judet: Iaşi

Re: Parola programare C

Mesajde Donuts » 08 Oct 2015, 21:08

Mersi!
Donuts
Junior
Junior
 
Mesaje: 4
Membru din: 28 Sep 2015, 17:57
Judet: Iaşi


Înapoi la Programare generala

Cine este conectat

Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat şi 2 vizitatori

cron