Ir ao conteúdo
  • Cadastre-se

Função para somar dois numeros em c


Posts recomendados

Bom dia pessoal,

Estou eu aqui na minha luta para poder estudar funções em C mas confesso que tem sido difícil o entendimento.

Estou querendo fazer agora, uma função para somar dois numeros.. o que está errado ?

Preciso de ajuda.

 

#include<stdio.h>

/* Protótipos */
int somaDoisNumeros(int, int);

/* Função Principal */
main()
{
   int somaDoisNumeros(int, int);
}

/* Funções */
int somaDoisNumeros( int num1, int num2)
{
   int result;
   printf("Digite o 1o. numero: ");
   scanf("%d", &num1);
   printf("Digite o 2o. numero: ");
   scanf("%d", &num2);
   result = num1 + num2;
   printf("A soma de [%d] e [%d] e: %d", num1, num2, result);
}

 

Link para o comentário
Compartilhar em outros sites

@Fabio Aragao Se ainda restar dúvidas pode perguntar.

#include<stdio.h>

/* Protótipos */
int somaDoisNumeros(int A, int B);

/* Função Principal */
int main()
{
   int N, num1, num2;


   printf("Digite o 1o. numero: ");
   scanf("%d", &num1);
   printf("Digite o 2o. numero: ");
   scanf("%d", &num2);

    //N colhe o retorno da função que faz N1 + N2
   N = somaDoisNumeros(num1, num2);

   //adivinha o que acontece quando imprime N?

   return 0;
}

/* Funções */
int somaDoisNumeros( int num1, int num2) {
   return num1 + num2; //<-- Retorna a soma
}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@CiroboyBR Ola Ciro, obrigado por responder...

Tem como voce me explicar no que eu errei ?

Vi que voce alterou o codigo e está funcionando, so tive que incluir um printf para exibir o resultado da soma..... mas está legal.

Para fazer este tipo de processo, o printf não pode estar dentro da função ?

É mais fácil fazer desta forma ?

 

Obrigado pela paciencia

Link para o comentário
Compartilhar em outros sites

Não faz mal o printf estar fora da função, desde que a função tenha logica, porém quando você declarou a função somaDoisNumeros(), você colocou dois argumentos int num1 e int num2, por isso o Ciro colocou a parte do printf e scanf na função main(), para fazer a utilização desses argumentos, então a função só tem o papel de utilizar os valores e retornar a soma, mas não ira mostrar a parte de mensagens na função, porém são muitas formas de usar, como:

 

#include<stdio.h>

/* Protótipos */
int somaDoisNumeros();

/* Função Principal */
int main()
{
   int Resultado_Soma = 0;

   //voce pode obter o resultado em uma variavel e imprimir a variavel
   //com printf assim:
   Resultado_Soma = somaDoisNumeros();
   printf("Resultado 1: %d\n",Resultado_Soma);

   //Ou pode imprimir diretamente o resultado da funcao
   //so que sera necessario digitar novamente.
   printf("Resultado 2: %d\n",somaDoisNumeros());

   return 0;
}

/* Funções */
int somaDoisNumeros() {
   int num1, num2;
   printf("Digite o 1o. numero: ");
   scanf("%d", &num1);
   printf("Digite o 2o. numero: ");
   scanf("%d", &num2);
   return num1 + num2; //<-- Retorna a soma
}

 

Link para o comentário
Compartilhar em outros sites

@Fabio Aragao Complementando o que o @1freakday falou, quando você lê algo tipo ->  "uma função que recebe um número", no geral, a questão quer que a função receba o número nos parâmetros da função.

Em um primeiro contato com funções isso pode parecer confuso, pois a palavra "recebe" pode ser interpretada como uma possível entrada usando scanf(). O que acontece é que as funções recebem dados nos seus parâmetros, e também podem retornar dados no término da execução da função.


Recomendo umas aulas sobre função. Especificamente as aulas 43~46 desse site: https://programacaodescomplicada.wordpress.com/2012/09/10/aula-43-funcao-visao-geral/ 

 

Bons estudos.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...