Ver temas sin respuesta | Ver temas activos
¡Haz un donativo a Espacio Linux!
Portada » Foros Linux » Desarrollo » Programación
Página 1 de 1
|
[ 11 mensajes ] |
|
Autor |
Mensaje |
Rob_Zombie

Forista Nuevo
Registrado: Mié Jul 01, 2009 7:00 am Mensajes: 3
|
 Publicado: Mié Jul 01, 2009 11:38 pm |
|
Hola, alguien conoce la forma de ejecutar por ejemplo este codido de C en Linux?
#include <stdio.h>
#include <stdlib.h>
int main()
{
int segundos;
int minutos;
int horas;
printf("diga cuantos segundos\n");
scanf("%i", &segundos);
printf("%i\n", minutos=segundos/60);
printf("%i\n", horas=minutos/60);
printf("en %i segundos entran %i minutos o sino %i horas", segundos, minutos, horas);
system("pause>nul");
}
Este codigo y otos muchos los intento compilar usando Geany, y Dev-C++ (que lo instale con el Wine) y no me permite ejecutarlos, (me parece obvio porque Linux no usa los bat de windows, por lo tanto no puede ejecutar el system("pause>nul") ), el problema es que los manuales pdf de C que tengo, tienen ejemplos basados en windows. Mi pregunta es si hay algun paquete, libreria, o algo que pueda usar para ver algo similar a la ventanita negra que aparecia cuando compilaba y ejecutaba un codigo asi en Dev-C++. Si conocen la forma que sea en Dev-C++, mejor, ya que con este estoy mas familiarizado. Muchas gracias por su tiempo. Gonzalo.
Ahh uso Linux Ubuntu 8.04 - Hardy Heron.
|
|
|
|
 |
akodo

Moderador
Registrado: Mié Nov 28, 2007 8:00 am Mensajes: 1457 Ubicación: En la X del explorer (pulse para llamar)
|
 Publicado: Jue Jul 02, 2009 1:41 am |
|
Lo ideal es que trataras de detectar el SO sobre el que estás trabajando, de forma que si trabajas sobre linux realizas una acción y si no realizas otra.
No sé si existirá alguna librería que tenga para sacar el nombre del SO sobre el que trabaja, pero otra opción es intentar averiguarlo tú mediante la función system.
Una vez detectado el SO lo que tendrías que hacer es guardarlo en una variable o en otro sitio para poder usarlo más tarde.
_________________ Descargue el gestor de mp3 "Music Manager" -> (mmlf)
Última versión del gestor "Music Manager" -> (jmmm)
|
|
|
|
 |
Rob_Zombie

Forista Nuevo
Registrado: Mié Jul 01, 2009 7:00 am Mensajes: 3
|
 Publicado: Jue Jul 02, 2009 2:35 am |
|
Disculpen creo que no me exprese bien, lo que yo necesito es compilar ese codigo y algunos otros extraidos de un manual pdf de C, es decir ir aciendo los ejemplos del manual en un compilador de C que funcione bajo Linux (lo ago para aprender a usar el lenguaje), el problema creo que son las librerias que usa el manual. Muchas Gracias. Gonzalo.
|
|
|
|
 |
black_magician

Forista Medio
Registrado: Mar Sep 11, 2007 7:00 am Mensajes: 349 Ubicación: el mas alla
|
 Publicado: Jue Jul 02, 2009 4:08 am |
|
Pues a mi me anduvo bien, el unico problema fue con la orden de system, pero si me hizo el calculo, de hecho no veo la razon para poner tal orden de "pause"
_________________ El Blogazo
|
|
|
|
 |
ORBVS

Forista Nuevo
Registrado: Lun Nov 14, 2005 8:00 am Mensajes: 28
|
 Publicado: Jue Jul 02, 2009 6:02 pm |
|
El mismo codigo, pero un poco mas corto, y con el "return 0" al fondo, la funcion main necesita regrasar un valor int si asi lo defines, si no quieres regresar algun valor al sistema, entonces define la funcion main como "void main()"
Código: #include <stdio.h> #include <stdlib.h>
int main() { int segundos, minutos, horas;
printf("diga cuantos segundos: "); scanf("%i", &segundos);
printf("minutos:%i\nhoras:%i\n", minutos=segundos/60, horas=minutos/60); printf("en %i segundos entran %i minutos o sino %i horas", segundos, minutos, horas);
/* system("pause>nul"); */
return 0; }
Saludos!
|
|
|
|
 |
xunilk

Forista Medio
Registrado: Sab Dic 06, 2008 8:00 am Mensajes: 181
|
 Publicado: Jue Jul 02, 2009 6:37 pm |
|
Copia ese código, agregando el return y eliminando la opción del system como te señalaron, en un archivo de texto con el nombre, por ejemplo, de primero.c.
Código: #include <stdio.h>
#include <stdlib.h>
int main()
{
int segundos, minutos, horas;
printf("diga cuantos segundos\n");
scanf("%i", &segundos);
printf("%i\n", minutos=segundos/60);
printf("%i\n", horas=minutos/60);
printf("en %i segundos entran %i minutos o sino %i horas", segundos, minutos, horas);
return 0;
}
Si tienes el g++ instalado, lo compilas así:
g++ primero.c -o primero
y luego lo ejecutas así:
./primero.
Después lo analizas como funciona y lo mejoras a tu antojo
|
|
|
|
 |
Rob_Zombie

Forista Nuevo
Registrado: Mié Jul 01, 2009 7:00 am Mensajes: 3
|
 Publicado: Dom Jul 05, 2009 9:03 am |
