Jump to content
Fórum Script Brasil
  • 0

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


joaokpls
 Share

Question

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 to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...