[Ayuda] Tabla de Temperatura en C

Iniciado por Luchoz95, 31 Enero 2012, 17:55 PM

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

Luchoz95

Hola Gente , les vengo a pedir ayuda sobre un programa , que esta en un manual de c ,  el codigo es este
#include <stdio.h>

#define LOWER 0
#define UPPER 300
#define STEP 20

main()
{
       int fahr;
       
       for(fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP);
       printf("%3d%6.1f\n", fahr,(5.0/9.0)*(fahr-32));
       getch();
       
}
       


ejecuta todo lo mas bien , pero me muestra solamente dos números , que según el manual me tendria que mostrar toda la tabla de temperatura fahrenheit y celsius , la verdad ni idea que puedo estar haciendo mal , si alguien me puede ayudar le agradecería mucho , saludos !

rir3760

El problema es el punto y coma justo despues del bucle for:
for(fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP); /* <== */
printf("%3d%6.1f\n", fahr,(5.0/9.0)*(fahr-32));


Cambialo a:
for(fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP)
   printf("%3d%6.1f\n", fahr,(5.0/9.0)*(fahr-32));


Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

Luchoz95


Luchoz95

perdon que moleste de nuevo pero para no crear otro post , lo hago aca , ahora que ya solucione el problema tengo que hacer este mismo programa :

#include <stdio.h>

#define LOWER 0
#define UPPER 300
#define STEP 20

main()
{
      int fahr;
     
      for(fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP)
      printf("%3d%6.1f\n", fahr,(5.0/9.0)*(fahr-32));
      getch();
     
}


pero en vez de empezar desde 0 y terminar en 300 , tiene que empezar en 300 y terminar en 0 , intente de cambiar LOWER por UPPER , pero no funciona , alguna idea ?

Ferno

No sólo debes cambiar LOWER por UPPER, sino que también tienes que cambiar las demás condiciones del for!

for (fahr = UPPER; fahr >= LOWER; fahr = fhar - 1)

Así va de 300 hasta 0 inclusive!

Luchoz95

muchas gracias lo unico que no queria que reste de 1 en 1 , sino de 20 en 20 , a que si le cambie eso , yo hacia eso , como vos lo hiciste lo unico que en

fahr >= LOWER

lo hacia asi

fahr <= LOWER

muchas gracias por la ayuda