Ir ao conteúdo
  • Cadastre-se
Fabio Aragao

Função para somar dois numeros em c

Recommended Posts

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);
}

 

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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
}

 

Compartilhar este post


Link para o post
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.

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





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

×