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

dario1133

validações

4 mensagens neste tópico

podem-me ajudar na validação do seguinte exemplo?como faço uma validação que inclua também os caracteres??

#include <stdio.h>

main()

{
int numeros_matricula_m, numeros_matricula_f;
char letras_matricula[50];

printf("por favor introduza a matricula do veiculo no formato(cc-nn-nn):");
             scanf("%s-%d-%d",letras_matricula,&numeros_matricula_m,&numeros_matricula_f);
      
             if ((numeros_matricula_m<0||numeros_matricula_m>99)||(numeros_matricula_f<0||numeros_matricula_f>99))
	printf("Erro na introducao da matricula, insera de novo\n");
	validar=1;
else validar=0;
   

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

primeiro praque um arrai de 50 caracteres, se uma matricula tem 2?

segundo, porque é que não metes tudo num array de caracteres em ves de estares a dividir?

terceiro, na tou a perceber patavina deste código

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

#include <stdio.h>

main()

{
  int numeros_matricula_m, numeros_matricula_f;
  char letras_matricula[5];

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

  if ((numeros_matricula_m<0||numeros_matricula_m>99)||numeros_matricula_f<0||numeros_matricula_f>99)){
      printf("Erro na introducao da matricula, insera de novo\n");
      validar=0;
  }
  else if ((letras_matricula[0] >= 'A' && letras_matricula[0] <= 'Z') && (letras_matricula[1] >= 'A' && letras_matricula[1] <= 'Z'))
      validar=1;
  else
      validar=0;


}

0 é inválido, 1 é válido.

é isto que te falta para validares as letras.

E repito a pergunta do asworm: Porquê 50 caracteres? Se fosse três, por causa do '\0', agora 50?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

#include <stdio.h>

main()



{
  int numeros_matricula_m, numeros_matricula_f;
  char letras_matricula[50];

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

  if ((numeros_matricula_m<0||numeros_matricula_m>99)||numeros_matricula_f<0||numeros_matricula_f>99)){
      printf("Erro na introducao da matricula, insera de novo\n");
      validar=0;
  }
  else if ((letras_matricula[0] >= 'A' && letras_matricula[0] <= 'Z') && (letras_matricula[1] >= 'A' && letras_matricula[1] <= 'Z'))
      validar=1;
  else
      validar=0;

  return validar;

}

é isto que te falta para validares as letras.

E repito a pergunta do asworm: Porquê 50 caracteres? Se fosse três, por causa do '\0', agora 50?

tipo na percebi mesmo o que ele cria, pensava que era pare verificar, comparar, im so sorry

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