C/Visual C - problema funciones para calcular el promedio

 
Vista:

problema funciones para calcular el promedio

Publicado por wxdvd (3 intervenciones) el 02/05/2010 20:03:08
Estiamdo, el programa tiene tres funciones. main, una para el ingreso y suma de las notas y la tercera para calcular el promedio. El problema se genera cuando se ejecuta el .exe se cae no he logrado cifrar el porque. por eso pido ayuda. Gracias!!

/*Programa que calcula el promedio*/
#include <stdio.h>
#include <stdlib.h>
int ingresar(int,int,int,int);
float promedio(int,int);
int main(int argc, char *argv[])
{
int notas,suma=0,cant,i,cont=0;
float p;

printf("Ingrese cantidad de notas: ");
scanf("%d",&cant);
i = ingresar(notas,cant,suma, cont);
// p = promedio(suma,cont);
//printf("\n El promedio de notas es de: %.2f ",p);
system("PAUSE");
return 0;
}//fin funcion main

/*funcion que suma los numeros*/
int ingresar(int notas,int cant, int suma, int cont)
{
do
{
do
{
printf("Ingrese notas: ");
scanf("%d",¬as);
}while((notas <1 || notas >7));
cont++;
suma=suma+notas;
}while (cont < cant);//ingresar n cantidad de nota segun requiera usuario
printf("%.2f",suma/cont);
return(suma);
}//fin funcion ingresar

/*Funcion que saca el promedio*/
float promedio (int suma,int cont)
{
float prom;
prom = (suma/cont);
return (prom);
}//fin funcion promedio
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema funciones para calcular el promedio

Publicado por Tom (619 intervenciones) el 04/05/2010 11:39:05
Pues hombre, teniendo en cuenta que suma y cont son int, difícilmente vas a obtener un float al dividirlos ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema funciones para calcular el promedio

Publicado por asad (2 intervenciones) el 06/05/2010 22:58:55
eso no debria importar, ya que el float aguanta el int.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema funciones para calcular el promedio

Publicado por Capitan Kirk (97 intervenciones) el 07/05/2010 08:39:50
Sí que importa. Tal como lo tienes, primero te hace la división entera, y después te hace la promoción de int a float. Pierdes el residuo de la división.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema funciones para calcular el promedio

Publicado por asd (1 intervención) el 07/05/2010 19:44:36
ok, pero eso no deberia hacer colapsar el programa. que es el error que da xD
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema funciones para calcular el promedio

Publicado por Jeizon1L (1 intervención) el 23/05/2014 08:23:29
Para que el promedio te de con decimales, coloca: prom = float (suma/cont);

Saludos!! misdeberes.es
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar