Título: Programa en C no termina bien el ciclo Publicado por: Xgirl12 en 2 Noviembre 2012, 04:58 am 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. Título: Re: Programa en C no termina bien el ciclo Publicado por: Caster en 2 Noviembre 2012, 09:19 am 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 Título: Re: Programa en C no termina bien el ciclo Publicado por: BatchianoISpyxolo en 2 Noviembre 2012, 13:45 pm 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á. Título: Re: Programa en C no termina bien el ciclo Publicado por: Xgirl12 en 4 Noviembre 2012, 04:28 am 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 |