Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    13

    [C]Confronto password con stringhe

    Ciao a tutti!
    Sto scrivendo un programma che data una password di input, la confronti con un'altra inserita dall'utente.

    Il codice scritto fino ad ora è il seguente:


    #include <stdio.h>
    #include <stdlib.h>



    int main() {

    char password[20]="albero";
    char inserita[20];
    int l=0;
    int i=0;


    printf("Inserisci una password:");
    scanf("%c", password);

    printf("Qual'e' la password?:");
    scanf("%c", inserita);



    while( password[l] != '\0') l++;
    while( inserita[i] != '\0') i++;


    if (l == i){
    CONFRONTO CARATTERI?! come?

    }


    else {
    printf("La password inserita e' errata");
    }





    system("pause");
    }


    Inserita la password, viene chiesto all'untente di indovinarla, viene controllata la lunghezza di entrambe, nel caso è uguale deve procedere con il confronto dei caraterri, se diversa esce direttamente,

    IL problema è che non so come effettuare il confronto dei caraterri, inoltre esiste un comando che trasformi la password inserita in asterischi, o la nasconda?

    Grazie dell'aiuto

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: [C]Confronto password con stringhe

    Il codice non si quota ma va postato usando il tag CODE

    Poi:
    codice:
    scanf("%c", password);
    L'intenzione è acquisire una stringa? Allora usa %s.

    codice:
    while( password[l] != '\0') l++;
    while( inserita[i] != '\0') i++;
    Immagino sia per calcolare la lunghezza delle stringhe ma meglio se usi strlen().

    Per verificare se due stringhe sono uguali usa strcmp (o strncmp). Ricordarti di includere string.h.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    13
    Dovevo eseguirlo senza l'utilizzo della libreria string.h

    Ho risolto con il senguente codice:


    codice:
    #include<stdio.h>
    #include<stdlib.h>
    
    int main(){
                char password[20]="pippo";
                char password_u[20];
                int lung_1;
                int lung_2;
                int p;
                bool pw=false;
                
    
        printf("inserire la password: ");
        scanf("%s",password_u);
    
        lung_1=0;
        lung_2=0;
        while(password_u[lung_1]!='\0'){
                         lung_1++;
        }
        while(password[lung_2]!='\0'){
                         lung_2++;
        }
        if(lung_1==lung_2){
                          pw=true;
                          p=0;
                          do{
                              if(password_u[p]!=password[p]){
                              pw=false;
                              }
                              p++;
                              }while(pw==true && p<lung_2);
          }
        if(pw==true)    
                    printf("\npassword e' corretta ");
        else {
              printf("\npassword errata ");
        }
        printf("\n\n\n");
        system("pause");
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.