Boas!
o meu professor de bases de programação pediu para fazer o seguinte programa
1-Crie um programa que peça ao utilizador para introduzir uma palavra passe.
a. Deve garantir que a palavra passe tem um tamanho entre 8 e 10 caracteres.
b. Deve garantir que a palavra passe contém letras e números. Para tal deve percorrer
todos os caracteres da palavra passe introduzida e verificar se esse carácter é uma
letra ou um número.
alguem me pode ajudar sff??
ainda precisas disso?
a A ) é facil. Basta ver quantos caracteres tem a string, e fazer um if para verificar.
a B ) não sei a sintaxe de cór, mas podes ir pelo codigo ASCII, para fazer o check as letras e numeros, e só aceitar se forem ambos validos.
Quote from: GogetaBoas!
o meu professor de bases de programação pediu para fazer o seguinte programa
1-Crie um programa que peça ao utilizador para introduzir uma palavra passe.
a. Deve garantir que a palavra passe tem um tamanho entre 8 e 10 caracteres.
b. Deve garantir que a palavra passe contém letras e números. Para tal deve percorrer
todos os caracteres da palavra passe introduzida e verificar se esse carácter é uma
letra ou um número.
alguem me pode ajudar sff??
Ou podes usar Lex para fazer essa validação. Não há grandes problemas quanto ao facto de ter que ser em C/C++, pois os ficheiros lex são convertidos para C.
Ficheiro Lex (ex: pass.l):
%{
int numchars;
int valid;
%}
%%
[a-zA-Z0-9] {numchars++;}
. {valid = 0;}
\n;
%%
int main()
{
numchars = 0;
valid = 1;
yylex();
if (numchars <= 10 && numchars >= 8 && valid)
printf("Válida.");
else
printf("Não válida");
return 0;
}
int yywrap()
{
return 1;
}Para compilar (assumindo que já existe o compilador de Lex no sistema operativo):
lex -i pass.l
cc -o PASS lex.yy.c -llPenso não me ter enganado...

/biggrin.png\' class=\'bbc_emoticon\' alt=\':D\' />
EDIT: Só há uma coisa. Dizes que o programa tem que garantir que a password tem que ter obrigatoriamente letras e números, ou que só pode conter letras ou números?