TEMA

Alguem sabe onde está o erro? Está dando 5%

Guilherme Chizzolini Andreotti preguntado 1 month ago

include include

int main() {

int i, T, minu = 0, maiu = 0, inv = 0, num = 0;
char S[50];

while(fgets(S, 50, stdin)){

    T = strlen(S)-1;
    minu = 0, maiu = 0, num = 0, inv = 0;
    if(T >= 6 && T <= 32){
        for(i=0; i < T; i++){
            if(S[i] >= 'A' && S[i] <= 'Z'){
                maiu = maiu + 1;
            }
            else if(S[i] >= 'a' && S[i] <= 'z'){
                minu = minu + 1;
            }
            else if(S[i] >= '0' && S[i] <= '9'){
                num = num + 1;
            } else{
                inv = inv + 1;
                break;
            }
        }
        if(inv == 1 || minu == 0 || maiu == 0 || num == 0){
            printf("Senha invalida.\n");
        } else{
            printf("Senha valida.\n");
        }
    } else{
        printf("Senha invalida.\n");
    }
}
return 0;

}

Recuerda no enviar soluciones. Tu mensaje puede ser revisado por nuestros moderadores.

  • feodorv respondido 1 month ago

            if(inv == 1 || minu == 0 || maiu == 0 || num == 0){

    Seems you mean

            if(inv >= 1 || minu == 0 || maiu == 0 || num == 0){