Duda Celsius a Fahrenheit en C

Iniciado por Cleantesdeasso, 2 Agosto 2010, 21:15 PM

0 Miembros y 1 Visitante están viendo este tema.

Cleantesdeasso

Muy buenas.
Me descargue un libro de los q hay posteados, y ya al 4tº ejercicio, me quede trabado. (por supuesto q no me importa, y puedo seguir para adelante con el proximo, pero me gustaria sacarme algunas dudas q estoy seguro podeis ayudarme)
El programita se supone deberia sacar una tabla con las equivalencias entre grados celsius y fahrenheit, y copiando el ejercicio de fahrenheit a celsius todo de perlas... pero ahora al invertir el proceso de celsius a fahr se keda esperando el guion y no me carga otra cosa q el primer printf. Aki lo q escribi:
#include <stdio.h>
main()
{
   printf("Cersio Falenjai\n");
   float fahr;
   int lower, upper, step, celsius;

   lower= 0;
   upper= 148;
   step= 10;

   celsius= lower;
   while (celsius <= upper); {
    fahr= (32 * 5/9);
    printf("%3.0f\t %3.1f\n", celsius, fahr);
    celsius= celsius + step;
    }

}


Claro, tampoco la cuenta esta bien. Pero es q si le ponia otros caracteres, ni sikiera la cargaba. Q es lo k esta mal? Porq al poner un . como para multiplicar, no lo hace y me dice q hay un error? La x tampoco lo hace... Cual es el simbolo de multiplicar??! ARRGHH! Ojala alguien se digne a ayudarme, de cualkier manera, seguire leyendo y la respuesta la encontrare en el libro :D Tanx
"Que no!! q el hash hay q crakiarlo!!"

do-while

¡Buenas!

Justo despues del while has puesto punto coma, por lo que el cuerpo del while queda vacio y acto seguido con el printf lo unico que imprimes es el primer resultado, ya que las cuentas quedan fuera del while.

Has cometido uno de los errores mas tipico en principiantes y profesionales, y no sera la ultima vez que lo cometas. Sobre todo intenta no cometer los siguientes errores (aunque como te he dicho, siempre se te escapara alguno)

/* las siguientes estructuras de control tienen el cuerpo vacio, ya que hay un punto coma donde no deberia haberlo */
if();
{
}

if()
{
}
else;

for(;;);
{
}

/* este es el que hay en tu codigo */
while();
{
}


¡Saludos!
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!

Cleantesdeasso

Gracias Do-while, sabia q no podia ser asi...
Tal vez yo sea muy torpe (lo mas probable), pero tambien es probable q alguien se fuera ekivocado en el libro al traducirlo. Esta madrugada va a ser muuuuy larga... Ya comentare mis pormenores. EOF.
Gracias!:)
"Que no!! q el hash hay q crakiarlo!!"