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

Sign in to follow this  
dario1133

validações

Recommended Posts

dario1133

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;
   

}

Share this post


Link to post
Share on other sites
asworm

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


Got it?

Share this post


Link to post
Share on other sites
anolsi

#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?


"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Share this post


Link to post
Share on other sites
asworm

#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


Got it?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.