• 0
Sign in to follow this  
VinnoxD

Duvida com While dentro de função if

Question

Ola pessoal, Boa noite. Bom, estou com duvida em uma questão que resumindo, pede para o usuario digitar um numero qualquer, caso o numero seja Par, o anunciado pede para o programa mostrar os 10 proximo numeros pares depois do numero digitado pelo usuario. Tentando eu consegui fazer. Porem não foi satisfatório pra mim. Segue a baixo o Codigo:

    printf("Digite um numero\n");
    scanf("%d",&Numero);
  
    Calculo=Numero%2;
    
    if (Calculo==0){
      Some= Numero+2;
         qtd++;

           printf("%d,",Some);
            while(qtd>=2 && qtd<=10){ 
             Some=Some+2;
              printf("%d,",Some);
               qtd++;
           }        
    }    
}

A parte que foi colocada em Negrito eu queria colocar ja dentro do While. Porem quando fazia isso, o programa pedia para o usuario digitar o numero, porem após digitar, o progama nem Finalizava e nem entrava no While. 
Bom, Obrigado pela atenção de todos voces :D 

 

Edited by VinnoxD

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Bom dia, VinnoxD.

Encontrei uma solução como pede o seu algoritmo - com um "while" dentro de um "if".Segue o código:

 

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

int main(int argc, char* argv[])
{
    /* primeiro você declara duas variáveis simples(numero, e i) e um vetor de inteiros para
       armazenar os dez números pares(prox_pares[10]).atribua(inicialize com) o valor 1 a variável i
    */
    int numero;
    int prox_pares[10];
    int i = 1;


    printf("Digite um numero qualquer: ");
    scanf("%d", &numero);

    //Nesta parte do código você pode fazer a verificação se o número é par direto dentro do "if".Sem ser necessário usar
    //a variável Calculo do seu código
    if(numero % 2 == 0){
        /* Inicialize o primeiro elemento do vetor de 10 elementos(prox_pares[0]) com a soma da variável numero mais 2 - o primeiro número
           par depois do numero armazenado em numero.
        */
        prox_pares[0] = numero + 2;

        //Aqui a variável i funcionará como contador dentro do "while" (while(i < 10)).Esse contador irá variar de 1 até 9. Lemgra que
        //na declaração i foi inicializada com o valor 1?
        while(i < 10){
            /* Aqui no bloco do "while" a variável i é usada como índice do vetor.A cada elemento de prox_pares,
               começando no segundo elemento - prox_pares[1], e e indo até o último elemento - prox_pares[9].
               prox_pares[i] armazena o valor do elemeto anterior - prox_pares[i - 1] mais o valor 2.
               Em seguida a variável i é incrementada(i++)

            */
            prox_pares[i] = prox_pares[i - 1] + 2;
            i++;
        }

        printf("Dez numeros pares depois de %d:\n", numero);

        /* O laço for irá exibir os pares armazenados no vetor, um elemento por linha.
        */
        for(i = 0; i < 10; i++){
            printf("%d\n", prox_pares[i]);
        }


    }else{
        //Se o numero digitado não for par é exibida está mensagem.
        printf("O numero digitado e impar!\n");
    }

    //Causa uma pausa na execução do programa para que o usuário possa ver os dez pares.
    system("pause > NULL");

    return 0;
}

Espero ter ajudado.Abraço.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this