Come terminare un ciclo quando premo invio

di il
6 risposte

Come terminare un ciclo quando premo invio

Salve a tutti sto creando un semplice login che chiede nome e password e verifica che siano corretti.
Quando digito la password le lettere vengono sostituite dagli asterischi.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
  int i;
  char user[21]="esempio";
  char pass[21]="esempio";
  char nome[21];
  char password[21];
  printf("   LOGIN\n\n\n");
  printf("   Username: ");
  gets(nome);
  printf("   Password: ");
  for(i=0;i<20;i++){
    password[i]=getch();
    fflush(stdin);
    printf("*");
  }
  system("cls");
  if(strcmp(user,nome)==0&&strcmp(password,pass)==0)
    printf("Nome utente e password corretti\n");
  if(strcmp(user,nome)!=0||strcmp(password,pass)!=0)
    printf("Nome utente o password errati\n");
  fflush(stdin);
  getch();
  return 0;
}
però siccome prende un carattere alla volta e ho fatto un ciclo for, quando premo invio continua a chiedermi i caratteri. Volevo sapere come fare in modo che una volta premuto invio il ciclo terminasse?
Grazie a tutti in anticipo

6 Risposte

Devi accedere o registrarti per scrivere nel forum
6 risposte