limitar entrar cadena

Iniciado por abelnav12, 14 Julio 2016, 03:51 AM

0 Miembros y 1 Visitante están viendo este tema.

abelnav12

hola amigos del foro estoy haciendo un pequeño programa para practicar lo aprendido , en este caso estoy usando mucho los string , y la verdad se me esta haciendo un poco aprender sus funciones y usarlos para programar con condicionales o bucles . bueno estoy haciendo un programa usuario y pasword que mientras no me ponga la clave correcta seguirá un bucle pidiendo el pasword, bueno lo logre pero también quiero que me limite la clave , osea que cuando exceda la cantidad de caracteres de mi clave  , le salga un texto excediste la cantidad de letras o algo así pero estoy teniendo problemas por que me bota errores , no de compilacion pero si al ingresar los numeros que el char clave es de 5 caracteres deberia botarme error a los 6 pero a los mas de 7 me bota error, espero me puedan explicar por que me sale ese error . gracias

# include <stdio.h>
# include <string.h>
# include <stdlib.h>
int main()
{
char usuario[10];
    char clavecorrecta[5] = "2016";
        char clave[30];
        int comparacion;
do{
        printf("Ingrese su nombre de usuario: \n");
            scanf("%s",usuario);
        printf("Ahora ingrese su contraseña: \n");
            scanf("%s",clave);
            comparacion=strcmp(clavecorrecta,clave);
        if(comparacion!=0)
            {
           system("/usr/bin/clear"); //borra la pantalla es parecido clrscr , por cierto usa stdlib.h
           printf("-------------- clave incorrecta --------------  \n");
        }
        if(strlen(clave)>=6){
        printf("excediste la cantidad permitida \n");
        }
        else{
            printf("clave correcta");
        }}
        while(comparacion<0 || comparacion>0);

}

AlbertoBSD

Hola vas muy buen.

Ahora que trata de usar la etiqueta Geshi para poner el codigo en C


El error que mencionas esta en tu if

if(strlen(clave)>=6){

Deberia de ser solo mayor que 5

if(strlen(clave)>5){

Saludos!
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

abelnav12

Cita de: AlbertoBSD en 14 Julio 2016, 18:00 PM
Hola vas muy buen.

Ahora que trata de usar la etiqueta Geshi para poner el codigo en C


El error que mencionas esta en tu if

if(strlen(clave)>=6){

Deberia de ser solo mayor que 5

if(strlen(clave)>5){

Saludos!
Muchas gracias Alberto , tuve que ponerlo >= 5 , estaba viendo tus videos y me parecieron excelentes.espero que con el nivel que tengo pueda hacer unos de esos juegos que tienes en tu canal , saludos Abel