Programación desde CERO // hilo de dudas

Topic created · 174 Mensajes · 12788 Visitas
  • Thanks! sabia que el código estaba bien =D

    EDIT:

    Mira me ha surgido una dudilla sobre el almacenamiento de datos en variables y es lo siguiente:

    **En el Ejemplo 4: Diseña un programa que pida al usuario un número y lo almacene en una variable llamada minumero **

    #include 
    
    int main()  {
         int minumero;
         printf("Introduce un numero: ");
         scanf("%i", &minumero);
         system("pause > null");
         return 0;
    }
    

    Amí me gustaria crear un programa que me almacenara además de numeros, caracteres en una segunda variable. ¿Seria este el código correcto?

    #include 
    
    int main()  {
         int minumero; 
         char micaracter;
         printf("Introduce un numero o un caracter: ");
         scanf("%i", &minumero); 
         scanf("&c", micaracter);
         system("pause > null");
         return 0;
    }
    

    Gracias adelantadas! 🙂

  • Ese programa mostraría en pantalla el siguiente texto: "Introduce un numero o un caracter: ".
    Después leerá un número y por último leerá un carácter. Es decir, que leerá tanto un número como un carácter. Si quieres que el usuario pueda elegir uno de los 2 tienes que ver primero las condiciones (que creo que aún no las has visto).

    Un saludo.

  • El programa está bien. Sin embargo, te recomiendo que no pongas system("pause > null") por dos motivos:

    No te hace falta, Code::Blocks te para el programa automáticamente al terminar.
    Ese código no es portable. Si lo compila y ejecuta alguien desde linux, como es mi caso muchas veces, la consola no reconocerá ese comando

    1.- lo uso para ejecutar el .exe compilado, si sé que el codeblocks lo detiene para probar el codigo, pero como te digo,lo use nada mas para el .exe ya compilado 😉
    2.- nunca dijiste que se hagan programas portables, menos que tú al llevar el curso ibas a probarlos desde gnu/linux. Si es asi, la cosa cambia, pero antes avisar eh xd

    pd: en unos momentos instalare fedora 15 con gnome3 y desde ahi probare el codigo para hacerlos portables.

    igualmente un saludo.

  • A mí me da igual, que tus programas sean portables (tengo el código fuente, es fácil quitarle las líneas que no me interesan). Yo solo te lo digo para que sepas que no son portables, por si acaso no lo sabías (aunque suponía que sí, no estaba seguro). Como ves te di el programa igualmente por bueno, lo de que no lo pusieras es solo una recomendación, es como cuando os digo que a la variable que hace de contador en el for la llaméis "i". Puedes hacer lo que te de la gana 😛

    Un saludo.

  • @freak7z said:

    @Hawkings said:

    @Anghios: Está perfecto :miau:

    perfecto???...Estas Bromeando?...

    sé que esto no va aki, pero lo pongo para que lo veas....de ahi lo borras o algun mod que lo mueva.
    y me gustaria saber y que lo pongas en la parte de dudas, tus razones del porque esta perfecto ese ejercicio, si yo veo bibliotecas que son llamadas por las puras y no existe un return para main(). o en que te basas para decir que esta perfecto o quizas estas haciendo referencia a otro ejercicio. (sacame la duda 😉 )

    un saludo

    Como ya dije en mi curso de C++, si en C++ no pones return 0 al final de main() no pasa nada, devuelve 0 automáticamente a no ser que le indiques lo contrario, e incluir archivos de más no me parece un error, yo mismo suelo incluir siempre las librerías que más uso en todos mis programas aunque luego no use alguna. Es más, el programa hace perfectamente lo que tiene que hacer y al compilar no da ni siquiera ningún warning, así que por lo que a mi respecta está perfecto. Es posible que tú consideres que en el sentido estricto el programa no está hecho de forma inmejorable, pero a mi lo que me interesa es que aprendan a usar las structs, así que mientras el programa funcione perfecto lo otro no lo veo tan importante. Espero haber resuelto tu duda, un saludo.

  • Hawkings, me podrias decir como crear esto:
    Ejercicio 12 (B): Diseña un programa que pida al usuario un número, y muestre por pantalla el doble de ese número
    no lo entiendo muy bien como hacerlo :S
    y en esto, me da error:

    int num1, num2;
    num1 = 7;
    num2 = num1 +3;
  • El código que me has puesto no debería darte error siempre que eso lo hayas puesto dentro de main(), ¿podrías copypastearme el error que te da?

    Por cierto, ese programa no pide ningún número al usuario porque no usas scanf(), deberías hacerlo para pedirle el valor de la primera variable.

    Un saludo.

  • Ya esta, me faltaba cerrar con la llave
    ahora lo que me pasa es que al abrirlo y pulsar cualquier boton, se me cierra.
    Aqui te dejo:

    #include 
    
    int main()  {
         int num1, num2;
    num1 = 7;
    num2 = num1 +3;
    system("pause > null");
    }
  • asegúrate de haberle puesto al archivo la extensión .c y no .cpp (esta última es de C++, no de C). Además pon "return 0;" después de "system("pause > null");". Si te sigue dando problemas intenta instalar code::blocks en lugar de Dev-C++

  • @ttoottyy said:

    Ya esta, me faltaba cerrar con la llave
    ahora lo que me pasa es que al abrirlo y pulsar cualquier boton, se me cierra.
    Aqui te dejo:

    #include 
    
    int main()  {
         int num1, num2;
    num1 = 7;
    num2 = num1 +3;
    system("pause > null");
    }     
    

    Ten en cuenta que el usuario debe introducir los números, no tienes que darlos tu con un valor en la variable.