Ir ao conteúdo
  • Cadastre-se

C Vale a pena ficar limitando os valores que o usuário digita ?


Posts recomendados

Em programas pequenos, acho que não tem problema nenhum fazer isso, mas quando fico limitando em um programa grande, percebo que ele fica muito denso por estar cheio de whiles.

Tô aprendendo agora, então vocês diriam que vale a pena limitar ou sugerem que eu faça outra coisa ?

Link para o comentário
Compartilhar em outros sites

Acho bom limitar. Se você está repetindo o mesmo código várias vezes, faça uma função:

#include <iostream>

using namespace std;
int input_check(int min, int max)
{
    int x = min-1;
    cout << "Digite um valor entre " << min << " e " << max << endl;
	while ((x < min) || (x > max)) cin >> x;
    return x;
}

int main()
{
    int x;
  
    x = input_check(10, 100);
    cout << x << endl;
    
     x = input_check(1, 5);
    cout << x << endl;
    
     x = input_check(0, 10);
    cout << x << endl;
    
     x = input_check(-10, 10);
    cout << x << endl;

    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

18 horas atrás, Eduardo V. D. C. Noblat disse:

Não cheguei a aprender função ainda, poderia explicar como essa aí funcionaria ?

você passa dois valores, um mínimo e um máximo e ela retornar o valor digitado pelo usuário. Se o valor digitado está fora dos limites, a função fica em loop até um valor válido ser digitado.

Link para o comentário
Compartilhar em outros sites

printf("Digite o número da sua figura :\n 1 = cone\n 2 = cilindro\n 3 = esfera\n 4 = pirâmide\n\n");
scanf("%i",&figura);

while(figura!=1 && figura!=2 && figura!=3 && figura!=4){
    printf("\n\n Digite um número válido :");
    scanf("%i",&figura);}

Quando o usuário digita um número inválido, o ciclo repete normalmente, mas se ele digitar um caractere, aparecem inúmeros "Digite um número válido".

Link para o comentário
Compartilhar em outros sites

3 horas atrás, Eduardo V. D. C. Noblat disse:

se o usuário digita uma letra em vez de um número, o programa executa tudo de uma vez sem considerar nada que o usuário digite depois, como contornar isso

Geralmente se usa uma string para ler o conteúdo que os usuários digitam, isso evita erros de leitura que impactam no correto funcionamento dos programas com aquela telinha preta. Depois de ler a string você processa ela, criticando ou separando a string para extrair as informações que o programa precisa.

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...