POR QUE NO ME PROMEDIA???

#1
Hola! Soy nuevo en esto de programar, esto es en C++ y se supone que lo que intente fue definir una funcion para promediar pero al correr el programa me da 0

#include <iostream>
#include <cstdlib>
#include <math.h>

using namespace std;

float sacarPromedio(float,float,float);
main()
{
float c1,c2,c3;
cout <<"Escribe el numero 1:";
cin >> c1;
cout <<"Escribe el numero 2:";
cin >> c2;
cout <<"Escribe el numero 3:";
cin >> c3;
cout <<"el promedio es "<<sacarPromedio(c1,c2,c3)<<endl;
system("PAUSE");
}

float sacarPromedio(float c1, float c2, float c3)
{
float s= (c1+c2+c3)/3;
return 0;
}
 

alanmd

Bovino maduro
#2
Hola! Soy nuevo en esto de programar, esto es en C++ y se supone que lo que intente fue definir una funcion para promediar pero al correr el programa me da 0

#include <iostream>
#include <cstdlib>
#include <math.h>

using namespace std;

float sacarPromedio(float,float,float);
main()
{
float c1,c2,c3;
cout <<"Escribe el numero 1:";
cin >> c1;
cout <<"Escribe el numero 2:";
cin >> c2;
cout <<"Escribe el numero 3:";
cin >> c3;
cout <<"el promedio es "<<sacarPromedio(c1,c2,c3)<<endl;
system("PAUSE");
}

float sacarPromedio(float c1, float c2, float c3)
{
float s= (c1+c2+c3)/3;
return (s);
}
el error esta en el return, el valor que quieres que retorne es el valor de (s) y tu lo tienes en cero, por eso te da ese valor.
 
#7
otro posible código(compilado en Turbo c++ 4.5):

#include<stdio.h>
void main()
{
float c1,c2,c3,promedio;
printf("Escribe el numero 1:");
scanf("%f",&c1);
printf("\n\n");
printf("Escribe el numero 2:");
scanf("%f",&c2);
printf("\n\n");
printf("Escribe el numero 3:");
scanf("%f",&c3);
printf("\n\n");
promedio=(c1+c2+c3)/3;
printf("\n\n");
printf("El promedio de sus tres Numeros es:%f",promedio);
}
 
#8
Muchas gracias!!! parece logico mi error para ustedes por que son todos unos expertazos, tarde la mitad de un dia en tratar de medio entenderle a esto XD
 

humbertotamayo

Bovino adolescente
#10
Jajajajaj A mi me pasaba lo mismo el manejo del return es muy importante
Existen tres formas de sintaxis del return

el return que regresa un entero se expresa de la siguiente manera return int;
donde int es igual a cualquier numero entero

El return vació return; o return 0;
este solo regresa a la parte principal de tu programa y no hace mas

El return que regresa el valor de una variable se indica de la siguiente manera return(n);
te regresa el valor de una variable de cualquier tipo y lo puedes capturar desde el main .

con eso debe de darte el resutado
 

m18

Bovino maduro
#11
float sacarPromedio(float c1, float c2, float c3)
{
float s= (c1+c2+c3)/3;
return s;
}

regresa "0" y debe de regresarte "s" solo eso tenias mal
 

Ferucho

Bovino adicto
#13
otro posible código(compilado en Turbo c++ 4.5):

#include<stdio.h>
void main()
{
float c1,c2,c3,promedio;
printf("Escribe el numero 1:");
scanf("%f",&c1);
printf("\n\n");
printf("Escribe el numero 2:");
scanf("%f",&c2);
printf("\n\n");
printf("Escribe el numero 3:");
scanf("%f",&c3);
printf("\n\n");
promedio=(c1+c2+c3)/3;
printf("\n\n");
printf("El promedio de sus tres Numeros es:%f",promedio);
}

Me voy por esta respuesta! :D
 

Ferucho

Bovino adicto
#14
otro posible código(compilado en Turbo c++ 4.5):

#include<stdio.h>
void main()
{
float c1,c2,c3,promedio;
printf("Escribe el numero 1:");
scanf("%f",&c1);
printf("\n\n");
printf("Escribe el numero 2:");
scanf("%f",&c2);
printf("\n\n");
printf("Escribe el numero 3:");
scanf("%f",&c3);
printf("\n\n");
promedio=(c1+c2+c3)/3;
printf("\n\n");
printf("El promedio de sus tres Numeros es:%f",promedio);
}

Me voy por esta respuesta! :D
 
Arriba