[MOD] 100 ¿Que me falla en el codigo?

Iniciado por SiesteR, 2 Julio 2004, 11:01 AM

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

SiesteR

Hola!

estoy todo picado haciendo el primer ejercicio de C :D, y veo que se me han olvidado muchisimas cosas. Esto de no tocar un lenguaje desde hace casi un año pasa factura :(.

BUeno este es mi codigo:
#include <stdio.h>
#include <string.h>

int main (void) {
        long int tc,tf;
        char tipo [1];

        printf("Introduce el tipo de medicion(F/C): ");
        scanf("%s",&tipo);
        if (!strcmp(tipo,"C")) {
                printf ("Introduce los grados C: ");
                scanf("%d",&tc);
                tf=(5/9)*(tc-32);
                printf("%d grados C == %d grados F.\n", &tc,&tf);
                }
        else
                if (!strcmp(tipo,"F")) {
                        printf("Introduce los grados F: ");
                        scanf("%d",&tf);
                        tc=((9/5)*tf)+32;
                        printf("%d grados F == %d grados C.\n",&tf,&tc);
                        }
                else
                        printf("Error de uso.\n");

        return 0;
}


y esto lo que sale por pantalla al ejecutarlo:
:~$ ./ejC1
Introduce el tipo de medicion(F/C): F
Introduce los grados F: 40
-1073742960 grados F == -1073742956 grados C.
:~$ ./ejC1
Introduce el tipo de medicion(F/C): C
Introduce los grados C: 35
-1073742956 grados C == -1073742960 grados F.
:~$




La pregunta es:
¿por que salen esos numeros tan grandes en vez de los que yo introduzco?

Graciasss :)

PD: que buena idea esta de los ejercicios, resulta muy motivante, de verdad gracias!!!

Cobac

printf("%d grados C == %d grados F.\n", &tc,&tf);

es

printf("%d grados C == %d grados F.\n", tc,tf);

y

printf("%d grados F == %d grados C.\n",&tf,&tc);

es

printf("%d grados F == %d grados C.\n",tf,tc);

salu2

P.D.:Si si, esto de los ejercicios esta bien, asi voy recordando algo de C :P
PIV 2533 @ 2720Mhz | 512MB DRR333 @ 358 | 160 Gb + 40 Gb Seagate Barracuda

En la Edad Media la Iglesia robaba con los diezmos. En el siglo XXI la SGAE roba con sus cánones.

SiesteR

Graaaciaaaaas!!!! Ya ni me acordaba de como se usa el printf, joder vaya tela  :'( jajjajaa

soplo

Claro, estabas imprimiendo la dirección en vez de el valor que esta contiene

:D
P.D.

Por cierto, este no es el ejercicio nº 1. Es el ejercicio nº 100.
Callar es asentir ¡No te dejes llevar!