Ir para conteúdo
Fórum Script Brasil
  • 0

[AJUDA] Erro em código envolvendo funções


joaokpls

Pergunta

Olá pessoal, estou no começo de c++ e estou com um erro que não sei como resolver no DEV C++.

O código que fiz é esse:

int media (int num1,int num2,int num3){
int res;
res = (num1+num2+num3)/3;
return res;
}

int main () {
	int n1,n2,n3,resultado;
	printf("Digite um valor: ");
	scanf("%d",&n1);
	printf("Digite outro valor: ");
	scanf("%d",&n2);
	printf("Digite mais um valor: ");
	scanf("%d",&n3);
	resultado = media (n1,n2,n3);
	printf("A media aritmetica dos valores e: %d",resultado);
	return (0);
}

E o erro que aparece no compilador é esse:

9    28   [Error] 'printf' was not declared in this scope
10  16   [Error] 'scanf' was not declared in this scope

Como se printf e scanf fossem variáveis que não foram declaradas... mas não são, não entendo porque o programa está interpretando assim.
Espero que me ajudem.
Desde já obrigado.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
# include <stdio.h>
# include <stdlib.h>
  
//~~~~ declare aqui!
  
  int res;

// ~~~~

  
int media (int num1,int num2,int num3){
int res;
res = (num1+num2+num3)/3;
return res;
}

int main () {
	int n1,n2,n3,resultado;
	printf("Digite um valor: ");
	scanf("%d",&n1);
	printf("Digite outro valor: ");
	scanf("%d",&n2);
	printf("Digite mais um valor: ");
	scanf("%d",&n3);
	resultado = media (n1,n2,n3);
	printf("A media aritmetica dos valores e: %d",resultado);
	return 0;
}

 

Link para o comentário
Compartilhar em outros sites

  • 0
Em 20/04/2016 at 22:24, Aristóteles disse:

Não é o printf que não foi declarado, e sim a int res. A int res tem que ser declarada antes da função, é global.


em momento algum ele utiliza a variavel int res fora da função em que ela foi declarada, portanto não há necessidade de que ela seja global, o erro dele foi sim não ter declarado a função printf(), note que no codigo dele, ele não inclui a biblioteca stdio.h onde esta definida a função printf()

#include<stdio.h>
int media (int num1,int num2,int num3){
int res;
res = (num1+num2+num3)/3;
return res;
}

int main () {
	int n1,n2,n3,resultado;
	printf("Digite um valor: ");
	scanf("%d",&n1);
	printf("Digite outro valor: ");
	scanf("%d",&n2);
	printf("Digite mais um valor: ");
	scanf("%d",&n3);
	resultado = media (n1,n2,n3);
	printf("A media aritmetica dos valores e: %d",resultado);
	return ();
}


 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...