¿Sabías que…

no deberías quitar las sugerencias

Me encanta la forma de saludar del programa Dev-C++. Por cierto, yo siempre quito las sugerencias del día cada vez que lo instalo. Me parece más emocionante ir directamente hacia el peligro.

Tutorial de C sobre XCode en Mac OS X

Por aquí ya sabréis que soy muy tozudo. Si no había tenido suficiente intenando aprender a controlar XCode con C++, el otro día me dio por aprender algo mucho más difícil.

Pensé que una buena opción de futuro es programar para el iPhone y el iPod Touch (de aquí en adelante OS X iPhone), pero sobre todo para la plataforma que uso: Mac OS X. Estuve mirando algún tutorial/manual sobre Cocoa y me dí cuenta de que para ello necesitaba saber Ojective-C. No hay problema, ya sabía yo que Ojective-C está basado en C, el lenguaje de programación del cual yo había aprendido una versión más potente: C++. Supuse que Objective-C sería más o menos sencillo de aprender con mis conocimientos. Error.

xcode iconoMe he dado cuenta de que necesito saber C, y más concretamente, utilizar XCode con C. Después de unas cuantas horas de lectura de tutoriales de XCode y C (que son bastante escasos), he podido adquirir unos conocimientos básicos, que voy a compartir con todos vosotros.

Conseguir XCode

XCode es gratuito y lo puedes conseguir tanto en el DVD de instalación de Mac OS X (en Leopard por lo menos viene) o desde la web de Desarrolladores de Apple (debes registrarte).

Una vez descargado e instalado (totalmente intuitiva), vamos a crear nuestro primer proyecto en XCode.

Seguir leyendo el resto de la entrada »

Menú de opciones en C++

Voy a aprovechar lo que estoy estudiando ahora mismo para los exámenes de septiembre y os voy a poner un pequeño tutorial sobre **C++** en el que implementamos un menú de opciones.

Los pasos de los que consta este tutorial son los siguientes:

  1. Declarar las funciones
  2. Escribir el programa principal
  3. Escribir las funciones

Empecemos con lo más sencillo, declarar las funciones que utilizaremos: el menú que se verá por pantalla y la confirmación de la salida.

// Declaramos las cabeceras de las funciones que utilizaremos
char Menu();
bool ConfirmaSalida();

Nuestro programa principal consistirá en elegir qué acciones se realizarán dependiendo de la opción que se recoja en la función Menu(), que irá dentro de un bucle para que se ejecute una y otra vez hasta que se pulse la tecla correspondiente para salir mediante ConfirmaSalida().

Seguir leyendo el resto de la entrada »

Terminando exámenes

Son las 12:30 y me quedan 4 horas para empezar el que va a ser mi último examen, el de **Laboratorio de Programación**.

Me espera un fin de semana agridulce, pero bueno; intentaré disfrutarlo.

Os dejo con una canción del nuevo disco de **The Offspring**: [Rise and Fall, Rage and Grace](http://es.wikipedia.org/wiki/Rise_and_Fall,_Rage_and_Grace).

**Actualización [21:00]:** Vaya mierda de examen que me ha salido >_< Durante las tres primeras horas fui bien, no había muchas complicaciones con lo que pedían; sin embargo fue a partir de ahí cuando empezaron a salir errores raros y el tiempo a volar.

En fin, una que me sacaré por cojones en septiembre.

C++ en Mac OS X

Como todos sabéis (y más por [twitter](http://twitter.com/tauron32)), tengo una asignatura que es **Laboratorio de Programación**, en ella se supone que vamos aprendiendo a programar en C++ usando el programa [Dev-C++](http://www.bloodshed.net/devcpp.html).

Realmente está bastante bien el programa. Por desgracia, sólo está disponible para Windows, lo cual es una pequeña putada para mí ahora que tengo mi MacBook. La cosa es que llevo bastante tiempo buscando alguna manera de poder programar sin problemas en C++ desde Mac OS X tal y como lo hacemos en clase.

Empecé probando con el Xcode ya que me venía en los discos de instalación de Leopard. Pero nada más lejos de la realidad, para C++ se me queda demasiado grande. No es lo que yo estoy buscando.

Ayer mismo, [Andrés Milleiro](http://www.andresmilleiro.info/blog/) escribió un twit hablando de [NetBeans](http://www.netbeans.org/) y decidí instalarlo para ver qué tal.

Sencillamente magnífico. Después de haber leído un poco sobre cómo usarlo, ya he conseguido hacer exactamente lo mismo que hago en clase. Salvo por dos cositas:

system("cls")        // Borra la pantalla
system("Pause")      // Hace una pausa

Estos dos comandos sólo se usan en Windows, ya que hacen un llamamiento al **sistema**. Cuando ejecutaba mis programas en Mac OS X con esos comandos, cada uno me daba un error en tiempo de ejecución, por lo que investigando un poco he llegado a lo que yo creo que es la mejor solución a la hora de poder entregar mis prácticas.

#ifdef __MSDOS__
system("cls")        // Si estamos en MSDOS, ejecuta el "cls"
#else
system("clear")    // En otro caso, ejecuta la equivalente en Mac
#endif

#ifdef __MSDOS__
system("Pause")
#endif

La función **”Pause”** no se utiliza en Mac OS X, que yo sepa, ya que lo hace automáticamente. Por lo tanto, si estamos usando MS-DOS, ejecutará “Pause”, en otro caso, no hará nada.

Es un poco engorroso, pero así me funciona en Mac OS X y también le funcionará al profesor cuando él lo ejecute en su ordenador con Windows.

Por supuesto, se admiten sugerencias.