Ir ao conteúdo
  • Cadastre-se
Cristiane18

While não executando

Recommended Posts

Preciso muito da ajuda de vocês, estou aprendendo a programar e estou com problemas no 'While'. Estou seguindo todas as instruções e meus amigos também não veem erro algum. 

A caixa de execução abre, porém não dá para digitar nem nada... Programei em C pelo CodeBlocks:

 

"

#include <stdio.h>
#include <stdlib.h>


int main()
{

    int val1 = -2;
    int val2 = -2;
    int soma;

    while (val1 < -2 || val2 < -2);
    {
        printf("\nDigite o primeiro valor ");
        scanf("%d",&val1);
        printf("Digite o segundo valor");
        scanf("%d",&val2);
    }

   

    soma = val1 + val2;
    printf("\nResultado: %d",soma);


    return 0;

}

 

"

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui funcionou normalmente.

adicionado 0 minutos depois

Deve ter algum problema com seu Codeblocks.

 

Obs: usei DevC++

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 minutos atrás, Math.Pi disse:

Aqui funcionou normalmente.

Funcionou da forma coerente , de tipo, enquanto não digitar um numero >-2 ele fica pedindo um número ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui também executa usando o DevC++ , mas seu código não tem sentido. Poderia postar o que foi pedido no exercício?

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 minutos atrás, rickreaper disse:

Aqui também executa usando o DevC++ , mas seu código não tem sentido. Poderia postar o que foi pedido no exercício?

  

Então, foi só como exemplo, eu nunca tinha visto o While. Funcionou da forma coerente , de tipo, enquanto não digitar um numero >-2 ele fica pedindo um número ?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

A ideia é a seguinte

    ESCREVER
    LER
        quando (Condição) {
            printar (algo nao ta certo);
            ler;
        }

 

 

Você ta colocando a condição antes mesmo do "quando"

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 minutos atrás, Cristiane18 disse:

  

Então, foi só como exemplo, eu nunca tinha visto o While. Funcionou da forma coerente , de tipo, enquanto não digitar um numero >-2 ele fica pedindo um número ?

 

 

Eu não testei o funcionamento do while.

Somente se ele pede os números e mostra a soma.

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 minutos atrás, Cristiane18 disse:

Sim, pedir o valor e se for <-2 ficar pedindo o valor novamente...

 

Sua linha do while está errada.

Primeiro, tire aquele ";" do final da linha.

Você está usando a comparação errada. 

Caso ele não aceite -2 ou menor, a linha ficaria assim:

 while (val1 <= -2 || val2 <= -2)

Do jeito que você fez, ele acaba não acessando o while, pois a comparação passa a ser falsa:

val1 = -2

val2 = -2

 while (val1 < -2 || val2 < -2)  ele não entra no while

 

 

Caso ele aceite -2 mas não aceite menores, você tem que mudar a atribuição inicial de val1 e val2 para -3 e a linha do while ficaria assim:

 while (val1 < -2 || val2 < -2)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 Eu escreveria assim por exemplo:

 

#include <stdio.h>
#include <stdlib.h>

int main() {

	int valor1, valor2;

	// Se a inteção é pedir pra digitar um numero que seja maior que -2 eu escrevria dessa forma
	
	printf("\nDigite o primeiro valor\n\n");
	scanf("%d",&valor1);
		while ( valor1 < -2 ) {
			printf("Valor negativo, tente novamente\n");
			printf("\nDigite o primeiro valor\n");
			scanf("%d",&valor1);
    }
	

    return 0;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×