subprograma_media.c:10: error: la declaración previa de ‘media’ estaba aquí
Código C:
¿Podéis decirme si está bien estructurado el programa?. Gracias. Ver original
| |||
subprograma que calcula la media Hola, estoy haciendo un subprograma que me calcula la media de 5 números, pero me da fallos de compilación: subprograma_media.c:18: error: tipos en conflicto para ‘media’ subprograma_media.c:10: error: la declaración previa de ‘media’ estaba aquí
Código C:
¿Podéis decirme si está bien estructurado el programa?. Gracias. Ver original Última edición por minette1988; 01/07/2010 a las 11:27 |
| |||
Respuesta: subprograma que calcula la media La linea 10, debe ir afuera de main. Se llama prototipo de la función, no lo he compilado pero eso deberia solucionarlo. |
| |||
Respuesta: subprograma que calcula la media declarar una funcion dentro de otra no es muy común, aun q valido. Lo que si es q void media(int);//linea 10 difiere de void media(int num, int t)//linea 18 y los dos deben tener el mismo numero de parametros |
| |||
Respuesta: subprograma que calcula la media He modificado el programa, pero cuando lo compilo el resultado es incorrecto. Me sale como resultado la media es -405297833.000000
Código C:
Ver original Última edición por minette1988; 03/07/2010 a las 05:54 |
| |||
Respuesta: subprograma que calcula la media Hola. El contenido de la línea 8 tiene que estar antes de la linea:
Código C:
Ver original Y por supuesto, borrar la línea 8. Saludos, Gonzo |
| |||
Respuesta: subprograma que calcula la media Es así cómo dices ¿no?, lo he compilado , pero el resultado sigue siendo incorrecto.
Código C:
Ver original |
| |||
Respuesta: subprograma que calcula la media Realizar varias veces scanf, sin hacer nada mas, en un ciclo (lineas 15 a 18) no tiene sentido. Es lo mismo que asignar un valor a una variable varias veces: a = 1; // se va a perder este valor a = 9; // se va a perder este valor a = 4; // se va a perder este valor, si se continua asignando la misma variable ... Por otro lado, y como consecuencia de esto, la funcion media() suma varias veces el mismo valor. Recomiendo sumar en el ciclo en que lees, o bien leer hacia un arreglo y no a una variable int. |
| |||
Respuesta: subprograma que calcula la media He intetado hacerlo con vectores, pero el resultado me sale mal La media es -405607764.000000
Código C:
Ver original |
| |||
Respuesta: subprograma que calcula la media 2 problemas: - La linea 25 tiene sentido solo si la variable suma tiene un valor antes. - En la linea 27, hay una division entre 2 enteros. Eso siempre da entero. por ejemplo: 5 / 2 resulta 2, no resulta 2.5 y m = 5 / 2 demandara una conversion del 2 a un double y no de 2.5 a un double. Hay varias posibilidades de solución a esto último: - suma deberia ser float o double, no int. Asi, "suma / t " no sera una division de enteros - Hacer un cast en la division: (float) suma / t, suma / (float) t, (float) suma / (float) t. |
Etiquetas: |