Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

POR QUE NO ME PROMEDIA???

jhony050308

Becerro
Desde
3 Mar 2009
Mensajes
41
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;
}
 
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.
 
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);
}
 
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
 
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
 
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
 
jajaja, chido... pero así se aprende... al menos ya sales con algo de aquí y eso es bueno :p
 
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
 
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
 
Volver
Arriba