elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programa en C no termina bien el ciclo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa en C no termina bien el ciclo  (Leído 2,559 veces)
Xgirl12

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Programa en C no termina bien el ciclo
« 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.


En línea

Caster


Desconectado Desconectado

Mensajes: 786


Ver Perfil WWW
Re: Programa en C no termina bien el ciclo
« Respuesta #1 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


En línea

BatchianoISpyxolo

Desconectado Desconectado

Mensajes: 166


Ver Perfil
Re: Programa en C no termina bien el ciclo
« Respuesta #2 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á.
En línea

Puede que desees aprender a programar desde 0: www.espascal.es
Xgirl12

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Re: Programa en C no termina bien el ciclo
« Respuesta #3 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
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
no ce termina de cerrar mi programa
Programación C/C++
Ghalad 0 1,719 Último mensaje 6 Agosto 2010, 00:37 am
por Ghalad
programa de matriz aver si el programa q estoy haciendo esta bien « 1 2 »
Programación C/C++
eduardo17445 10 6,745 Último mensaje 23 Octubre 2012, 00:11 am
por flony
Pasar programa de Ciclo if a for (cuadro magico)
.NET (C#, VB.NET, ASP)
ellandax 1 1,998 Último mensaje 19 Noviembre 2013, 21:00 pm
por Eleкtro
Programa no entra a ciclo for
Java
edr89 6 2,967 Último mensaje 7 Junio 2015, 08:41 am
por edr89
Cuando hay espacios en el ingreso del nombre el programa termina
Programación C/C++
matver 3 2,329 Último mensaje 9 Marzo 2017, 13:14 pm
por matver
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines