yo lo tengo!!!
Código C:
Ver original#include<conio.h>
#include<windows.h>
#include<stdio.h>
#include<string.h>
main()
{
int i=0,cont=0,contrasenia,user;
char passIngresado[15],c,usuarioIngresado[15],password[13]={112,114,111,103,114,97,109,97,99,105,111,110,0},usuario[7]="kattia";
do
{
scanf("%s",&usuarioIngresado
);
do
{
passIngresado[i]=c;
i++;
}
while(c!=13);
passIngresado[i-1]='\0';
for(int y=0; y<i; y++)
{
printf("%d\n",passIngresado
[y
]); }
contrasenia
=strcmp(password
,passIngresado
); user
=strcmp(usuario
,usuarioIngresado
); if(contrasenia!=0 || user!=0)
{
}
}
while(contrasenia!=0 || user!=0);
return 0;
}
Pero hay un error, por ejemplo, ingreso la contraseña y usuario correcto (el usuario correcto es "kattia" y contraseña "programacion") Funciona de maravilla.
Pero que pasa si ingreso un usuario o contraseña incorrecta y luego los ingreso correctamente, segun el programa no te los toma como buenos.
Y yo se lo que pasa, que el vector "passIngresado" se queda con los datos que se ingresaron por primera vez, y los va acumulando cuantas veces el usuario lo repita.
Entonces como hago para dejar en blanco totalmente el vector, probe usando un ciclo for, asi:
for(int g=0, g<i; g++)
passIngresado='\0';
pero lo que hace es que lo llena de 0, como hago para que el vector quede como fue declarado, sin nada??
o otra forma de hacerlo.
PD: el for
for(int y=0; y<i; y++)
{
printf("%d\n",passIngresado[y]);
}
solo esta para ver lo que tiene incluido el vector.