• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse

    Ayudita en mis deberes de programación

    Programado Fijo Cerrado Movido
    Off Topic
    7
    17
    1.8k
    Cargando más mensajes
    • Más antiguo a más nuevo
    • Más nuevo a más antiguo
    • Mayor número de Votos
    Responder
    • Responder como tema
    Accede para responder
    Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.
    • kynesK
      kynes Veteranos HL @cram
      Última edición por

      ¿stdio.h pero con inmersión lingüística? No se, me parecen unas funciones un poco extrañas para captar del teclado y mostrar en pantalla. ¿Seguro que lo que estáis dando es C?

      El programa debería ser una cosa como así (que conste que llevo sin programar en C como que 9 años, si hay fallos que alguien los corrija)

      #include<stdio.h>

      int main(void) {

      int h,n,m,s;

      scanf("%d", n);
      h = n / 3600;
      n = n % 3600;
      m = n / 60;
      s = n % 60;
      printf("%d:%d:%d",h,m,s);

      return 0;
      }</stdio.h>

      hlbm signature

      1 Respuesta Última respuesta Responder Citar 0
      • cobitoC
        cobito Administrador @cram
        Última edición por

        Bueno, ignorando esas operaciones de lectura y escritura creo que el algoritmo que has usado está bien (tampoco estoy 100% seguro porque hace 2 años que no miro nada de C). Me he bajado tu archivo compilado y lo único que hace es salir un cursor moviéndose de un sitio a otro, pero ni pide el nº de segundos ni nada, así que el algoritmo, esté bien o no, no es el responsable del mal funcionamiento. ¿Has probado poniendo #include <stdio.h>al principio?</stdio.h>

        Toda la actualidad en la portada de Hardlimit
        Mis cacharros

        hlbm signature

        IstarionI 1 Respuesta Última respuesta Responder Citar 0
        • IstarionI
          Istarion @cobito
          Última edición por

          El codigo esta bien. Ese include es como el paquete de "paraules" de Ada que usamos aqui, solo que NOS EXPLICAN como hacer todo lo que hay ahi xD Es una leve diferencia, pero bastante importante.
          Debe tratarse de una libreria de lectura y escritura en pantalla, y si que es c, de hecho "stdio.h" solo es una libreria de c, no tienes porque usarla y estaras programando en c igualmente 😛

          Debe de haber algun problema con las librerias de tu profe, quizas no tienes las ultimas, hay que hacer un volcado del buffer de teclado… no lo se muy bien, necesitaria el codigo de la libreria para saber exactamente lo que estas haciendo...
          Es que claro sin ella no se puede hacer nada... el parametro que le pasas esta bien? Para mi que el "c" que os enseñan poco tiene de "ANSI C", porque eso huele a sobrecarga de parametros segun el tipo que le pases, y eso esta en C++ y no en c...

          En fin, ya te digo que sin la libreria no se puede saber nada...

          P.D.: Ese "entsort" se refiere a Entrada/Sortida, al estilo de I/O. Lo bueno es que os abstraen de hacer lecturas vosotros, y la idea parece buena. Pero no me convence si no os han enseñado a usar la "stdio". Tienen que enseñaros como encapsulan las llamadas a la libreria estandar "stdio" con esa libreria, porque es estandar y si no teneis "entsort" tendreis que buscar informacion sobre la stdio (que es facil de usar, pero vamos, primero se enseñan las bases, y luego se abstrae de ellas, que si un dia te quedas sin esa "capa de abstraccion", caca...).

          Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

          IstarionI 1 Respuesta Última respuesta Responder Citar 0
          • IstarionI
            Istarion @Istarion
            Última edición por

            Ahora que veo que mi vecina no dice nada mas, ya tengo algo mas de tiempo:

            @cobito:

            Si pones el código fuente en C de verdad quizás te pueda ayudar, porque no entiendo muy bien algunas cosas que has puesto.
            PD: Eso que os enseñan sirve como iniciación a la programación, pero no es C (lo es pero de esa forma nunca vas a saber cómo se programa en C).

            Es c, pero ya te digo que no me convence si empiezan asi…

            @cram:

            Según la teoria que nos dan –> #include <entsort.h>Cal afegir-lo sempre que en el programa s'usin operacions de llegir o escriure. (hace falta añadirlo cuando en el programa se usen ooperaciones de leer o escribir)

            Pues vaya mierda nos enseñan con el culo. Encima hacemos una clase y para el martes que viene (entremedio no tengo ninguna otra clase de eso) pues un examen, ya ves que gracia.</entsort.h>

            Vaya panda de … bueno, a ver, no te preocupes. Lo hacen para que no tengais que "pelearos" con la "stdio", que es facil de co*ones usarla, pero bueno asi seguro que los alumnos no se equivocan y es bastante "comoda" de usar la entsort (al menos lo parece).

            Pero que sepas que para utilizar operaciones de lectura/escritura de cualquier tipo (lectura del teclado, escritura por pantalla, o impresora, etc.) basta con utilizar la "stdio.h", STanDard Input/Output, una libreria estandar de c que viene con todos los compiladores. Esa "entsort.h" si vienes a mi casa a programar en c, no te funcionara 😛 pa que veas lo poco "portable" que es un programa usando librerias externas. Si me las pasas ya esta, pero si usas algo estandar, te evitas el ajetreo de pasar librerias...

            @kynes:

            El programa debería ser una cosa como así (que conste que llevo sin programar en C como que 9 años, si hay fallos que alguien los corrija)

            Esta casi bien. Al principio pense que el %d era para doubles, pero no, es para decimales con signo (es que ya no toco ni printf ni scanf xD). Lo que pasa es que el scanf espera como segundo parametro una indireccion, o de lo contrario le estaras pasando la direccion de la variable:

            scanf("%d", n); => scanf("%d",&n);

            El resto esta ok ;D

            @cobito:

            Bueno, ignorando esas operaciones de lectura y escritura creo que el algoritmo que has usado está bien (tampoco estoy 100% seguro porque hace 2 años que no miro nada de C). Me he bajado tu archivo compilado y lo único que hace es salir un cursor moviéndose de un sitio a otro, pero ni pide el nº de segundos ni nada, así que el algoritmo, esté bien o no, no es el responsable del mal funcionamiento. ¿Has probado poniendo #include <stdio.h>al principio?</stdio.h>

            No necesita la libreria stdio, fijate que no usa ninguna de sus funciones, y es codigo en c, lo que pasa es que usa funciones de otra libreria 😉

            Si tienes a Fore en el msn, dile que te pase mi dir, y asi lo acabamos en un periquete como bien ha dicho 😛

            Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

            cramC 1 Respuesta Última respuesta Responder Citar 0
            • cramC
              cram @Istarion
              Última edición por

              Gracias Istarion,

              lo de entsort.h lo he sacado de aquí: http://www.lsi.upc.edu/%7Efi/Software/ENTSORT.h

              es esto:

              /*

              • entsort.h
              • Operacions d'entrada/sortida
                */

              #ifndef ENTSORT_H
              #define ENTSORT_H

              void
              LlegirCaracter(char *const c);
              void
              LlegirEnter(int *const i);
              void
              LlegirReal(float *const f);

              void
              EscriureCaracter(char c);
              void
              EscriureEnter(int i);
              void
              EscriureReal(float f);

              void
              EscriureMissatge(char c[]);

              #endif

              y no se si esto es algo importante o no pero leas he tenido que poner en el programa. http://www.lsi.upc.edu/%7Efi/Software/libes.a

              Aquí los programas que uso http://truja.lsi.upc.edu/fi/material%20/Laboratori/Intruccions%20per%20a%20la%20installacio%20de%20emacs%20i%20gcc

              Sobre lo de usar los estandard pues no me convence porqué después en el examen lo hemos de hacer con lo de entsort.h y si no lo practico no me voy a enterar.

              smlS 1 Respuesta Última respuesta Responder Citar 0
              • smlS
                sml @cram
                Última edición por

                Para las I/O me explicaron que era #include<iostream.h>

                Que diferencia hay con las demas?</iostream.h>

                kynesK 1 Respuesta Última respuesta Responder Citar 0
                • kynesK
                  kynes Veteranos HL @sml
                  Última edición por

                  iostream es el equivalente de stdio pero en C++ en vez de en C, si no me equivoco.

                  hlbm signature

                  IstarionI 1 Respuesta Última respuesta Responder Citar 0
                  • IstarionI
                    Istarion @kynes
                    Última edición por

                    Al fin me puedo volver a conectar a hardlimit, se ve que hay algun cachondo en telefonica que le pega por caparme el acceso a esta pagina cuando le apetece O_o

                    @cram:

                    Gracias Istarion,
                    lo de entsort.h lo he sacado de aquí:

                    Sobre lo de usar los estandard pues no me convence porqué después en el examen lo hemos de hacer con lo de entsort.h y si no lo practico no me voy a enterar.

                    Ok, no me funcionan algunos enlaces porque no estoy logueado, pero me lo imagino. Ese .h es la "cabecera" de la libreria. Ahi te dicen qué funciones estan implementadas en el archivo .a (que viene a ser una especie de .dll pero estatica, uhm bueno tu creetelo :p).
                    Las .dll tambien vienen con un archivo .h (siempre que te dejen programar con ellas), ves las funciones que puedes utilizar, y tu usas las que quieras. En los mods de juegos, te dejan utilizar algunas funciones de las .dll del juego, solo que algo "capadas" para que no puedas hacer un juego completo.

                    Entiendo que no te convenza lo de usar estandares, no queria decir eso. Simplemente es mas correcto, pero como que a ti te van a examinar de otra cosa, puedes pasar de la stdio y demas. Tu conectate al msn y hablamos, asi me pasas la libreria y demas, y puedo hacer pruebas mas rapidamente.

                    Por cierto me equivoque, no usa sobrecarga de C++, al menos parece que usa ANSI C para hacer la libreria entsort…

                    @kynes:

                    iostream es el equivalente de stdio pero en C++ en vez de en C, si no me equivoco.

                    Exacto, solo que es sin .h (#include <iostream>). Basicamente es lo mismo pero se utilizan objetos, y no "funciones sueltas" como en ANSI C.</iostream>

                    Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

                    lforosL 1 Respuesta Última respuesta Responder Citar 0
                    • lforosL
                      lforos Veteranos HL @Istarion
                      Última edición por

                      El algoritmo está bien. ¿Porqué no haces una prueba simple con este código …?

                      #include<entsort.h>

                      int main(void) {
                      int n;

                      LlegirEnter(&n);
                      EscriureEnter(n);
                      return 0;
                      }

                      Si te da el mismo error es que es un problema de la librería entsort.</entsort.h>

                      hlbm signature

                      IstarionI 1 Respuesta Última respuesta Responder Citar 0
                      • IstarionI
                        Istarion @lforos
                        Última edición por

                        Y para asegurarte definitivamente (veo que no te conectas al msn :p) prueba a poner "printfs" por todo. Vale que no es la libreria que te piden en el examen pero es muy facil de utilizar y funciona siempre:

                        Primero incluye la libreria que contiene la funcion:

                        #include<stdio.h>

                        int main(…) {

                        printf("Llego al 1");
                        funcion_que_crees_que_tiene_papeletas_de_que_vaya_a_petar();
                        printf("Llego al 2");

                        }

                        Ya te digo que eso rula ok, y asi localizas la funcion que te esta haciendo extraños. Tambien puede ser que tengas otra version de la libreria y por eso pete, pero es raro porque si peta un programa tan sencillo mal rollo...</stdio.h>

                        Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

                        ForenaitsF cramC 2 Respuestas Última respuesta Responder Citar 0
                        • ForenaitsF
                          Forenaits Veteranos HL @Istarion
                          Última edición por

                          Debug casero powah! xD

                          1 Respuesta Última respuesta Responder Citar 0
                          • cramC
                            cram @Istarion
                            Última edición por

                            @Istarion:

                            Y para asegurarte definitivamente (veo que no te conectas al msn :p) prueba a poner "printfs" por todo. Vale que no es la libreria que te piden en el examen pero es muy facil de utilizar y funciona siempre:

                            Primero incluye la libreria que contiene la funcion:

                            #include<stdio.h>

                            int main(…) {

                            printf("Llego al 1");
                            funcion_que_crees_que_tiene_papeletas_de_que_vaya_a_petar();
                            printf("Llego al 2");

                            }

                            Ya te digo que eso rula ok, y asi localizas la funcion que te esta haciendo extraños. Tambien puede ser que tengas otra version de la libreria y por eso pete, pero es raro porque si peta un programa tan sencillo mal rollo...</stdio.h>

                            Vale, gracias por todo pero sí me va ya, era una parida, al compilar no lo hacia bien y por eso el exe no estaba bien, todo solucionado.

                            He hecho unos cuantos y todos ok; uno que calcula la letra del dni, otro que suma, otro que resta, division de enteros, soluciones de una eq de 2º grado, y cero problemas.

                            Merxi pro todo!!!!

                            por cierto he puesto mi msn bien que ese era el que tenia hace mucho, ara es ************

                            1 Respuesta Última respuesta Responder Citar 0
                            • 1 / 1
                            • First post
                              Last post

                            Foreros conectados [Conectados hoy]

                            0 usuarios activos (0 miembros e 0 invitados).
                            febesin, pAtO,

                            Estadísticas de Hardlimit

                            Los hardlimitianos han creado un total de 543.3k posts en 62.8k hilos.
                            Somos un total de 34.7k miembros registrados.
                            ssaybb ha sido nuestro último fichaje.