Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Wilson Drapeynski Junior

C++ sucessor par em C++

Recommended Posts

Alguém consegue resolver esse programa?

Fazer um programa em C++ para ler do teclado um conjunto de dados onde cada linha contém um número par. Para cada número lido, calcular o seu sucessor par, imprimindo-os dois a dois em listagem de saida. A última entrada de dados contém o número zero. OBSERVACAO: o zero não deve ser considerado para o cálculo do sucessor par.

Editado por Simon Viegas
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz assim o programa, mas ele não esta como deveria, como no enunciado, pode me ajudar a corrigir os erros? Eu quero que calcule apenas o sucessor par, quando for ímpar imprima na tela que é número ímpar e quando for 0 saia do programa. Ou seja, do jeito que esta no enunciado

 

#include <iostream>
using namespace std;

main()
{
    int p, c;
    c=0;
    cout << "Digite o numero par e digite 0 para sair" << endl;
    cout << "par(" << c + 1 << ")";
    cin >> p;

    while (p != 0)
    {
        cout << p + 2 << endl;
        c = c + 1;
        cout << "par(" << c + 1 << "): ";
        cin >> p;
        if (p % 2 == 0)
        {
            cout << "Esse numero eh par" << endl;
        }
        else
            cout << "Esse numero eh impar" << endl;
    }

}


 

Editado por Simon Viegas
Ao postar um código, antes pressione o botão "<>" na barra de ferramentas
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Wilson Drapeynski Junior     seu código está funcionando bem,  e para ele calcular e imprimir  o sucessor quando for par  coloque esse comando dentro do if que calcula o modulo.     então depois do cin >> p  que está dentro do while coloque essas linhas :

if(p != 0){
    if (p % 2 == 0){
        cout << "Esse numero eh par" << endl;
        cout << "O Sucessor Par Desse Numero --> "<<p<<" eh "<<p+2<<"\n"<<endl;
    }
    else{
        cout << "Esse numero eh impar" << endl;
        cout << "O Sucessor Par Desse Numero --> "<<p<<" eh "<<p+1<<"\n"<<endl;
    }
}

 

Editado por devair1010

Compartilhar este post


Link para o post
Compartilhar em outros sites

rodei o programa, e no início entrei com o primeiro valor 8, ele calculou 10, mas não imprimiu "O Sucessor Par Desse Numero --> 8 eh 10". Quando eu entrei com o segundo valor 46, ele calculou 48, dessa vez ele imprimiu "O Sucessor Par Desse Numero --> 46 eh 48". Quando eu entrei com o terceiro valor 7, ele calculou 9 e imprimiu "Esse numro eh impar". OBS. Eu queria que o programa calculasse o sucessor par e imprimisse a mensagem na primeira entrada e não calculasse o sucessor impar, mas imprimisse "Esse numero eh impar"

sucessor par.jpg

Editado por Wilson Drapeynski Junior

Compartilhar este post


Link para o post
Compartilhar em outros sites

Melhor usar um do while.

 

#include <iostream>
using namespace std;

int main()
{
	int p, c=0;
	do {		
		cout << "Digite um numero par ou 0 para sair: ";		
		cout << "\nPar(" << c + 1 << "): ";
		cin >> p;			
		c++;		
		if (p != 0 && p % 2 == 0) {
			cout << p << ' ' << p + 2 << endl;
		}
	}while(p !=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
Entre para seguir isso  





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

×