|
Bueno antes que nada les doy las gracias a todos los que respondieron, y les comento un poco mi situacion, soy usuariuo de Linux hace 2 o 3 meses, y mo tengo ni idea del uso de la Terminal. Creo que alguien que alla usado el Dev-C++ sabe que para ejecutar un codigo (o programa escrito en c) hay que apretar en "compilar y ejecutar", y luego aparecia la ventana del dos y hay estaba el "programa en si", yo busco la forma de ver los programas estos de ejemplos de la misma forma que lo hacia con el Dev-C++, pero en Linux, o al menos saber si hay forma de ejecutar estos codigos tal cual salen en el manual. Muchas Gracias... Gonzalo.
P.D.: Me recomiendan algun editor similar a Dev-C++ para Linux?
|
|
|
|
 |
Orphen

Forista Medio
Registrado: Sab Mar 08, 2008 8:00 am Mensajes: 286 Ubicación: Colombia/Bogotá/home
|
 Publicado: Dom Jul 05, 2009 9:31 am |
|
yo cambie dev C++ por Gedit, el editor de textos de Gnome (si, el blog de notas) solo mira las opciones y verás que es muy útil, lo único es que no tiene debugger.
la forma de compilar más rápida y claro, de ver los errores de sintaxis en el código, es la terminal, de tal modo que:
cuando guardes un código, que no sea en una ubicación extraña ni tenga nombres como: "codigo numero 1.cpp", a cambio usa nombres cómo: "cod_1.cpp" evitando espacios
sabiendo la ubicación de tu archivo, por ejemplo: /home/user/programacion/
en la terminal llegas colocando:
cd /home/user/programacion/
ubicado en la carpeta, compilas así:
g++ cod_1.cpp -o cod
donde cod_1.cpp es el nombre del archivo y cod es el nombre del ejecutable
ahora, pendiente a la terminal (shell), pues puedes tener errores de programación, y estos se te informarán en la misma como lo hace dev c++, cuando tengas el ejecutable (que quiere decir que no tienes errores al compilar) para ejecutarlo realizas el comando:
./nombre_ejecutable
en nuestro caso: ./cod
mira estos 2 pantallazos que subí para que te des a la idea:
primero el editor de textos Gedit, me parece muy útil:
ojo; el código que coloque es el que colocas a principio modificando un par de cosas, pero en esencia es el mismo (si usas cin y cout, no uses conio.h, usa solo using namespace std o cuando escribas cout por ejemplo pones: std cout)
y ahora el proceso en terminal, si sabes moverte entre carpetas, te será más fácil:
ojo al fondo, coloque el archivo cpp y el ejecutable
espero te sea de ayuda.
_________________ Be Original, Be Free, Be GNU/Linux.
Iguazo Made in: Chibchombia
Visite esta cochinada!
|
|
|
|
 |
akodo

Moderador
Registrado: Mié Nov 28, 2007 8:00 am Mensajes: 1457 Ubicación: En la X del explorer (pulse para llamar)
|
 Publicado: Dom Jul 05, 2009 12:35 pm |
|
Tan sólo recordar que hay un post-it en el que se explica como compilar programas en C http://www.espaciolinux.com/foros-tema-t11627.html
Sólo hay que seguir unos pocos pasos, que después de hacerlos un par de veces se acaban haciendo mecánicos.
Con lo que te ha dicho Orphen y pasándote por el post-it deberías saber lo suficiente para compilar tus programas. Y no le tengas miedo al terminal que no come (sólo explota de vez en cuando) 
_________________ Descargue el gestor de mp3 "Music Manager" -> (mmlf)
Última versión del gestor "Music Manager" -> (jmmm)
|
|
|
|
 |
ORBVS

Forista Nuevo
Registrado: Lun Nov 14, 2005 8:00 am Mensajes: 28
|
 Publicado: Mar Jul 07, 2009 12:17 am |
|
Rob_Zombie escribió: Bueno antes que nada les doy las gracias a todos los que respondieron, y les comento un poco mi situacion, soy usuariuo de Linux hace 2 o 3 meses, y mo tengo ni idea del uso de la Terminal. Creo que alguien que alla usado el Dev-C++ sabe que para ejecutar un codigo (o programa escrito en c) hay que apretar en "compilar y ejecutar", y luego aparecia la ventana del dos y hay estaba el "programa en si", yo busco la forma de ver los programas estos de ejemplos de la misma forma que lo hacia con el Dev-C++, pero en Linux, o al menos saber si hay forma de ejecutar estos codigos tal cual salen en el manual. Muchas Gracias... Gonzalo. P.D.: Me recomiendan algun editor similar a Dev-C++ para Linux?
Si quieres un sistema integrado yo recomiendo el KDevelop, require las librerias QT y KDE pero es facilisimo de usar, y para mi es lo mas cercano al Visual Studio de Microsoft. Pruebalo y no te arrepentiras.
En lo personal uso el EMACS, que es dificultoso pero es infinitamente adaptable a todas mis necesidades y me permite compilar desde el editor y si sabes programar en LISP puedes moldearlo a tu manera.
|
|
|
|
 |
Destructor

Forista Legendario
Registrado: Lun Jul 05, 2004 7:00 am Mensajes: 1672 Ubicación: México, Distrito Federal
|
 Publicado: Mar Jul 07, 2009 4:55 am |
|
Pues no sé que busques, pero el que mencionas geany, le das F5, compila y ejecuta, te abre una ventana de ejecución. Me parece que es lo que buscas.
Saludos
_________________ Reglamento del foro | Temas más preguntados | Mi blog | Debian Tes
|
|
|
|
 |
|
|
Página 1 de 1
|
[ 11 mensajes ] |
|
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado
No puede abrir nuevos temas en este Foro No puede responder a temas en este Foro No puede editar sus mensajes en este Foro No puede borrar sus mensajes en este Foro No puede enviar adjuntos en este Foro
|
|