C++ Função Soma a+b

5 respostas
lucasvvasconcelos

Bom dia estou com uma dúvida simples,não entendi muito bem o conceito de função para retornar o valor...

Tentei montar um exercício sozinho mais não tive êxito =X

Criar uma função que Soma 2 valores e retorna o resultado na tela !!!

Fiz isso até agora...

#include<iostream>
using namespace std;
	soma(int a,int b){

		cout<<"Digite o primeiro valor";
		cin>>a;
		cout<<"Digite o segundo valor";
		cin>>b;
	return soma;
	}
	int main(){
		resultado = a+b;
		soma();
		cout<<"O resultado e:  \n"<<resultado;
		return soma;
	
	
	}

5 Respostas

ViniGodoy

Sua função fez a leitura, quando na verdade, deveria ter feito a soma.

Vamos lá. Como funciona uma soma? Você tem como entrada 2 números a e b. E como saída os números somados.
A entrada de uma função compõe a lista de parâmetros. E a saída é o que terá que ser retornado no "return". Note que nesse caso, tanto as entradas, quanto a saída da função são números inteiros. Portanto, a função soma seria:

int soma(int a, int b) 
{
    int valorSomado = a+b;
    return valorSomado;
}

Ok. Agora o problema é chamar essa função a partir do resto do programa. O resto do programa tem como objeto:
a) Fazer a leitura das variáveis
b) Envia-las para a função
c) Exibir o resultado.

Vamos lá:
#include&lt;iostream&gt;

using namespace std;

//No início do programa você faz a declaracao das funcoes, colocando somente seu cabecalho
int soma(int a, int b);

int main() 
{
    //a) Leitura dos dados
    int valor1, valor2;
    cout &lt;&lt; &quot;Digite o primeiro valor&quot;;  
    cin &gt;&gt; valor1;  
    cout &lt;&lt; &quot;Digite o segundo valor&quot;;  
    cin &gt;&gt; valor2;  	

    //b) Chama a funcao para que o calculo seja feito
    int resultado = soma(valor1, valor2);

    //c) Exibe o resultado
    cout << &quot;O resultado e:&quot; &lt;&lt; endl &lt;&lt; resultado;
    return 0;
}

//Aqui fazemos a definicao da funcao.

int soma(int a, int b) 
{
    int valorSomado = a+b;
    return valorSomado;
}

O código pode ser simplificado, pois algumas das variáveis temporárias que usei não precisam ser usadas. Fiz apenas para ser didático. Analise o código abaixo, que tem o mesmo resultado, e veja onde simplifiquei:

#include&lt;iostream&gt;

using namespace std;

int soma(int a, int b);

int main() 
{
    int valor1, valor2;
    cout &lt;&lt; &quot;Digite o primeiro valor&quot;;  
    cin &gt;&gt; valor1;  
    cout &lt;&lt; &quot;Digite o segundo valor&quot;;  
    cin &gt;&gt; valor2;  	

    cout << &quot;O resultado e:&quot; &lt;&lt; endl &lt;&lt; soma(valor1, valor2);
    return 0;
}

int soma(int a, int b) 
{
    return a+b;
}
lucasvvasconcelos

Entendi perfeitamente,estava lendo a apostila do André Duarte Bueno,mais não consigo entender muito bem…
É um algoritmo simples porém estava com dificuldades de entender como montar =X

Obrigado Vini mais uma vez hehe :stuck_out_tongue:

lucasvvasconcelos
Só uma coisa não  consigo pausar a tela coloquei no final…

coloquei system(“PAUSE”);

return EXIT_SUCCESS;

Getchar;

como posso pausar a tela nesse caso ? Estou usando VisualStudio 2012 :slight_smile:

ViniGodoy

Eu geralmente clico na barra ao lado do return 0 e ponho ali um breakpoint. Aí o visual vai parar a execução lá, e a janela permanece aberta. Depois de ver o resultado, é só apertar F5 novamente para terminar a execução.

Assim evita de criar a má prática de deixar uma pausa no fim do programa.

lucasvvasconcelos

Fmz Vini Vlw Salvou :slight_smile:

Criado 26 de maio de 2014
Ultima resposta 26 de mai. de 2014
Respostas 5
Participantes 2