Ir ao conteúdo
  • Cadastre-se

Duvida em Função


Posts recomendados

Pessoal sou novo no fórum e queria tirar uma duvida no meu programa, ele roda tudo certinho mas o calculo da media mas quando ele retorna ele sempre retorna 2 e queria saber o que está errado, o código é:

 

 #include<iostream>

 
using namespace std;
 
 
float media(float n[])
{
int cont;
float sm=0,md=0;
for(cont = 0 ; cont < 4 ; cont++ )
{
sm = sm+n[cont];
md = sm/4;
return (md);
}
}
 
main()
{
float notas[4],media_alunos;
int cont;
 
  setlocale(LC_ALL,"portuguese");
 
   for(cont = 0 ; cont < 4 ; cont++ )
   {
     cout<<"Informe a "<<cont+1<<"ª nota: ";
     cin>>notas[cont];
   }
   media_alunos = media(notas);
 
   cout<<"A media do aluno = "<<media_alunos<<endl;
 
}
 
Link para o comentário
Compartilhar em outros sites

O return ( md ); deve estar fora do laço for. Esse for se executa 4 vezes, porém si ele encontrar o return vai ser interrompido na "primeira volta".

 

Lembre-se disso... Return tem 2 cometidos. A primeira qualidade do return é que ele, como você ja sabe, ele retorna um valor. O que poucos sabem é que ele detêm em seco a função. Ou seja você pode ter mais de um return, realmente nada impede ter infinitos returns em uma função, só que ao topar com um deles a função vai ser interrompida imediatamente e retornará ao ponto de invocação da mesma. É bastante útil ter vários retornos veja um exemplo.

#include <iostream>using namespace std;char* nome(int nome){    switch (nome) {        case 1:            return (char*)"Paulo";        case 2:            return (char*)"Marcos";        case 3:            return (char*)"Felipe";        default:            return (char*)"No name";    }}int main (){        cout << "Bem vindo senhor " << nome(1) << endl;    cout << "Bem vindo senhor " << nome(2) << endl;    cout << "Bem vindo senhor " << nome(3) << endl;    cout << "Bem vindo senhor " << nome(10) << endl;    cin.ignore();    return 0;}

Beleza? :kiss:

  • Curtir 1
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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!