• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

dario1133

ajuda em validação

7 mensagens neste tópico

preciso de ajuda no seguinte codigo. porque nao faz a validação correctamente?

#include <stdio.h>

main()

{

char matricula[20];

printf("por favor introduza a matricula do veiculo no formato(cc-nn-nn):");
    scanf("%s",matricula);

if((matricula[0] >= 'A' && matricula[0] <= 'Z') && (matricula[1] >= 'A' && matricula[1] <= 'Z') && (matricula[2] >= 0 && matricula[2] <= 9) && (matricula[3] >= 0 && matricula[3] <= 9) && (matricula[4] >= 0 && matricula[4] <= 9) && (matricula[5] >= 0 && matricula[5] <= 9))
printf("matricula criada com sucesso");
else
printf("erro na introdução da matricula, introduza novamente");

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estás a receber tudo como caracteres e depois comparas como se fossem números. Experimenta meter os números também dentro de '.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Além do que o merlin3000 indicou, não estás a ter em conta os hífenes que separam os grupos de letras e números.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e agora? ja modifiquei da mal igual

#include <stdio.h>

main()

{

char matricula[20];

printf("por favor introduza a matricula do veiculo no formato(cc-nn-nn):");
    scanf("%s",matricula);

if((matricula[0] >= 'A' && matricula[0] <= 'Z') && (matricula[1] >= 'A' && matricula[1] <= 'Z') && (matricula[2] = '-') && (matricula[3] >= '0' && matricula[3] <= '9') && (matricula[4] >= '0' && matricula[4] <= '9') && (matricula[5] = '-') && (matricula[6] >= '0' && matricula[6] <= '9') && (matricula[7] >= '0' && matricula[7] <= '9'))
printf("matricula criada com sucesso");
else
printf("erro na introdução da matricula, introduza novamente");

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

quando comparas com os hífens só estás a usar um = tem que ser == senão estás a atribuir em vez de comparar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora