Feb 252018
 

Cuando se trabaja con TDA se acostumbra a separar las declaracciones y las definiciones, en el momento de implementar el TDA en el Lenguage de Programación C++ las declaraciones se escriben en archivos .h y las definiciones archivos .cpp, usualmente en directorios include y src respectivamente.

Si se está usuando Visual Studio Code, VSCode o simplemente code,  será necesario decirle al editor donde están los .h, aunque también al incluir el archivo el VSCode mostrará un indicador para hacernos saber que no encuentra en .h en su camino de búsqueda (includePath). En la Figura 1 se muestra el indicador por medio de un pqueño bombillo amarillo:

Figura 1 Indicación de archivo no encontrado en el include Path

Si se da click sobre el indicador el VSCode ofrecerá editar la configuración del includePath, eso se vé en la imagen Figura 2 siguiente:

Editar includePath

Figura 2 Editar IncludePath

Se selecciona Edit “includePath” setting, éste abre el archivo  c_cpp_properties.json de configuración y puede agregar el directorio donde se encuentran nuestros archivos .h con las declaraciones. Usualmente trato, en la mayoria de los casos, que los archivos .h con las declaraciones se encuentren en un directorio inmediatamente encima del directorio de trabajo llamado include, sólo falta agregar la línea indicando la posición en la sección includePath del sistema operativo correspondiente. En mi caso busco la sección del sistema operativo Linux y alli agrego

“${workspaceRoot}/../include”,

Tal cual como se muestra en la figura 3:

 c_cpp_properties.json

Figura 3 Edición del archivo c_cpp_properties.json

Cualquiera duda seguimos a la orden (y)

 

Feb 242015
 

La siguiente instalación es sobre una máquina recien instalada con Ubuntu 14.04, instalé esta versión ya que el el LTS mas reciente para la fecha.

Pasos:

  1. Instalación de C++:
    sudo apt-get install g++
  2. Bajar el Qt 5.4.1 y Qt Creator 3.3.1 (versiones actuales) desde http://www.qt.io/download-open-source/#section-3
    Si estás desde la RedULA puedes bajarlas de estos enlaces: Qt 5.4.1 y Qt Creator 3.3.1
  3. Instalar el Qt bajo /opt con:
    sudo ./qt-opensource-linux-x86-5.4.1.runAl ejecutarlo dío el siguiente error:

    ./qt-opensource-linux-x86-5.4.1.run: error while loading shared libraries: libSM.so.6: cannot open shared object file: No such file or directory

    Para corregirlo basta con instalar la biblioteca faltante con:

    sudo apt-get install libsm6:i386
  4. Intentar instalar de nuevo con:
    sudo./qt-opensource-linux-x86-5.4.1.run
  5. Instalar Creator también bajo el directorio /opt
    sudo ./qt-creator-opensource-linux-x86-3.3.1.run

 

Listo el Qt y el Creator para usarse  😀

 

Jul 152012
 

C++

Para la tarea de esta semana,  ordenar archivos secuenciales con el método de partición y  fusión de archivos en PR2,  es necesario crear n archivos cuyo nombre sea un  diferente. Una  forma es fijar un prefijo, por ejemplo “parte-“, una parte variable: un entero entre 00 y 99, y una extensión fija como “.dat” o “txt”.  Los nombres tendrán la forma parte-01.txt, parte-02.txt, …, parte-99.txt.

Leer el artículo completo »

Jun 182012
 

He visto algunas confusiones con la práctica 7b que tiene que ver con el principio de Herencia en el lenguaje de programación C++. Para no hacer vuestra tarea práctica hice un ejemplo sencillo parecido que les ayude a terminar la práctica, además  agregué el diagrama generado en Umbrello y  la documentación generada con Doxygen, ambos a partir del código fuente.  La clase es: CFigura,  el código fuente en C++ se encuentra en este enlace.


Diagrama de la clase CFigura generado con Doxygen
Leer el artículo completo »

Jun 092012
 

Este post es de mi antigua página web, fecha original Febrero/2011, creo que puede ser útil subirlo de nuevo

Hola,

Revisando en la red encontré un comentario, sino el mismo que encontró David Cadavid, donde se habla de los problemas con el seekg, el enlace es:

http://www.cplusplus.com/forum/beginner/23533/]http://www.cplusplus.com/forum/beginner/23533/

 

Leer el artículo completo »