C++ Função Soma a+b

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…

[code]#include
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;


}

[/code]

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á:

[code]#include<iostream>

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 << "Digite o primeiro valor";
cin >> valor1;
cout << "Digite o segundo valor";
cin >> 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;
}[/code]

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:

[code]
#include<iostream>

using namespace std;

int soma(int a, int b);

int main()
{
int valor1, valor2;
cout << "Digite o primeiro valor";
cin >> valor1;
cout << "Digite o segundo valor";
cin >> 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;
}[/code]

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:

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:

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.

Fmz Vini Vlw Salvou :slight_smile: