Resultados 1 al 17 de 17

Problema Dev-c/c++

  1. #1 Problema Dev-c/c++ 
    Medio
    Fecha de ingreso
    Dec 2005
    Mensajes
    84
    Descargas
    0
    Uploads
    0
    bueno primero que nada no se nada de C y quiero aprender pero no puedo partir porque este compilador que me recomendaron no me funcion sera el compilador, el windows, el codigo? nose.Pero cree el siguiente codigo:
    #include <stdio.h>

    main()

    {

    printf("Hola amigos!\n");

    }

    y lo compilo y me sale que todo esta bien:
    Compilador: Default compiler
    Compiling main.c
    Linking Proyecto 1.exe
    Linking Proyecto 1.exe
    Done.

    luego voy al exe lo abro y no pasa nada... como si cerrara automaticamente incluso probe un codigo 'vacío' y no pasa nada.
    main()

    {

    }
    Citar  
     

  2. #2  
    Administrador Foros HH
    Fecha de ingreso
    Nov 2001
    Ubicación
    Spain
    Mensajes
    2.235
    Descargas
    0
    Uploads
    0
    ¿Se te abre y se te cierra automáticamente una línea de comandos? Es lo normal.

    Eso es por que éste programita que has compilado requiere de un CMD para mostrar los resultados (CMD = línea de comandos de windows). Lo que hace es abrir el CMD, mostrar "Hola amigos!" y al terminar el programa se cierra automáticamente.
    Todo sucede tan rápido que no puedes apreciar nada, haz lo siguiente:

    - Abres una linea de comandos (Inicio > Ejecutar: CMD)
    - Te diriges donde tengas tu programa "Proyecto 1.exe" y lo ejecutas (escribiendo su nombre)

    Entonces el CMD no se te cierrará y podrás ver tu programita


    Ya contarás, un saludo.
    Todos desean saber, pero pocos pagar el trabajo que vale.

    [[NORMAS DEL FORO]]
    Citar  
     

  3. #3  
    Medio
    Fecha de ingreso
    Jan 2006
    Mensajes
    98
    Descargas
    0
    Uploads
    0
    Otra forma es añadiendo la siguiente linea al final de tu codigo:

    system(PAUSE);

    PS Lo que no me acuerdo muy bien es si PAUSE debería ir entre comillas. Prueba ambas y funcionara. Saludos
    Prvo nauci milslit, poslije programiraj.
    Citar  
     

  4. #4  
    Administrador Foros HH
    Fecha de ingreso
    Nov 2001
    Ubicación
    Spain
    Mensajes
    2.235
    Descargas
    0
    Uploads
    0
    Sí, se escribe con comillas. Pero aquí te dejo un enlace muy interesante sobre la funcion pause: http://www.gidnetwork.com/b-61.html

    Un saludo.
    Todos desean saber, pero pocos pagar el trabajo que vale.

    [[NORMAS DEL FORO]]
    Citar  
     

  5. #5  
    Moderador HH
    Fecha de ingreso
    Feb 2002
    Ubicación
    México
    Mensajes
    1.156
    Descargas
    4
    Uploads
    0
    La facilidad de system("pause") esta en que escribe "Presione cualquier tecla para continuar", en el idioma original del windows que esté instalado (o ms-dos). Además de que acepta cualquier tecla.
    La desventaja de usar otras funciones, como getch(), es que estas son exclusivas de borland y sólo funcionan en compiladores borland.
    Y en mis tiempos de programacion en ms-dos nunca encontré una funcion tan versátil y cómoda como system("pause"). Es verdad que consume algunos nanosegundos mas que otras que sugieren en la página, pero a quien le importa.
    Además en linux y unix y otros sistemas operativos siempre tienen el equivalente de pause.
    un saludo
    Mientras el mundo permanezca no acabarán la fama y la gloria de México-Tenochtitlan
    Citar  
     

  6. #6  
    Medio
    Fecha de ingreso
    Dec 2005
    Mensajes
    84
    Descargas
    0
    Uploads
    0
    gracias.. probé ambas soluciones la de ms-dos no me funciono no me salía nada.
    C:\Dev-Cpp\My Projects>dir
    El volumen de la unidad C no tiene etiqueta.
    El número de serie del volumen es: 10EA-0415

    Directorio de C:\Dev-Cpp\My Projects

    20-12-2006 13:33 <DIR> .
    20-12-2006 13:33 <DIR> ..
    20-12-2006 13:33 74 main.c
    20-12-2006 13:33 574 main.o
    20-12-2006 13:33 801 Makefile.win
    19-12-2006 02:55 834 Proyecto 1.dev
    20-12-2006 13:33 15.663 Proyecto 1.exe
    17-12-2006 03:09 893 Proyecto 2.dev
    20-12-2006 13:29 15.839 Proyecto1.exe
    17-12-2006 03:09 587 Proyecto_2_private.h
    17-12-2006 03:09 72 Proyecto_2_private.rc
    9 archivos 35.337 bytes
    2 dirs 1.330.352.128 bytes libres

    C:\Dev-Cpp\My Projects>proyecto1.exe

    C:\Dev-Cpp\My Projects>

    luego probé lo de system("PAUSE"); y me funciono, es decir la aplicaccion ya no se cerraba instantaneamente pero no salia el mensjae indicado por la funcion printf y me salía como dijeron udstedes el msg de presionar una tecla y al precionarla se cierra la aplicacion.
    Citar  
     

  7. #7  
    Administrador Foros HH
    Fecha de ingreso
    Nov 2001
    Ubicación
    Spain
    Mensajes
    2.235
    Descargas
    0
    Uploads
    0
    Vamos que tanto un método como el otro no te han funcionado (aunque los dos son totalmente efectivos). ¿Seguro que ejecutas el programa adecuado?
    Todos desean saber, pero pocos pagar el trabajo que vale.

    [[NORMAS DEL FORO]]
    Citar  
     

  8. #8  
    Medio
    Fecha de ingreso
    Dec 2005
    Mensajes
    84
    Descargas
    0
    Uploads
    0
    bueno mi objetivo es que aparesca un mensaje con la funcion printf y no me a funcionado eso por lo que quisas lo de pause sirve para que no se cierre y en eso ha funcionado pero en cuanto a que se muestre el mensaje no ha pasado nada

    *descubrí un error (creo) me faltaba el prefijo int en la parte de main, pero = no me aparece el mensaje
    Última edición por oRa; 20-12-2006 a las 20:37
    Citar  
     

  9. #9  
    Administrador Foros HH
    Fecha de ingreso
    Nov 2001
    Ubicación
    Spain
    Mensajes
    2.235
    Descargas
    0
    Uploads
    0
    Efectivamente el pause es una pequeña chapucilla para que la ventana no se cierre una vez finalizado el programa (en este caso es un programa que dura un respiro) y puedas ver el printaje.
    Hace años que no toco C pero vamos debería de funcionarte... ahí debes tener algun problema extra. Te debería haber dado un error pero por si a caso, has puesto la librería stdio.h? Prueba con:

    Código:
    #include <iostream.h>
    
    main()
    {
        for(;;)
        {
            cout << "Hello World! ";
        }}
    Extraído de: http://www2.latech.edu/~acm/helloworld/c++.html

    Un saludo.
    Todos desean saber, pero pocos pagar el trabajo que vale.

    [[NORMAS DEL FORO]]
    Citar  
     

  10. #10  
    Co-Admin HackHispano.com Avatar de clarinetista
    Fecha de ingreso
    Jan 2004
    Ubicación
    HackHispano/SM
    Mensajes
    7.773
    Descargas
    31
    Uploads
    8
    Yo lo haría de este modo, obviamente hablando en mundo Windows

    Código:
    #include <conio.h>
    #include <stdio.h>
    
    main()
    
    {
    clrscr();
    printf("Hola amigos!\n");
     getch();
    
    }
    Citar  
     

  11. #11  
    Iniciado
    Fecha de ingreso
    Dec 2006
    Mensajes
    4
    Descargas
    0
    Uploads
    0
    Que tal oRa, los errores en tu programa no son tan dificiles mira:


    #include <stdio.h> // Esto para los printf y scanf
    #include <stdlib.h> // Esta la usaremos para pausar la pantalla

    //main() Primer error en Dev-c ++ es obligatorio declarar tu funcion principal
    // como int, es decir int main( )

    int main()
    {
    printf("Hola amigos!\n");
    system("pause"); // Aqui como ya te habian dicho colocamos este comando
    // que te pausara la pantalla.
    return 0; // Por ultimo le habisamos al program que tu aplicacion ha terminado
    }
    Solo eran unas cuantas cosillas, pero estudia demaciado, tanto yo como otros empezamos desde cero, y para eso estan los foros, para ayudar.

    Otra cosa bien importante, no manejes la libreria conio.h ya que esa libreria no es estandar y si la manejas en el Dev-c++ te marcara un error, en IDE's del borland si la aceptan, pero si te vas a un foro de C++ y posteas algun programa que contenga la libreria conio.h, lo primero que te diran es que no utilices eso. Es solo un consejo.

    Agradeceria que nos comentaras como te fue con tu program.

    Saludos...
    .·´¯`·-> (3l£NÐ <-·´¯`·.

    "Escoje a un enemigo grande, esto te obligara a crecer para poder enfrentarlo"
    Citar  
     

  12. #12  
    Moderador HH
    Fecha de ingreso
    Feb 2002
    Ubicación
    México
    Mensajes
    1.156
    Descargas
    4
    Uploads
    0
    Los errores que marcaste no son tales, ese no es el problema, la funcion main puede dejarse así o poner void main, que no necesariamente necesita regresar algún valor. Por lo que me doy cuenta, oRa se ha complicado la vida creando un proyecto completo con make y todo.
    Para un programa tan sencillo no necesitas hacer makefile ni nada, es posible que tu proyecto compilado intente instalar en tu computadora el hola mundo, pero no ejecutarlo.
    Aqui te van las instrucciones para ejecutar tu programa sin problemas en DevC++;
    1.-Abrir el programa que generalmente se encuentra en Programas->DevC++->DevC++ (Esto es obvio, pero había que ponerlo)
    2. Ir al menú File->New Source File (NO crear nuevo proyecto).
    3.Escribir el siguiente código:
    Código:
    #include <iostream.h>
    #include <stdlib.h>
    
    int main()
    {
          cout<<"hola mundo"<<endl;
          system("PAUSE");
          return 0;
    }
    4. Guardar el archivo presionando Ctrl+S. y darle cualquier nombre
    5. Presiona F9 para compilar y ejecutar.

    Con esto no debe haber ningún fallo, suerte.
    Última edición por Giskard; 21-12-2006 a las 02:49
    Mientras el mundo permanezca no acabarán la fama y la gloria de México-Tenochtitlan
    Citar  
     

  13. #13  
    Medio
    Fecha de ingreso
    Dec 2005
    Mensajes
    84
    Descargas
    0
    Uploads
    0
    jaja ya me di cuenta es lo que dice gikard, pues había puesto nuevo proyecto y mas encima puse windows aplication, probé con new proyect -> ms-dos aplication y ahi me funciono. bueno ¿cual es la diferencia entre poner new proyect en ms-dos y poner new source code?
    gracias... otra pregunta, en todos estos manuales y tutorials que encuentro por ahi ¿voy a estar haciendo solo aplicaciones para ms-dos al principio? o puedo hacer aplicaciones para windows por ejemplo (q funcionen con mause) sin saber primero como hacer aplicaciones para ms-dos.
    como se hacen para windows, desde las ms-dos o es algo totalmente distinto?
    Citar  
     

  14. #14  
    Iniciado
    Fecha de ingreso
    Dec 2006
    Mensajes
    4
    Descargas
    0
    Uploads
    0
    Los errores que marcaste no son tales, ese no es el problema, la funcion main puede dejarse así o poner void main, que no necesariamente necesita regresar algún valor.
    La verdad no sabia que se pudiera colocar solo main, de hecho por lo que se y me han enseñado todo programa debe o no regresar un valor, ya sea int o void, pero como esta utilizando Dev-c++ si necesita colocarlo de esa forma "int main", a diferencia con Borland, en el que si se coloca el "void main()".

    Lo del Make, no me habia dado cuenta de que lo estaba haciendo asi Giskard
    .·´¯`·-> (3l£NÐ <-·´¯`·.

    "Escoje a un enemigo grande, esto te obligara a crecer para poder enfrentarlo"
    Citar  
     

  15. #15  
    Moderador HH
    Fecha de ingreso
    Feb 2002
    Ubicación
    México
    Mensajes
    1.156
    Descargas
    4
    Uploads
    0
    Tienes razon, ahora que recuerdo Devc++ no deja poner el main a secas, pero otros compiladores si deja.
    Por otro lado es buena costumbre poner "int main" para poder regresar un 0 cuando el programa se ejecutó bien y regresar un valor distinto en caso de algún error.
    Mientras el mundo permanezca no acabarán la fama y la gloria de México-Tenochtitlan
    Citar  
     

  16. #16  
    Medio
    Fecha de ingreso
    Dec 2005
    Mensajes
    84
    Descargas
    0
    Uploads
    0
    que hay de las aplicaciones para sistemas mas interactivos que el ms-dos que se puedan usar con mouse y botones... tengo que aprender primero lo de dos y despues podré crear applicaciones que funcionen para windows o linux ? o puedo ir directamente a eso... ms-dos es la base para lo otro o es algo separado?
    Citar  
     

  17. #17  
    Moderador HH
    Fecha de ingreso
    Feb 2002
    Ubicación
    México
    Mensajes
    1.156
    Descargas
    4
    Uploads
    0
    La programación para modo consola y para entornos gráficos es muy distinta en cuanto a que las funciones y librerías cambian por completo, pero los paradigmas de la programación estructurada y la orientada a objetos sigue siendo igual.
    Para programar "ventanitas" el compilador que siempre uso es el visual c++.
    Un saludo
    Mientras el mundo permanezca no acabarán la fama y la gloria de México-Tenochtitlan
    Citar  
     

Marcadores

Marcadores