C/Visual C - Problema con devolucion de funcion

 
Vista:
Imágen de perfil de Manuel
Val: 1
Ha disminuido su posición en 21 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Problema con devolucion de funcion

Publicado por Manuel (1 intervención) el 19/11/2019 22:49:11
Buenas compañeros programadores,
Quisiera saber porque mi funcion calcularMedia no devuelve el valor pedido de la media, si no que me devuelve la produccion semana a semana introducida anteriormente, agradeceria vuestra ayuda. Si no se lee la imagen ignoren el hilo.
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
Imágen de perfil de masklet63
Val: 13
Ha aumentado su posición en 5 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Problema con devolucion de funcion

Publicado por masklet63 (6 intervenciones) el 21/11/2019 17:08:40
Una posible solución sería:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdio.h>
#include <stdlib.h>
 
// Variables globales
float produccion = 0;
int num_semanas = 0;
float suma_total = 0;
 
float calculoMediaProduccion(float produccion, int num_semanas)
{
	float media = 0;
	media = suma_total / num_semanas;
 
	return media;
}
 
int main()
{
	int semana = 1;
	float media_semanal = 0;
 
	do
	{
		printf("Para salir introduce 0 como numero de produccion\n");
		printf("Introduce produccion semana %d: ", semana);
		fflush(stdin);
		scanf("%f", &produccion);
		suma_total = suma_total + produccion;
		num_semanas++;
		if(produccion == 0)
		{
			printf("\nLa media total es: %.2f\n", media_semanal);
			num_semanas--;
			printf("Numero de semanas: %d\n", num_semanas);
			printf("La suma total de la produccion es: %.2f\n", suma_total);
			exit(0);
		}
		media_semanal = calculoMediaProduccion(produccion, num_semanas);
		printf("Media semanal en la semana %d: %.2f\n\n", semana, media_semanal);
		semana++;
	}while(produccion != 0);
 
	return 0;
}

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