FASC
Power Member
Código....
Ok estive a vasculhar e consegui algo mais simples que te serve:
[uma correcção, não era sscanf() mas fgets()]
Uma função que analisa só o primeiro número e verifica se só tem mesmo um algarismo:
previamente inicializado:
#define M 256
char *option[M]
int function(char *option){
printf("Escolha uma opção: ");
fgets(option, M, stdin);
if(option[1]=='\n'){
if((*option=='1') || (*option=='2') || (*option=='3')){
if(*option=='1')
return 1;
else if(*option=='2')
return 2;
else
return 3;
}else
return -1;
}else
return -1;
}
Retorna: -1 se o número (neste caso) fôr maior que 3 ou menor que 1(ou inexistente), assim como se o número for constituido por mais ou menos do que 1 algarismo.
1,2,3 consoante a escolha efectuada.
Nesta função podes obviamente expandir o número de opções.
Hugs.
P.S. - Não consigo pôr isto identado de forma nenhuma.... Desculpa o mau jeito.
Ok estive a vasculhar e consegui algo mais simples que te serve:
[uma correcção, não era sscanf() mas fgets()]
Uma função que analisa só o primeiro número e verifica se só tem mesmo um algarismo:
previamente inicializado:
#define M 256
char *option[M]
int function(char *option){
printf("Escolha uma opção: ");
fgets(option, M, stdin);
if(option[1]=='\n'){
if((*option=='1') || (*option=='2') || (*option=='3')){
if(*option=='1')
return 1;
else if(*option=='2')
return 2;
else
return 3;
}else
return -1;
}else
return -1;
}
Retorna: -1 se o número (neste caso) fôr maior que 3 ou menor que 1(ou inexistente), assim como se o número for constituido por mais ou menos do que 1 algarismo.
1,2,3 consoante a escolha efectuada.
Nesta função podes obviamente expandir o número de opções.
Hugs.
P.S. - Não consigo pôr isto identado de forma nenhuma.... Desculpa o mau jeito.
Última edição: