Hola, que tal. De nuevo ando pidiendo su ayuda para hacer funcionar bien este programa que tiene que hacer lo siguiente:
Se requiere un programa que calcule el promedio de temperaturas que registra una ciudad, las temperaturas se introducirán en grados Farenheit°F y no se conoce de antemano el número de temperaturas que el usuario introducirá.
Yo aqui doy un valor centinela de -460 para que cuando el usuario introduzca un número menor, automáticamente empiece el ciclo con la operación y me de el promedio, pero no lo hace. Aunque ponga -120, me sigue pidiendo que introduzca la temperatura.
Les dejo el código que estoy usando y espero me puedan ayudar.
Es un programa sencillo, supongo, pero apenas me ando enseñando, ya llevo tiempo, espero comprendan.
/*
Descripción: Calcula el promedio de las temperaturas que el usuario ingresa.
*/
#include<stdio.h>
#include<stdlib.h>
#define centinela -460
/* Función Principal*/
main ()
{ /*Declaración de acumuladores y contadores*/
float tempF,promF, sumaF=0;
int c=0;
/* Lectura de la primera temperatura */
printf ("Programa que calcula el promedio de temperaturas en grados Fahrenheit\n\n\n");
printf ("\n Ingrese la primer temperatura registrada:");
scanf ("%f",&tempF);
/* Codificación del ciclo */
while (tempF>= centinela )
{
/* Se registra la temperatura que se leyó */
c = c + 1;
/* Se acumula la temperatura en la suma */
sumaF=sumaF+tempF;
/* Se lee la siguiente temperatura */
printf ("\n\nIngrese la siguiente temperatura (si desea terminar ingrese un número menor a %d): ", centinela);
scanf ("%f",&tempF);
}
/* Promedio de Temperaturas Fahrenheit */
promF=sumaF/c;
printf ("\nPromedio de temperaturas Celsius=%.2f\n", promF);
system("pause");
return 0;
}
De antemano gracias.
El problema es que -120 es mayor que -460, un numero menor que -460 seria -461 por ejemplo, y de ahi aumentando en 1 negativamente, creo que es ese tu fallo si entendi bien tu pregunta.
Saludos
Disculpa, pero creo que no es bueno escoger a un número como centinela. Tu programa ya está restringido a no poder utilizar ese valor de temperatura.
Entonces habría que hacer un array de strings y conversiones, etc, etc. A tu elección.
Por lo otro, Caster tiene razón. A menos que el usuario introduzca un número en el rango [-oo, -460), el ciclo continuará.
Muchas gracias por sus comentarios.
Y si Caster, tienes toda la razón, je, yo no se que estaba pensando cuando estaba introduciendo los números, gracias por la observación.
Y BatchianoISpyxolo, estoy poniéndolo así porque todavía no se manejar los array y esas cosas, apenas estoy aprendiendo, pero de nuevo les agradezco a ambos por haber contestado.
Salu2.
;D