Estás en: Inicio >> Foros >> Informática >> Programación
Programación /

Funciones basicas

Participa en el tema Funciones basicas en el foro Programación.
Buenas a todos!. Estoy empezando a programar con lenguaje C. Recien estoy viendo las funciones ...

Buscar en este tema:
 
  •  
    Hyb escribió hace 2 meses
     
    ¿Mensaje inapropiado?
    #1 Funciones basicas
    Buenas a todos!.
    Estoy empezando a programar con lenguaje C. Recien estoy viendo las funciones mas básicas, asi que seguro pregunte seguido en este thread.

    En este momento tengo un problema con el scanf()...
    Para probarlo, hice un ejercicio del libro que estoy leyendo. Lo dejo a continuación:

    Ejercicio:
    Se ingresarán desde teclado los valores flotantes correspondientes a la base y altura de un triágulo mediante scanf().
    Posteriormente se calculará la superficie y se informará el resultado en pantalla.


    #include <stdio.h>
    main()
    {
    float BASE , ALTURA , SUPERFICIE ;
    printf ("BASE = ");
    scanf("%f", &BASE);
    printf("ALTURA = ");
    scanf("%F" , &ALTURA);
    SUPERFICIE = BASE * ALTURA / 2 ;
    printf("SUPERFICIE = %.2f" , SUPERFICIE) ;
    }


    El problema es que al ingresar el primer valor (BASE) y presionar "Enter".. se cierra el programa y vuelve al compilador, sin permitirme ingresar el segundo valor (ALTURA).
    ¿Por que pasa esto?
    Editado por Hyb - 09.10.2009 15:21 hs.
    +
     
    0
    Me gusta
     
    | Más
  • #2 Re: Funciones basicas

    Probablemente se trule la función scanf porque le pasás una directiva (“%F”) que no entiende.
    Me gusta este mensaje
  • #3 Re: Funciones basicas

    Recien lo probo otra persona, y le anduvo, o sea.. el problema no esta en el codigo.. esta en el compilador.

    Tengo el Turbo C++ 1.01
    Probe otros, probe el mismo bajado de otro lado, probe el 3.0, etc.
    Sigue sin funcionar... PORQUE LA VIDA ES TAN DURA AAAAAAAAAAAA

    PD: mismo programa, otro comp:
    http://img410.imageshack.us/img410/6391/compila.jpg
    Me gusta este mensaje
  • #4 Re: Funciones basicas

    Originalmente publicado por Hyb Ver mensaje
    Recien lo probo otra persona, y le anduvo, o sea.. el problema no esta en el codigo.. esta en el compilador.
    Qué bueno que recién empezás y ya estás seguro de tantas cosas.
    Me gusta este mensaje
  • #5 Re: Funciones basicas

    Si bien veo que pangus anda con un mal dia :P

    en la parte de "scanf("%F" , &ALTURA);"

    Recorda que C, C++,C# son KeySensitive por lo que poner "F" y "f" no es lo mismo.

    Yo tengo los malos habitos de poner "#Include" la "I" en mayuscula no va. es con "i", pero se me escapa y aveces me salta el cartelito de "la funcion no esta definida". Porque obviamente la libreria que me habilita la funcion, no esta siendo llamada, dado que el "include" esta mal escrito.

    Tabien me pasa con Printf, que no va con "P" mayuscula, si no con "p" minuscula.

    Ademas, el Main debe tener un tipo de retorno y un valor de retorno , por lo que yo agregaria "int" al Main o "Void".
    Depende como te guste y que compilador uses.

    EL codigo funcionando quedaria asi:

    Código:
    #include <stdio.h>
    #include <conio.h>
        int main ()
            {
                float BASE , ALTURA , SUPERFICIE ;
                printf ("BASE =:\t\t");
                scanf("%f", &BASE);
                printf("ALTURA =:\t");
                scanf("%f" , &ALTURA);
                SUPERFICIE = BASE * ALTURA / 2 ;
                printf("SUPERFICIE = %.2f" , SUPERFICIE) ;
                getch();
                return 0;
            } 
    Tambien lo que podrias hacer es eliminar "SUPERFICIE" y reciclar 1 de las otras 2 variables. Asi es mas eficiente, total, el usuario no va a "ver" el codigo. Solo la capa de aplicacion de la ejecucion de el programa.

    Código:
    #include <stdio.h>
    #include <conio.h>
        int main ()
            {
                float BASE , ALTURA ; /*Elimine la variable SUPERFICIE*/
                printf ("BASE =:\t\t");
                scanf("%f", &BASE);
                printf("ALTURA =:\t");
                scanf("%f" , &ALTURA);
                BASE= BASE * ALTURA / 2 ; 
                /* Si base valia 3, por decir, ahora vale "3 * Altura /2" y el 3 durante la division no se pierte*/
                printf("SUPERFICIE = %.2f" , BASE) ;
                /* Use el Valor de la division de BASE * ALTURA / 2*/
                getch();
                return 0;
            } 
    Me gusta este mensaje
  • #6 Re: Funciones basicas

    Perdón que tarde en contestar, tuve un dia medio malo ayer y esa boludez me termino de sacar de las casillas!.

    Sisi, esa maldita mayuscula me hizo desperdiciar bastante tiempo, estaba medio cegado por la ira y no la pude ver jajaj. Gracias a ambos.
    Los otros dos muchachos que lo probaron, no se que compilador usaron, pero no les afecto esa "F". .

    Si, suelo usar el void main cuando no me retorna nada. El int nunca lo habia usado, ahora leo y pruebo!
    Graciaaa
    Me gusta este mensaje
  • #7 Re: Funciones basicas

    Podes compilar de forma Online aca.

    http://www.delorie.com/djgpp/compile/
    Me gusta este mensaje
Estás en: Inicio >> Foros >> Informática >> Programación


Estadísticas del tema
  • 6 RESPUESTAS
  • 213 VISTAS
  • 3 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB