Programação Progressiva
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Programação Progressiva

Fórum para dúvidas dos sites: Programação Progressiva, Java Progressivo, C Progressivo


Você não está conectado. Conecte-se ou registre-se

esta correto o que eu fiz?

2 participantes

Ir para baixo  Mensagem [Página 1 de 1]

1esta correto o que eu fiz?  Empty esta correto o que eu fiz? Seg Ago 24, 2015 5:34 pm

neogalax



Bom dia gente, o programa esta funcionando corretamente, mas gostaria de saber como melhora lo? eu vou tentar fazer com vetores agora.


Código:
/*5 - Faça uma função que some dois números, entretanto a função
deve garantir que o primeiro argumento é um numero par e o
segundo um numero impar*/

#include <iostream>
#include <stdlib.h>




using namespace std;

int par_impar (int numero, int numero1 );



main()
{
    int numero,numero1;
   
cout << "soma:" << par_impar(numero, numero1) << endl;

}

int par_impar (int numero, int numero1 ){
   
    int soma=0, soma2=0;
   
 // vai ler o primeiro numero sendo ele par
    cout << "informe o primeiro numero:" << endl;
    cin >> numero;

        if (numero%2!=0){
            while(numero%2!=0){
                    cout << "informe o primeiro numero:" << endl;
                    cin >> numero;

            }
            soma = numero;

            system("cls");

            // vai ler o segundo numero sendo ele impar
            cout << "informe o segundo numero:" << endl;
            cin >> numero1;

            if (numero1%2!=1){
                    while(numero1%2!=1){

                        cout << "informe o segundo  numero:" << endl;
                    cin >> numero1;
                    }
                    soma2 = numero1;
            }
            soma = soma + soma2;
        }

        return (soma);
}

2esta correto o que eu fiz?  Empty Re: esta correto o que eu fiz? Qua Ago 26, 2015 5:42 pm

AbnerRMS



Então, neogalax, não é preciso os "ifs" na função "par_impar" - você já está fazendo o teste com os respectivos "whiles" - e as variáveis "soma" e "soma2" também são desnecessárias:
Código:
#include <iostream>
#include <stdlib.h>

using namespace std;

int par_impar(int numero1, int numero2);

int main()
{
    int numero1 = 0, numero2 = 0;

    cout << "soma: " << par_impar(numero1, numero2) << endl;

    return 0;
}

int par_impar (int numero1, int numero2)
{
    // vai ler o primeiro numero sendo ele par
    cout << "informe o primeiro numero:" << endl;
    cin >> numero1;

    while(numero1 % 2 != 0)
    {
        cout << "informe o primeiro numero:" << endl;
        cin >> numero1;
    }

    // vai ler o segundo numero sendo ele impar
    cout << "informe o segundo numero:" << endl;
    cin >> numero2;

    while(numero2 % 2 != 1)
    {

        cout << "informe o segundo  numero:" << endl;
        cin >> numero2;
    }

    return (numero1 + numero2);
}

Assim a função fica menor e mais legível. Very Happy

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos