Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RumblefishX

como tratar entrada de dados scanf?

Recommended Posts

Olá pessoal!

 

Tenho uma função que recebe 2 valores do tipo float como parametro, entretanto gostaria de tratar uma possivel excessão causada se o usuario inserir uma istring.

 

Como trataria o scanf para recusar strings e continuar rodando?

 

int main(){
    printf("Digite o valor referente ao teu Peso:\n");
    scanf("%f", &p);
    printf("Digite a sua altura:\n");
    scanf("%f",&a);
    calculo(p,a);
    return(0);
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, você deve fazer um laço de repetição para verificar o seu string!

 

float valor[20];

for(int i=0; i<20;i++)

{

char aux;

scanf("%c",&aux);

if(aux <= 48 && aux >=57)

{

valor = aux-48;

}

else

{

printf("Error");

i--;}

}

 

 

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.