Ajuda em c++.....

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.
 
Última edição:
Originally posted by Sky Fox
Se keres ler com o gectchar tens de fazer um case ou uma serie de ifs onde vais atribuir o valor inteiro ao correspondente caracter. No lugar de fazeres x=c tens que testar qual foi o caracter introduzido por exemplo 1 e ai dizes que o x=1, etc...
é isso k eu vou fazer :)




Originally posted by Sky Fox
Mas explica la o que pretendes com essa cena do getchar, mas reconhecendo numeros e nao caracteres, ainda nao consegui perceber o que keres fazer com isso. Kerer fazer é bonito, mas vai-te servir p ke????
é mesmo só para fazer bonito :001:
 
Re: Código....

Originally posted by FASC
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.

isso já é mt para mim... prefiro fazer com o case que percebo mt melhor, de qualquer maneira obrigado!
 
finalmente...

já sei porquê que vocês na estavam a perceber o que eu queria fazer:
-porque eu falei na função getchar(); e a função que eu queria era a getch();... :-D

fiquem bem, o meu programa ficou fixe (axo eu) e mt obrigado por tudo.
 
Back
Topo