SlideShare una empresa de Scribd logo
1 de 56
TUTORIAL DE C++
El lenguaje C++
• C++ (Se lee "Ce Plus Plus"), es uno de los lenguajes de programación más utilizados,
Creado a mediados de los años 80, Está basado en el lenguaje C, del cual es una
version ampliada. A partir de ahí va incorporanco nuevos datos, de forma que otros
lenguajes de programación posteriores están claramente inspirados en éste.
Actualmente se usa el estándar C++11, een el que se unifican las distintas versiones
que puede haber de este lenguaje.
• Con C++ el programador indica qué es lo que el ordenador tiene que hacer. Después,
mediante un mecanismo llamado "compilación", las órdenes que estaban en lenguaje
C++ se traducen a código máquina para que el ordenador pueda ejecutarlas.
Que se puede hacer con C++
• Una vez que se domina la programación con C++, se puede hacer casi cualquier tipo
de aplicación que funcione en cualquier dispositivo. De hecho muchos de los
programas que utilizamos habitualmente están hechos en gran parte en lenguaje C++;
incluso gran parte de los sistemas operativos Windows y Linux están escritos en C++.
• Nosotros empezaremos por hacer programas sencillos, que se ejecutan en la consola
de windows, y que al principio pueden parecer inútiles, ya que no hacen nada
práctico, mas que demostrar lo que decimos. Sin embargo poco a poco iremos
adquiriendo un grado de dificultad que nos permita abordar toda una serie de
situaciones más complejas, más acordes con lo que es un programa informático.
• Observando las opiniones que he visto por Internet, si vas a usar
Visual C++ CLR que opta por la plataforma .net, mejor te centras en
Visual C#.
• MFC, Win32 y ATL a parte de ser más complicado, se suele usar
para tener mejor rendimiento, kernel, driver y un largo etc, requiere
más tiempo haciendo códigos.
• Si optas por hacer una interfaz sencilla para controlar dispositivos
externos en el puerto serie como microcontroladores PIC, placas de
Arduino, Raspberry Pi o cualquier otro con el protocolo RS232,
mejor usar Visual C++ CLR, C# o Visual Basic .net por su facilidad y
comodidad
Dependiendo de sus necesidades.
• El uso de CLR le proveerá a usted con la más expresiva conjunto de bibliotecas
(el todo .NET Framework), en el costo de la restricción de su archivo ejecutable
para exigir el .NET Framework para ser instalado en tiempo de ejecución, así
como la limitación a la plataforma de Windows (sin embargo, todos los 4 de los
enumerados tecnologías son solo para Windows, por lo que la limitación de la
plataforma es, probablemente, el menos problemático). Hablando de CLR, MFC,
Win32 y ATL.
• Sin embargo, CLR requiere el uso de C++/CLI extensiones para el lenguaje C++,
así que, en esencia, la necesidad de aprender algo más de las características de
lenguaje con el fin de utilizar este. Al hacerlo, obtendrá muchos "extras" tales
como el acceso a la .red de bibliotecas, lleno de recolección de basura, etc.
• ATL Y MFC son un poco más complicado de decidir. Le indico a
la página de MSDN para elegir, para decidir entre ellos. Sobre
ATL y MFC es que usted no necesita .NET Framework, sólo el
VC/MFC tiempos de ejecución para ser instalado para su
implementación.
• El uso de Win32 directamente proporciona a los más pequeños
ejecutables, con el menor número de dependencias, pero es
más trabajo para escribir código y tiempo.
herramientas comunes
Puedes descargar Visual Studio Community 2015 con un ejecutable a travéz de
Internet o descargarte una ISO para grabarlo en un DVD.
Antes de instalar, seleccionamos las Herramientas comunes para Visual C++ 2015
como indica en la imagen.
Presentación
• Desde Visual Studio 2012 han complicado un poco las cosas para
crear un Windows Form con Visual C++ CLR, cada versión
cambian detalles que en el fondo está bien por dentro, lo que es
más difícil acceder a él.
• Se presenta un tutorial pequeño paso a paso para saber como
crear un Windows Form.
Interfaz de Dev-C++
• Al ejecutar Dev-C++ por primera vez, uno puede escoger, entre otras
opciones, el idioma de instalación, ciertas opciones de compleción
automática de funciones y métodos disponibles en las librerías
estándar de C y C++, y el aspecto externo del interfaz de Dev-C++.
Una vez configuradas estas opciones, al ejecutar Dev-C++ por primera
vez, se encuentra un entorno de trabajo similar al siguiente:
lenguajes orientados a objetos
En los 80 llegan los lenguajes preparados para la programación orientada a objetos
todos procedentes de Simula (1964) considerado el primer lenguaje con facilidades de
uso de objetos. De estos destacó inmediatamente C++
. A partir de C++ aparecieron numerosos lenguajes que convirtieron los lenguajes clásicos en
lenguajes orientados a objetos (y además con mejoras en el entorno de programación, son los
llamados lenguajes inusuales Visual Basic Delphi (versión orientada a objetos de Pascal), Visual
C++,...
En 1995 aparece Java como lenguaje totalmente orientado a objetos y en el año 200 aparece C#
un lenguaje que procede de C++ y del propio Java.
Menú del sistema:
• Es el menú que aparece cuando hacemos
clic derecho sobre la barra de título.
Cuadro de diálogo Acerca de
• Es un dialogo que muestra información de la aplicación,
conocida también como "About... ", a diferencia de las
aplicaciones SDI/MDI no tenemos un menú, es por eso que
el asistente agrega un segmento de código que permite
visualizar este diálogo.
• Desde este entorno está permitido abrir, modificar y guardar tanto proyectos como
archivos desarrollados en C y C++.
(OpciónVer -> Explorador de Proyectos y
Clases)
• En el explorador de proyectos y clases (Opción Ver -> Explorador de Proyectos y
Clases) que aparece en la columna izquierda, aparece tanto la estructura del
proyecto como de las clases y sus métodos definidos en nuestros ficheros. En ella
aparecerán tanto el proyecto principal como los ficheros del mismo que se
encuentran abiertos en un momento determinado. Una de las mayores
restricciones de Dev-C++ es que sólo permite tener un proyecto abierto en cada
IDE. Si queremos trabajar con varios proyectos al mismo tiempo, tendremos que
abrir tantas veces el IDE como proyectos queramos gestionar. El espacio central
del entorno de trabajo está reservado para mostrar los ficheros en C o C++ con
los que nos encontramos trabajando. La parte inferior de la interfaz gráfica.
(OpciónVer -> Explorador de Proyectos
Suelto )(no anclado)
• (Opción Ver -> Explorador de Proyectos Suelto (no
anclado)) es la que utiliza el programa para devolver los
resultados de la compilación y depuración de los
proyectos. Ahora trataremos de ilustrar la utilización del
interfaz por medio de la creación de un nuevo proyecto
LIBRERIAS
• Luego debemos elegir como vamos a utilizar la librería MFC:
• Si usamos MFC como un archivo compartido nuestra
aplicación (.exe) ocupará poco espacio será portable hacia
cualquier sistema operativo Windows que tenga
instaladoVisual C++ Runtime.
• En cambio si usamos MFC como una biblioteca estática nuestra aplicación
contiene todo lo necesario para ejecutarse, puede llegar a ocupar muchos
megas y puede portarse a otros sistemas Windows que incluso no tengan
instaladoVisual C++ Runtime.
• No usar Bibliotecas Unicode, a menos que sean completamente
necesarias
Herramientas comunes
• Puedes descargar Visual Studio Community 2015 con un
ejecutable a travéz de Internet o descargarte una ISO para
grabarlo en un DVD.
• Antes de instalar, seleccionamos las Herramientas comunes
para Visual C++ 2015 como indica en la imagen.
Creación de un nuevo proyecto
• Una vez situados dentro de la aplicación, la forma de crear
un proyecto es:
Archivo -> Nuevo -> Proyecto
Tras realizar dicha operación se obtiene el siguiente cuadro
de diálogo, en el cual deberemos elegir qué tipo de proyecto
queremos crear, y si el mismo es de C o de C++:
En la pestaña Basic nos encontramos con 5 opciones (generalmente, el lenguaje de
programación elegido por nosotros durante el curso, salvo que sea explícitamente
indicado, será En C++, aunque también se puede elegir En C):
• Windows Application: para crear aplicaciones para Windows (por defecto se crea
un archivo de nombre main.cpp que contiene algunas órdenes básicas que
deberían ir incluidas en un programa que se vaya a ejecutar en un entorno
Windows)
• Console Application: para crear aplicaciones que abren una consola de MS- DOS
al terminar su ejecución (por defecto se crea un archivo main.cpp que contiene
algunas órdenes básicas que permiten mostrar una consola de MS- DOS)
• Static Library: creación de una librería estática (archivo .a)
• DLL: para crear DLL’s (Dynamic Link Library, "Biblioteca de vínculos dinámicos", es un
archivo que contiene funciones que se pueden llamar desde aplicaciones u otras DLL) en
C o C++.
• Empty Project: para proyectos que el usuario va a definir completamente. (Esta será la
opción que utilizaremos nosotros más comúnmente) En el campo Nombre del Proyecto
podemos elegir la denominación que le daremos a nuestro proyecto. En caso contrario,
Dev-C++ le asignará un nombre automáticamente.
Nuevo proyecto
• Hay algunas opciones adicionales en las pestañas de la ventana que
no trataremos ahora. Con todas estas decisiones se crea un nuevo
proyecto que inicialmente estará formado por las herramientas que
considera Dev-C++ básicas para crear el tipo de proyecto que nosotros
hemos elegido. Por ejemplo, en el caso de que nosotros creemos un
proyecto llamado
Hola Mundo
del tipo : Console Application
En C++ (que se correspondería con el siguiente
cuadro de diálogo: ) el proyecto que generará
automáticamente Dev-C++ tendrá el siguiente
aspecto:
Vemos que se ha creado, en
primer lugar, un proyecto
llamado Hola Mundo, y que
por defecto, Dev-C++ le ha
añadido un archivo main.cpp
con la información más
básica para crear una
aplicación que trabaje a
través de la ventana de
comandos de MS-DOS.
Modificación de proyectos
• Una vez que hemos definido un proyecto, el entorno de Dev-C++ posee
multitud de herramientas que permiten modificar el mismo. Las más
importantes son las que nos permiten añadir nuevos archivos o archivos ya
existentes a nuestro proyecto, así como quitar archivos al mismo, o modificar
las propiedades del proyecto (por ejemplo, el nombre). Estas opciones
pueden ser modificadas con el puntero del ratón situado encima del icono
del proyecto en la ventana del Explorador de Proyectos/Clases:
o también directamente desde la
pestaña Proyecto de la ventana del
Dev- C++, con la opción Nuevo
Código Fuente:
Los diversos comandos que aparecen en la
pestaña nos permiten:
• Nuevo Código Fuente: Añadir un archivo nuevo (en blanco) a nuestro proyecto.
Añadir a Proyecto: Añadir un archivo ya existente de C, C++, o de cabeceras (un
.h) a nuestro proyecto.
• Quitar del Proyecto: Permite eliminar un archivo de nuestro proyecto (pero no
borra ese archivo).
• Opciones del Proyecto: aquí se pueden modificar múltiples opciones, como el
nombre del proyecto, su tipo, añadir nuevos directorios al mismo, instrucciones
al compilador, y hasta modificar el icono del mismo.
Grabar un proyecto
Para grabar un proyecto en Dev-C++ la opción que hemos de
utilizar es
Archivo -> Guardar Proyecto como ...
que nos permite grabar un proyecto, incluso cambiándole el
nombre. Al mismo tiempo, Dev-C++ nos ofrecerá la opción de
grabar todos aquellos archivos pertenecientes al mismo que
hayan sido modificados.
Grabar los archivos de un proyecto
• Del mismo modo, se pueden grabar los distintos archivos
que forman parte de un proyecto por medio de la opción:
Archivo -> Guardar
mientras alguno de los archivos está seleccionado (y ha
sido previamente modificado). Por ejemplo, la siguiente
imagen muestra como podríamos guardar el archivo
main.cpp de nuestro proyecto tras introducir algún cambio
en el mismo:
El comando
Archivo -> Guardar Como ...
• permite modificar el nombre del archivo a la vez que lo salva.
Finalmente, el comando Archivo -> Guardar Todo salva todos los
archivos que hayan sido modificados durante nuestra sesión de trabajo.
Compilación y ejecución de proyectos
• Una vez que hemos generado un proyecto y hemos sido capaces de salvar el
mismo, el próximo paso será intentar compilarlo y ejecutarlo. El sistema de
compilación que utiliza Dev-C++ (por defecto) es MinGW 1 , que consiste en un
conjunto de herramientas incluyendo los compiladores gcc y g++, así como un
sistema de cabeceras y librerías que permiten crear aplicaciones para Windows
que no requieren de DLL’s externas.
Al crear un proyecto, o modificando sus propiedades, se
puede definir si un proyecto va a ser desarrollado en C o
en C++, y de esa forma Dev-C++ decide si debe aplicar el
compilador presente en MinGW para C (gcc) o el de C++
(g++), así como las órdenes de “linkado” del mismo; por
lo tanto, a la hora de ejecutar, nosotros como usuarios
todo lo que debemos hacer es activar la opción
Ejecutar -> Compilar
• o directamente dirigirnos al icono de acceso rápido en la barra de
herramientas Compilar y Ejecutar.
• En Dev-C++ el proceso de compilación y “linkado” se tratan como si fueran
sólo uno, y el programador no puede intervenir durante el mismo.
• Si el resultado de la compilación y el “linkado” es satisfactorio, Dev-C++
generará un archivo ejecutable con el nombre del proyecto activo (en este
caso, Hola Mundo.exe).
• En caso contrario, la pestaña Resultado de la compilación se desplegará
mostrando los fallos que se han encontrado en el proceso de compilación y
“linkado”.
• Si el proyecto ha sido compilado satisfactoriamente, Dev-
C++ habrá generado varios ficheros auxiliares en la misma
carpeta que se encuentran el proyecto y sus archivos. Por
ejemplo, por cada archivo fuente de código C o C++, la
compilación genera un archivo con el mismo nombre y
extensión “.o”, un fichero objeto, que luego son linkados
(junto con las librería necesarias) para crear el ejecutable.
Por ejemplo, en nuestro caso, del archivo main.cpp se
generará un archivo objeto de nombre main.o.
El ejecutable generado (Hola Mundo.exe) puede ser utilizado
independientemente de los archivos del proyecto. Su
ejecución se puede hacer a través de la pestaña
Ejecutar -> Ejecutar
Otras herramientas
• Dev-C++ ofrece otras muchas opciones al usuario en los distintos
menús, del estilo de las que se pueden encontrar en cualquier IDE,
como el menú “Edición”, que cuenta con las opciones habituales de
“Cortar”, “Copiar”, “Seleccionar todo”, ...
• El menú “Buscar” permite hacer búsquedas dentro de los ficheros
de nuestros proyectos. En el menú “Ver” se nos permite modificar
las barras de herramientas visibles en el entorno de trabajo. En
“Herramientas” podemos modificar algunas de las opciones
referentes al compilador (aunque generalmente dejaremos las que
tiene por defecto) o a la interfaz con el usuario.
ventajas
• Ocupan poco espacio de memoria.
• Se pueden transportar en cualquier dispositivo.
• Son de fácil manejo para el usuario.
• ventajas de C++
• Es un lenguaje que permite programar de forma
estructurada, modular y orientado a objetos. Por lo que
permite laasimilación de todas estas técnicas.
• Es un lenguaje que permite el manejo de todo tipo de estructuras de datos (arrays, pilas,
colas, textos, objetos,...) por lo que es capaza de resolver todo
• Es un lenguaje compilado, lo que le hace muy rápido (quizá el más rápido, descontando
el ensamblador)
• Permite crear todo tipo de aplicaciones(aunque no está pensado para crear aplicaciones
para ejecutar desde Internet)
• Gracias a su capacidad de uso de objetos y clases, facilita la reutilización del código
• Permite incorporar las librerías más utilizadas para hacer aplicaciones
• Es el lenguaje que sirve de base para los lenguajes modernos como Java, C#, Perl,...
desventajas
• Si el programa fuente tiene errores, el ejecutable tendrá
problema de funcionamiento.
• Es detectado por el antivirus, creyendo que es un virus o
malware.
Para iniciar una aplicación de escritorio
deWindows
• Al igual que todas las aplicaciones C y C++ deben tener una función main coo
punto de partida,todas las aplicaciones basadas en win32 debern tener la
función winmain.winmain
• Debido a que el código de aplicación debe utilizar las definiciones existentes,
agregue instrucciones de inclusión al archivo.
• Además de la función WinMain, todas las aplicaciones de escritorio de Windows
deben tener una función de procedimiento de ventana. Esta función
normalmente se denomina WndProc.WndProc tiene la siguiente sintaxis.
• Esta función controla los abundantes mensajes que una aplicación recibe del
sistema operativo. Por ejemplo, en una aplicación que tiene un cuadro de
diálogo con un botón Aceptar, cuando el usuario hace clic en el botón, el
sistema operativo envía a la aplicación un mensaje que informa de que se hizo
clic en el botón.WndProc es responsable de responder a ese evento. En el
ejemplo, la respuesta adecuada podría ser cerrar el cuadro de diálogo.
Para agregar funcionalidad a la función
WinMain
• En la función WinMain, cree una estructura de clase de ventana de tipo WNDCLASSEX.
Esta estructura contiene información sobre la ventana, por ejemplo, el icono de la
aplicación, el color de fondo de la ventana, el nombre que aparece en la barra de título,
el nombre de la función de procedimiento de ventana, etc. El ejemplo siguiente muestra
una estructura típica de WNDCLASSEX.
• Ahora que ya ha creado una clase de ventana, debe registrarla. Use la
función RegisterClassEx y pase la estructura de clase de ventana como argumento.
• Ahora puede crear una ventana. Use la función CreateWindow.
• Ahora, utilice el código siguiente para mostrar la ventana.
• Ahora agregue un bucle de mensajes para escuchar los mensajes que
envía el sistema operativo. Cuando la aplicación recibe un mensaje, este
bucle lo envía a la función WndProc que se va a controlar.
Para agregar funcionalidad a la
funciónWndProc
• Para habilitar la función WndProc a fin de controlar los mensajes que recibe la
aplicación, implemente una instrucción switch.
• El primer mensaje que se va a controlar es el mensaje WM_PAINT. La aplicación
recibe este mensaje cuando debe actualizarse la parte de su ventana mostrada.
(Cuando se muestra por primera vez la ventana, toda ella se debe actualizar).
• Para controlar un mensaje WM_PAINT, primero llame a BeginPaint, controle
toda la lógica para mostrar el texto, los botones y otros controles de la
ventana y luego llame a EndPaint. Para esta aplicación, la lógica entre la
llamada inicial y la llamada final consiste en mostrar la cadena "Hello, World!"
en la ventana.
• En el siguiente código, observe que la función TextOut se usa para mostrar la
cadena.
• Una aplicación normalmente controla muchos otros mensajes, por
ejemplo, WM_CREATE y WM_DESTROY. El código siguiente muestra una
función WndProc básica pero completa.
Crear la colección de formularios
personalizada
• El primer paso para crear una clase de colección
personalizada en Visual C++ .NET o en Visual C++ 2005 es
agregar una clase al proyecto. Para evitar que se agreguen a
la colección objetos que no sean objetos de formulario ,
asegúrese de que esta clase hereda de la
clase CollectionBase y, a continuación, sombrea el
método Add . Para ello, siga estos pasos:
• Inicie Microsoft Visual Studio .NET 2003 o Microsoft Visual
Studio 2005.
• En el menú archivo , elija
De nuevoy, a continuación, haga clic en proyecto.
• Haga clic en proyectos de Visual C++ en
Tipos de proyectoy, a continuación, en plantillas, haga clic
en Aplicación de Windows Forms (. NET) .
Nota: En Visual C++ 2005, los Proyectos de Visual C++ se cambia
a Visual C++.
• En el cuadro de texto nombre , escriba
Q815706.
• En el cuadro de texto ubicación , escriba
C:Testy, a continuación, haga clic en Aceptar.
• En el menú proyecto , haga clic en Agregar clase.
• En el cuadro de diálogo Agregar clase , haga clic en
Clase genérica de C++ en plantillasy, a continuación, haga
clic en Abrir
Nota: En Visual C++ 2005, Clase genérica de C++ se cambia
a la Clase de C++
• En el Asistente para clases genéricas de C++, escriba
FormsCollection en el cuadro nombre de clase ,
escriba CollectionBase en el cuadro clase Basey, a continuación,
haga clic en Finalizar.
• Abra el archivo FormsCollection.cpp y, a continuación, elimine el
código para el constructor y el código para el destructor.
Abra el archivo FormsCollection.h y, a continuación, reemplace el
código existente con el código siguiente.
#pragma once
using namespace System::Collections;
using namespace System::Windows::Forms;
public __gcclass FormsCollection : public CollectionBase
{
public:
Form* Add(Form *FormObject)
{
List->Add((FormObject));
return(FormObject) ;
Estructura de un programa c++
• Los símbolos
• { y }
• indican el inicio y el final de la función. Esos símbolos permiten
delimitar bloques en el código.
• El nombre de la función puede ser invocado desde otras sentencias
simplemente poniendo como sentencia el nombre de la función. Como
a veces las funciones se almacenan en archivos externos, necesitamos
incluir esos archivos en nuestro código mediante una sentencia
especial include, que en realidad es una directiva de compilación.
• Una directiva de compilación es una instrucción para el compilador con el que
trabajamos. El uso es: #include <cabeceraDeArchivoExterno>
• La directiva include permite indicar un archivo de cabecera en el que estará incluida la
función que utilizamos. En el lenguaje C estándar, los archivos de cabecera tenían
extensión h, en C++ estándar (ANSI) no se indica la extensión de éstos; aunque se suele
incluir la extensión por compatibilidad.
• Los archivos de cabecera son los que permiten utilizar funciones externas (o librerías) en
nuestro programa. Hay que tener en cuenta que las cabeceras son distintas en C y C++,
pero que se pueden utilizar los archivos de cabecera clásicos del C en C++.
• Una de las librerías más utilizadas en los programas, es la que permite leer y escribir en la
consola del Sistema Operativo. En el caso de C++ esta librería está disponible en la
cabecera iostream (en C se utiliza la cabecera stdio.h).
Elementos de un programa c++
sentencias
Los programas en C++ se basan en sentencias las cuales siempre se
incluyen dentro de
una función. En el caso de crear un programa ejecutable, esas
sentencias están dentro
de la función main A está función le precede la palabra void o la palabra
int(en realidad es más correcta ésta última como se verá más adelante).
Ahora bien al escribir sentencias hay que tener en cuenta las siguientes
normas:
Toda sentencia en C++ termina con el símbolo "punto y coma" (
Los bloques de sentencia empiezan y terminan delimitados con el
símbolo de
llave ({ y }). Así {significa inicio y }significa fin
En C++ hay distinción entre mayúsculas y minúsculas. No es lo mismo
Main que MAIN
Todas las palabras claves de C++ están en minúsculas. Los nombres
que pongamos nosotros también conviene ponerles en minúsculas ya
que el código es mucho más legible así (aunque esto último no es
obligatorio,deberíamos tomárnoslo como tal, debido a su importancia)
Comentarios
• Se trata de texto que es ignorado por el compilador al traducir el código. Esas líneas
se utilizan para documentar el programa.
• Esta labor de documentación es fundamental ya que sino en cuanto pasa un tiempo
el código no se comprende bien (ni siquiera por el autor del mismo). Todavía es más
importante cuando el código va a ser tratado por otras personas; de otro modo una
persona que modifique el código de otra lo tendría muy complicado.
palabras reservadas
• Se llaman así a palabras que en C++ tienen un significado concreto
para los compiladores. No se pueden por tanto usar esas palabras
para poner nombre a variables, constantes, funciones o clases de
• finidas por el programador. La lista de palabras reservadas proceden
tanto del C, como del C++
identificadores
• Son los nombres que damos a las variables y a las funciones de C
Lógicamente no pueden coincidir con las palabras reservadas. Además
puesto que C distingue entre las mayúsculas y las minúsculas, hay que
tener cuidado de usar siempre las minúsculas y mayúsculas de la misma
forma.El límite de tamaño de un identificador es de 32 caracteres (aunque
algunos compiladores permiten más tamaño).

Más contenido relacionado

La actualidad más candente

Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .netlilymejia1979
 
Tecnologia Microsoft
Tecnologia  MicrosoftTecnologia  Microsoft
Tecnologia Microsoftbrobelo
 
Cursocpp
CursocppCursocpp
Cursocppzotek
 
/Media/tom nissim/cursocpp
/Media/tom nissim/cursocpp/Media/tom nissim/cursocpp
/Media/tom nissim/cursocppTom Zambrano
 
Zanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionZanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionjuanpi1991
 
Historia de c++
Historia de c++Historia de c++
Historia de c++edwin562
 
Introduccion a la plataforma .NET
Introduccion a la plataforma .NETIntroduccion a la plataforma .NET
Introduccion a la plataforma .NETjnarchie
 
Historia de c++
Historia de c++Historia de c++
Historia de c++edwin562
 
Proyecto de informatica ii visual basic 2008
Proyecto de informatica ii visual basic 2008Proyecto de informatica ii visual basic 2008
Proyecto de informatica ii visual basic 2008Julio Ayala Rolón
 

La actualidad más candente (15)

Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .net
 
Tecnologia Microsoft
Tecnologia  MicrosoftTecnologia  Microsoft
Tecnologia Microsoft
 
Cursocpp
CursocppCursocpp
Cursocpp
 
/Media/tom nissim/cursocpp
/Media/tom nissim/cursocpp/Media/tom nissim/cursocpp
/Media/tom nissim/cursocpp
 
Dev c++
Dev c++Dev c++
Dev c++
 
Zanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionZanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacion
 
Historia de c++
Historia de c++Historia de c++
Historia de c++
 
Introduccion a la plataforma .NET
Introduccion a la plataforma .NETIntroduccion a la plataforma .NET
Introduccion a la plataforma .NET
 
Curso c++
Curso c++Curso c++
Curso c++
 
Historia de c++
Historia de c++Historia de c++
Historia de c++
 
Introduccion net
Introduccion netIntroduccion net
Introduccion net
 
Visual studio c_
Visual studio c_Visual studio c_
Visual studio c_
 
el verdadero tp
el verdadero tpel verdadero tp
el verdadero tp
 
Plataforma.net
Plataforma.netPlataforma.net
Plataforma.net
 
Proyecto de informatica ii visual basic 2008
Proyecto de informatica ii visual basic 2008Proyecto de informatica ii visual basic 2008
Proyecto de informatica ii visual basic 2008
 

Similar a Tutorial de-c

Tutorial de-codeblocks (1)
Tutorial de-codeblocks (1)Tutorial de-codeblocks (1)
Tutorial de-codeblocks (1)MartinCetis109
 
Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1karlalopezbello
 
Resolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplusResolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplusGladys Arce
 
Resolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplusResolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplusAbefo
 
Microsoft Visual Studio Universidad OYM Seccion 0435
Microsoft Visual Studio Universidad OYM Seccion 0435Microsoft Visual Studio Universidad OYM Seccion 0435
Microsoft Visual Studio Universidad OYM Seccion 0435Scarlett Rodriiguez
 
Introducción al curso de C.docx
Introducción al curso de C.docxIntroducción al curso de C.docx
Introducción al curso de C.docxNidia Castro Campo
 
Formulario windows con visual c++
Formulario windows con visual c++Formulario windows con visual c++
Formulario windows con visual c++Ángel Acaymo M. G.
 
Historia de c++
Historia de c++Historia de c++
Historia de c++david-27
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Oliver Benitez
 
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Flor Santana Mota
 

Similar a Tutorial de-c (20)

Tutorial de-c ++
Tutorial de-c ++Tutorial de-c ++
Tutorial de-c ++
 
Tutorial de-c ++
Tutorial de-c ++Tutorial de-c ++
Tutorial de-c ++
 
Manual del dev c++
Manual del dev c++Manual del dev c++
Manual del dev c++
 
Tutorial de-codeblocks (1)
Tutorial de-codeblocks (1)Tutorial de-codeblocks (1)
Tutorial de-codeblocks (1)
 
Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1
 
Resolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplusResolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplus
 
Resolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplusResolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplus
 
01 - Introducción al lenguaje C
01 - Introducción al lenguaje C01 - Introducción al lenguaje C
01 - Introducción al lenguaje C
 
Microsoft Visual Studio Universidad OYM Seccion 0435
Microsoft Visual Studio Universidad OYM Seccion 0435Microsoft Visual Studio Universidad OYM Seccion 0435
Microsoft Visual Studio Universidad OYM Seccion 0435
 
Manual de-c-dev
Manual de-c-devManual de-c-dev
Manual de-c-dev
 
Manual C++ 3ra parte
Manual C++ 3ra parteManual C++ 3ra parte
Manual C++ 3ra parte
 
Cursocpp
CursocppCursocpp
Cursocpp
 
Tutorial de CodeBlocks
Tutorial de CodeBlocksTutorial de CodeBlocks
Tutorial de CodeBlocks
 
Historia de c++
Historia de c++Historia de c++
Historia de c++
 
Introducción al curso de C.docx
Introducción al curso de C.docxIntroducción al curso de C.docx
Introducción al curso de C.docx
 
Formulario windows con visual c++
Formulario windows con visual c++Formulario windows con visual c++
Formulario windows con visual c++
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Historia de c++
Historia de c++Historia de c++
Historia de c++
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010
 
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
 

Más de laura cortez

If then o if then else
If then o if then elseIf then o if then else
If then o if then elselaura cortez
 
Conferencia de los software libres
Conferencia de los software libresConferencia de los software libres
Conferencia de los software libreslaura cortez
 
Codeblocks ejercicios básicos
Codeblocks ejercicios básicos Codeblocks ejercicios básicos
Codeblocks ejercicios básicos laura cortez
 
Cuestionario 2° unidad
Cuestionario 2° unidadCuestionario 2° unidad
Cuestionario 2° unidadlaura cortez
 
DIAGRAMAS EN DFD Y RAPTOR
DIAGRAMAS EN DFD Y RAPTOR DIAGRAMAS EN DFD Y RAPTOR
DIAGRAMAS EN DFD Y RAPTOR laura cortez
 
UNA MIRADA A MI FUTURO
UNA MIRADA A MI FUTURO UNA MIRADA A MI FUTURO
UNA MIRADA A MI FUTURO laura cortez
 
DIAGRAMAS A COLOR
DIAGRAMAS A COLOR DIAGRAMAS A COLOR
DIAGRAMAS A COLOR laura cortez
 
Presentacion de la_estructura_de_c_
Presentacion de la_estructura_de_c_Presentacion de la_estructura_de_c_
Presentacion de la_estructura_de_c_laura cortez
 
Tablas de verdad_c_
Tablas de verdad_c_Tablas de verdad_c_
Tablas de verdad_c_laura cortez
 
Tipo de datos_para_c_
Tipo de datos_para_c_Tipo de datos_para_c_
Tipo de datos_para_c_laura cortez
 
Tutorial de-codeblocks
Tutorial de-codeblocksTutorial de-codeblocks
Tutorial de-codeblockslaura cortez
 

Más de laura cortez (18)

Instriccion while
Instriccion whileInstriccion while
Instriccion while
 
If then o if then else
If then o if then elseIf then o if then else
If then o if then else
 
Conferencia de los software libres
Conferencia de los software libresConferencia de los software libres
Conferencia de los software libres
 
Codeblocks ejercicios básicos
Codeblocks ejercicios básicos Codeblocks ejercicios básicos
Codeblocks ejercicios básicos
 
Cuestionario 2° unidad
Cuestionario 2° unidadCuestionario 2° unidad
Cuestionario 2° unidad
 
Pisa
PisaPisa
Pisa
 
EXAMEN 2° UNIDAD
EXAMEN 2° UNIDADEXAMEN 2° UNIDAD
EXAMEN 2° UNIDAD
 
DIAGRAMAS EN DFD Y RAPTOR
DIAGRAMAS EN DFD Y RAPTOR DIAGRAMAS EN DFD Y RAPTOR
DIAGRAMAS EN DFD Y RAPTOR
 
UNA MIRADA A MI FUTURO
UNA MIRADA A MI FUTURO UNA MIRADA A MI FUTURO
UNA MIRADA A MI FUTURO
 
CONSTRUYE T
CONSTRUYE TCONSTRUYE T
CONSTRUYE T
 
DIAGRAMAS A COLOR
DIAGRAMAS A COLOR DIAGRAMAS A COLOR
DIAGRAMAS A COLOR
 
Tutorial de-c
Tutorial de-cTutorial de-c
Tutorial de-c
 
Jerarquias(2)
Jerarquias(2)Jerarquias(2)
Jerarquias(2)
 
Presentacion c
Presentacion c Presentacion c
Presentacion c
 
Presentacion de la_estructura_de_c_
Presentacion de la_estructura_de_c_Presentacion de la_estructura_de_c_
Presentacion de la_estructura_de_c_
 
Tablas de verdad_c_
Tablas de verdad_c_Tablas de verdad_c_
Tablas de verdad_c_
 
Tipo de datos_para_c_
Tipo de datos_para_c_Tipo de datos_para_c_
Tipo de datos_para_c_
 
Tutorial de-codeblocks
Tutorial de-codeblocksTutorial de-codeblocks
Tutorial de-codeblocks
 

Último

Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfYanitza28
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8antoniopalmieriluna
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfaxelv9257
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...axelv9257
 
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendidaLuis Francisco Reyes Aceves
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
QUINTA SEXTA GENERACION de COMPUTADORAS
QUINTA  SEXTA GENERACION de COMPUTADORASQUINTA  SEXTA GENERACION de COMPUTADORAS
QUINTA SEXTA GENERACION de COMPUTADORASMarc Liust
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptxdulcemonterroza
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfYanitza28
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxgustavovasquezv56
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionEmanuelMuoz11
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 

Último (18)

Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdf
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
QUINTA SEXTA GENERACION de COMPUTADORAS
QUINTA  SEXTA GENERACION de COMPUTADORASQUINTA  SEXTA GENERACION de COMPUTADORAS
QUINTA SEXTA GENERACION de COMPUTADORAS
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdf
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacion
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Tutorial de-c

  • 2. El lenguaje C++ • C++ (Se lee "Ce Plus Plus"), es uno de los lenguajes de programación más utilizados, Creado a mediados de los años 80, Está basado en el lenguaje C, del cual es una version ampliada. A partir de ahí va incorporanco nuevos datos, de forma que otros lenguajes de programación posteriores están claramente inspirados en éste. Actualmente se usa el estándar C++11, een el que se unifican las distintas versiones que puede haber de este lenguaje. • Con C++ el programador indica qué es lo que el ordenador tiene que hacer. Después, mediante un mecanismo llamado "compilación", las órdenes que estaban en lenguaje C++ se traducen a código máquina para que el ordenador pueda ejecutarlas.
  • 3. Que se puede hacer con C++ • Una vez que se domina la programación con C++, se puede hacer casi cualquier tipo de aplicación que funcione en cualquier dispositivo. De hecho muchos de los programas que utilizamos habitualmente están hechos en gran parte en lenguaje C++; incluso gran parte de los sistemas operativos Windows y Linux están escritos en C++. • Nosotros empezaremos por hacer programas sencillos, que se ejecutan en la consola de windows, y que al principio pueden parecer inútiles, ya que no hacen nada práctico, mas que demostrar lo que decimos. Sin embargo poco a poco iremos adquiriendo un grado de dificultad que nos permita abordar toda una serie de situaciones más complejas, más acordes con lo que es un programa informático.
  • 4. • Observando las opiniones que he visto por Internet, si vas a usar Visual C++ CLR que opta por la plataforma .net, mejor te centras en Visual C#. • MFC, Win32 y ATL a parte de ser más complicado, se suele usar para tener mejor rendimiento, kernel, driver y un largo etc, requiere más tiempo haciendo códigos. • Si optas por hacer una interfaz sencilla para controlar dispositivos externos en el puerto serie como microcontroladores PIC, placas de Arduino, Raspberry Pi o cualquier otro con el protocolo RS232, mejor usar Visual C++ CLR, C# o Visual Basic .net por su facilidad y comodidad
  • 5. Dependiendo de sus necesidades. • El uso de CLR le proveerá a usted con la más expresiva conjunto de bibliotecas (el todo .NET Framework), en el costo de la restricción de su archivo ejecutable para exigir el .NET Framework para ser instalado en tiempo de ejecución, así como la limitación a la plataforma de Windows (sin embargo, todos los 4 de los enumerados tecnologías son solo para Windows, por lo que la limitación de la plataforma es, probablemente, el menos problemático). Hablando de CLR, MFC, Win32 y ATL. • Sin embargo, CLR requiere el uso de C++/CLI extensiones para el lenguaje C++, así que, en esencia, la necesidad de aprender algo más de las características de lenguaje con el fin de utilizar este. Al hacerlo, obtendrá muchos "extras" tales como el acceso a la .red de bibliotecas, lleno de recolección de basura, etc.
  • 6. • ATL Y MFC son un poco más complicado de decidir. Le indico a la página de MSDN para elegir, para decidir entre ellos. Sobre ATL y MFC es que usted no necesita .NET Framework, sólo el VC/MFC tiempos de ejecución para ser instalado para su implementación. • El uso de Win32 directamente proporciona a los más pequeños ejecutables, con el menor número de dependencias, pero es más trabajo para escribir código y tiempo.
  • 7. herramientas comunes Puedes descargar Visual Studio Community 2015 con un ejecutable a travéz de Internet o descargarte una ISO para grabarlo en un DVD. Antes de instalar, seleccionamos las Herramientas comunes para Visual C++ 2015 como indica en la imagen.
  • 8. Presentación • Desde Visual Studio 2012 han complicado un poco las cosas para crear un Windows Form con Visual C++ CLR, cada versión cambian detalles que en el fondo está bien por dentro, lo que es más difícil acceder a él. • Se presenta un tutorial pequeño paso a paso para saber como crear un Windows Form.
  • 9. Interfaz de Dev-C++ • Al ejecutar Dev-C++ por primera vez, uno puede escoger, entre otras opciones, el idioma de instalación, ciertas opciones de compleción automática de funciones y métodos disponibles en las librerías estándar de C y C++, y el aspecto externo del interfaz de Dev-C++. Una vez configuradas estas opciones, al ejecutar Dev-C++ por primera vez, se encuentra un entorno de trabajo similar al siguiente:
  • 10. lenguajes orientados a objetos En los 80 llegan los lenguajes preparados para la programación orientada a objetos todos procedentes de Simula (1964) considerado el primer lenguaje con facilidades de uso de objetos. De estos destacó inmediatamente C++ . A partir de C++ aparecieron numerosos lenguajes que convirtieron los lenguajes clásicos en lenguajes orientados a objetos (y además con mejoras en el entorno de programación, son los llamados lenguajes inusuales Visual Basic Delphi (versión orientada a objetos de Pascal), Visual C++,... En 1995 aparece Java como lenguaje totalmente orientado a objetos y en el año 200 aparece C# un lenguaje que procede de C++ y del propio Java.
  • 11. Menú del sistema: • Es el menú que aparece cuando hacemos clic derecho sobre la barra de título.
  • 12. Cuadro de diálogo Acerca de • Es un dialogo que muestra información de la aplicación, conocida también como "About... ", a diferencia de las aplicaciones SDI/MDI no tenemos un menú, es por eso que el asistente agrega un segmento de código que permite visualizar este diálogo.
  • 13. • Desde este entorno está permitido abrir, modificar y guardar tanto proyectos como archivos desarrollados en C y C++.
  • 14. (OpciónVer -> Explorador de Proyectos y Clases) • En el explorador de proyectos y clases (Opción Ver -> Explorador de Proyectos y Clases) que aparece en la columna izquierda, aparece tanto la estructura del proyecto como de las clases y sus métodos definidos en nuestros ficheros. En ella aparecerán tanto el proyecto principal como los ficheros del mismo que se encuentran abiertos en un momento determinado. Una de las mayores restricciones de Dev-C++ es que sólo permite tener un proyecto abierto en cada IDE. Si queremos trabajar con varios proyectos al mismo tiempo, tendremos que abrir tantas veces el IDE como proyectos queramos gestionar. El espacio central del entorno de trabajo está reservado para mostrar los ficheros en C o C++ con los que nos encontramos trabajando. La parte inferior de la interfaz gráfica.
  • 15. (OpciónVer -> Explorador de Proyectos Suelto )(no anclado) • (Opción Ver -> Explorador de Proyectos Suelto (no anclado)) es la que utiliza el programa para devolver los resultados de la compilación y depuración de los proyectos. Ahora trataremos de ilustrar la utilización del interfaz por medio de la creación de un nuevo proyecto
  • 16. LIBRERIAS • Luego debemos elegir como vamos a utilizar la librería MFC: • Si usamos MFC como un archivo compartido nuestra aplicación (.exe) ocupará poco espacio será portable hacia cualquier sistema operativo Windows que tenga instaladoVisual C++ Runtime.
  • 17. • En cambio si usamos MFC como una biblioteca estática nuestra aplicación contiene todo lo necesario para ejecutarse, puede llegar a ocupar muchos megas y puede portarse a otros sistemas Windows que incluso no tengan instaladoVisual C++ Runtime. • No usar Bibliotecas Unicode, a menos que sean completamente necesarias
  • 18. Herramientas comunes • Puedes descargar Visual Studio Community 2015 con un ejecutable a travéz de Internet o descargarte una ISO para grabarlo en un DVD. • Antes de instalar, seleccionamos las Herramientas comunes para Visual C++ 2015 como indica en la imagen.
  • 19. Creación de un nuevo proyecto • Una vez situados dentro de la aplicación, la forma de crear un proyecto es: Archivo -> Nuevo -> Proyecto Tras realizar dicha operación se obtiene el siguiente cuadro de diálogo, en el cual deberemos elegir qué tipo de proyecto queremos crear, y si el mismo es de C o de C++:
  • 20. En la pestaña Basic nos encontramos con 5 opciones (generalmente, el lenguaje de programación elegido por nosotros durante el curso, salvo que sea explícitamente indicado, será En C++, aunque también se puede elegir En C): • Windows Application: para crear aplicaciones para Windows (por defecto se crea un archivo de nombre main.cpp que contiene algunas órdenes básicas que deberían ir incluidas en un programa que se vaya a ejecutar en un entorno Windows) • Console Application: para crear aplicaciones que abren una consola de MS- DOS al terminar su ejecución (por defecto se crea un archivo main.cpp que contiene algunas órdenes básicas que permiten mostrar una consola de MS- DOS)
  • 21. • Static Library: creación de una librería estática (archivo .a) • DLL: para crear DLL’s (Dynamic Link Library, "Biblioteca de vínculos dinámicos", es un archivo que contiene funciones que se pueden llamar desde aplicaciones u otras DLL) en C o C++. • Empty Project: para proyectos que el usuario va a definir completamente. (Esta será la opción que utilizaremos nosotros más comúnmente) En el campo Nombre del Proyecto podemos elegir la denominación que le daremos a nuestro proyecto. En caso contrario, Dev-C++ le asignará un nombre automáticamente.
  • 22. Nuevo proyecto • Hay algunas opciones adicionales en las pestañas de la ventana que no trataremos ahora. Con todas estas decisiones se crea un nuevo proyecto que inicialmente estará formado por las herramientas que considera Dev-C++ básicas para crear el tipo de proyecto que nosotros hemos elegido. Por ejemplo, en el caso de que nosotros creemos un proyecto llamado Hola Mundo del tipo : Console Application
  • 23. En C++ (que se correspondería con el siguiente cuadro de diálogo: ) el proyecto que generará automáticamente Dev-C++ tendrá el siguiente aspecto:
  • 24. Vemos que se ha creado, en primer lugar, un proyecto llamado Hola Mundo, y que por defecto, Dev-C++ le ha añadido un archivo main.cpp con la información más básica para crear una aplicación que trabaje a través de la ventana de comandos de MS-DOS.
  • 25. Modificación de proyectos • Una vez que hemos definido un proyecto, el entorno de Dev-C++ posee multitud de herramientas que permiten modificar el mismo. Las más importantes son las que nos permiten añadir nuevos archivos o archivos ya existentes a nuestro proyecto, así como quitar archivos al mismo, o modificar las propiedades del proyecto (por ejemplo, el nombre). Estas opciones pueden ser modificadas con el puntero del ratón situado encima del icono del proyecto en la ventana del Explorador de Proyectos/Clases:
  • 26. o también directamente desde la pestaña Proyecto de la ventana del Dev- C++, con la opción Nuevo Código Fuente:
  • 27. Los diversos comandos que aparecen en la pestaña nos permiten: • Nuevo Código Fuente: Añadir un archivo nuevo (en blanco) a nuestro proyecto. Añadir a Proyecto: Añadir un archivo ya existente de C, C++, o de cabeceras (un .h) a nuestro proyecto. • Quitar del Proyecto: Permite eliminar un archivo de nuestro proyecto (pero no borra ese archivo). • Opciones del Proyecto: aquí se pueden modificar múltiples opciones, como el nombre del proyecto, su tipo, añadir nuevos directorios al mismo, instrucciones al compilador, y hasta modificar el icono del mismo.
  • 28. Grabar un proyecto Para grabar un proyecto en Dev-C++ la opción que hemos de utilizar es Archivo -> Guardar Proyecto como ... que nos permite grabar un proyecto, incluso cambiándole el nombre. Al mismo tiempo, Dev-C++ nos ofrecerá la opción de grabar todos aquellos archivos pertenecientes al mismo que hayan sido modificados.
  • 29. Grabar los archivos de un proyecto • Del mismo modo, se pueden grabar los distintos archivos que forman parte de un proyecto por medio de la opción: Archivo -> Guardar mientras alguno de los archivos está seleccionado (y ha sido previamente modificado). Por ejemplo, la siguiente imagen muestra como podríamos guardar el archivo main.cpp de nuestro proyecto tras introducir algún cambio en el mismo:
  • 30. El comando Archivo -> Guardar Como ... • permite modificar el nombre del archivo a la vez que lo salva. Finalmente, el comando Archivo -> Guardar Todo salva todos los archivos que hayan sido modificados durante nuestra sesión de trabajo.
  • 31. Compilación y ejecución de proyectos • Una vez que hemos generado un proyecto y hemos sido capaces de salvar el mismo, el próximo paso será intentar compilarlo y ejecutarlo. El sistema de compilación que utiliza Dev-C++ (por defecto) es MinGW 1 , que consiste en un conjunto de herramientas incluyendo los compiladores gcc y g++, así como un sistema de cabeceras y librerías que permiten crear aplicaciones para Windows que no requieren de DLL’s externas.
  • 32. Al crear un proyecto, o modificando sus propiedades, se puede definir si un proyecto va a ser desarrollado en C o en C++, y de esa forma Dev-C++ decide si debe aplicar el compilador presente en MinGW para C (gcc) o el de C++ (g++), así como las órdenes de “linkado” del mismo; por lo tanto, a la hora de ejecutar, nosotros como usuarios todo lo que debemos hacer es activar la opción Ejecutar -> Compilar
  • 33. • o directamente dirigirnos al icono de acceso rápido en la barra de herramientas Compilar y Ejecutar. • En Dev-C++ el proceso de compilación y “linkado” se tratan como si fueran sólo uno, y el programador no puede intervenir durante el mismo. • Si el resultado de la compilación y el “linkado” es satisfactorio, Dev-C++ generará un archivo ejecutable con el nombre del proyecto activo (en este caso, Hola Mundo.exe). • En caso contrario, la pestaña Resultado de la compilación se desplegará mostrando los fallos que se han encontrado en el proceso de compilación y “linkado”.
  • 34. • Si el proyecto ha sido compilado satisfactoriamente, Dev- C++ habrá generado varios ficheros auxiliares en la misma carpeta que se encuentran el proyecto y sus archivos. Por ejemplo, por cada archivo fuente de código C o C++, la compilación genera un archivo con el mismo nombre y extensión “.o”, un fichero objeto, que luego son linkados (junto con las librería necesarias) para crear el ejecutable. Por ejemplo, en nuestro caso, del archivo main.cpp se generará un archivo objeto de nombre main.o. El ejecutable generado (Hola Mundo.exe) puede ser utilizado independientemente de los archivos del proyecto. Su ejecución se puede hacer a través de la pestaña Ejecutar -> Ejecutar
  • 35. Otras herramientas • Dev-C++ ofrece otras muchas opciones al usuario en los distintos menús, del estilo de las que se pueden encontrar en cualquier IDE, como el menú “Edición”, que cuenta con las opciones habituales de “Cortar”, “Copiar”, “Seleccionar todo”, ...
  • 36. • El menú “Buscar” permite hacer búsquedas dentro de los ficheros de nuestros proyectos. En el menú “Ver” se nos permite modificar las barras de herramientas visibles en el entorno de trabajo. En “Herramientas” podemos modificar algunas de las opciones referentes al compilador (aunque generalmente dejaremos las que tiene por defecto) o a la interfaz con el usuario.
  • 37. ventajas • Ocupan poco espacio de memoria. • Se pueden transportar en cualquier dispositivo. • Son de fácil manejo para el usuario. • ventajas de C++ • Es un lenguaje que permite programar de forma estructurada, modular y orientado a objetos. Por lo que permite laasimilación de todas estas técnicas.
  • 38. • Es un lenguaje que permite el manejo de todo tipo de estructuras de datos (arrays, pilas, colas, textos, objetos,...) por lo que es capaza de resolver todo • Es un lenguaje compilado, lo que le hace muy rápido (quizá el más rápido, descontando el ensamblador) • Permite crear todo tipo de aplicaciones(aunque no está pensado para crear aplicaciones para ejecutar desde Internet) • Gracias a su capacidad de uso de objetos y clases, facilita la reutilización del código • Permite incorporar las librerías más utilizadas para hacer aplicaciones • Es el lenguaje que sirve de base para los lenguajes modernos como Java, C#, Perl,...
  • 39. desventajas • Si el programa fuente tiene errores, el ejecutable tendrá problema de funcionamiento. • Es detectado por el antivirus, creyendo que es un virus o malware.
  • 40. Para iniciar una aplicación de escritorio deWindows • Al igual que todas las aplicaciones C y C++ deben tener una función main coo punto de partida,todas las aplicaciones basadas en win32 debern tener la función winmain.winmain • Debido a que el código de aplicación debe utilizar las definiciones existentes, agregue instrucciones de inclusión al archivo.
  • 41. • Además de la función WinMain, todas las aplicaciones de escritorio de Windows deben tener una función de procedimiento de ventana. Esta función normalmente se denomina WndProc.WndProc tiene la siguiente sintaxis. • Esta función controla los abundantes mensajes que una aplicación recibe del sistema operativo. Por ejemplo, en una aplicación que tiene un cuadro de diálogo con un botón Aceptar, cuando el usuario hace clic en el botón, el sistema operativo envía a la aplicación un mensaje que informa de que se hizo clic en el botón.WndProc es responsable de responder a ese evento. En el ejemplo, la respuesta adecuada podría ser cerrar el cuadro de diálogo.
  • 42. Para agregar funcionalidad a la función WinMain • En la función WinMain, cree una estructura de clase de ventana de tipo WNDCLASSEX. Esta estructura contiene información sobre la ventana, por ejemplo, el icono de la aplicación, el color de fondo de la ventana, el nombre que aparece en la barra de título, el nombre de la función de procedimiento de ventana, etc. El ejemplo siguiente muestra una estructura típica de WNDCLASSEX. • Ahora que ya ha creado una clase de ventana, debe registrarla. Use la función RegisterClassEx y pase la estructura de clase de ventana como argumento.
  • 43. • Ahora puede crear una ventana. Use la función CreateWindow. • Ahora, utilice el código siguiente para mostrar la ventana. • Ahora agregue un bucle de mensajes para escuchar los mensajes que envía el sistema operativo. Cuando la aplicación recibe un mensaje, este bucle lo envía a la función WndProc que se va a controlar.
  • 44. Para agregar funcionalidad a la funciónWndProc • Para habilitar la función WndProc a fin de controlar los mensajes que recibe la aplicación, implemente una instrucción switch. • El primer mensaje que se va a controlar es el mensaje WM_PAINT. La aplicación recibe este mensaje cuando debe actualizarse la parte de su ventana mostrada. (Cuando se muestra por primera vez la ventana, toda ella se debe actualizar).
  • 45. • Para controlar un mensaje WM_PAINT, primero llame a BeginPaint, controle toda la lógica para mostrar el texto, los botones y otros controles de la ventana y luego llame a EndPaint. Para esta aplicación, la lógica entre la llamada inicial y la llamada final consiste en mostrar la cadena "Hello, World!" en la ventana. • En el siguiente código, observe que la función TextOut se usa para mostrar la cadena. • Una aplicación normalmente controla muchos otros mensajes, por ejemplo, WM_CREATE y WM_DESTROY. El código siguiente muestra una función WndProc básica pero completa.
  • 46. Crear la colección de formularios personalizada • El primer paso para crear una clase de colección personalizada en Visual C++ .NET o en Visual C++ 2005 es agregar una clase al proyecto. Para evitar que se agreguen a la colección objetos que no sean objetos de formulario , asegúrese de que esta clase hereda de la clase CollectionBase y, a continuación, sombrea el método Add . Para ello, siga estos pasos:
  • 47. • Inicie Microsoft Visual Studio .NET 2003 o Microsoft Visual Studio 2005. • En el menú archivo , elija De nuevoy, a continuación, haga clic en proyecto. • Haga clic en proyectos de Visual C++ en Tipos de proyectoy, a continuación, en plantillas, haga clic en Aplicación de Windows Forms (. NET) . Nota: En Visual C++ 2005, los Proyectos de Visual C++ se cambia a Visual C++.
  • 48. • En el cuadro de texto nombre , escriba Q815706. • En el cuadro de texto ubicación , escriba C:Testy, a continuación, haga clic en Aceptar. • En el menú proyecto , haga clic en Agregar clase. • En el cuadro de diálogo Agregar clase , haga clic en Clase genérica de C++ en plantillasy, a continuación, haga clic en Abrir Nota: En Visual C++ 2005, Clase genérica de C++ se cambia a la Clase de C++
  • 49. • En el Asistente para clases genéricas de C++, escriba FormsCollection en el cuadro nombre de clase , escriba CollectionBase en el cuadro clase Basey, a continuación, haga clic en Finalizar. • Abra el archivo FormsCollection.cpp y, a continuación, elimine el código para el constructor y el código para el destructor.
  • 50. Abra el archivo FormsCollection.h y, a continuación, reemplace el código existente con el código siguiente. #pragma once using namespace System::Collections; using namespace System::Windows::Forms; public __gcclass FormsCollection : public CollectionBase { public: Form* Add(Form *FormObject) { List->Add((FormObject)); return(FormObject) ;
  • 51. Estructura de un programa c++ • Los símbolos • { y } • indican el inicio y el final de la función. Esos símbolos permiten delimitar bloques en el código. • El nombre de la función puede ser invocado desde otras sentencias simplemente poniendo como sentencia el nombre de la función. Como a veces las funciones se almacenan en archivos externos, necesitamos incluir esos archivos en nuestro código mediante una sentencia especial include, que en realidad es una directiva de compilación.
  • 52. • Una directiva de compilación es una instrucción para el compilador con el que trabajamos. El uso es: #include <cabeceraDeArchivoExterno> • La directiva include permite indicar un archivo de cabecera en el que estará incluida la función que utilizamos. En el lenguaje C estándar, los archivos de cabecera tenían extensión h, en C++ estándar (ANSI) no se indica la extensión de éstos; aunque se suele incluir la extensión por compatibilidad. • Los archivos de cabecera son los que permiten utilizar funciones externas (o librerías) en nuestro programa. Hay que tener en cuenta que las cabeceras son distintas en C y C++, pero que se pueden utilizar los archivos de cabecera clásicos del C en C++. • Una de las librerías más utilizadas en los programas, es la que permite leer y escribir en la consola del Sistema Operativo. En el caso de C++ esta librería está disponible en la cabecera iostream (en C se utiliza la cabecera stdio.h).
  • 53. Elementos de un programa c++ sentencias Los programas en C++ se basan en sentencias las cuales siempre se incluyen dentro de una función. En el caso de crear un programa ejecutable, esas sentencias están dentro de la función main A está función le precede la palabra void o la palabra int(en realidad es más correcta ésta última como se verá más adelante). Ahora bien al escribir sentencias hay que tener en cuenta las siguientes normas: Toda sentencia en C++ termina con el símbolo "punto y coma" ( Los bloques de sentencia empiezan y terminan delimitados con el símbolo de llave ({ y }). Así {significa inicio y }significa fin En C++ hay distinción entre mayúsculas y minúsculas. No es lo mismo Main que MAIN Todas las palabras claves de C++ están en minúsculas. Los nombres que pongamos nosotros también conviene ponerles en minúsculas ya que el código es mucho más legible así (aunque esto último no es obligatorio,deberíamos tomárnoslo como tal, debido a su importancia)
  • 54. Comentarios • Se trata de texto que es ignorado por el compilador al traducir el código. Esas líneas se utilizan para documentar el programa. • Esta labor de documentación es fundamental ya que sino en cuanto pasa un tiempo el código no se comprende bien (ni siquiera por el autor del mismo). Todavía es más importante cuando el código va a ser tratado por otras personas; de otro modo una persona que modifique el código de otra lo tendría muy complicado.
  • 55. palabras reservadas • Se llaman así a palabras que en C++ tienen un significado concreto para los compiladores. No se pueden por tanto usar esas palabras para poner nombre a variables, constantes, funciones o clases de • finidas por el programador. La lista de palabras reservadas proceden tanto del C, como del C++
  • 56. identificadores • Son los nombres que damos a las variables y a las funciones de C Lógicamente no pueden coincidir con las palabras reservadas. Además puesto que C distingue entre las mayúsculas y las minúsculas, hay que tener cuidado de usar siempre las minúsculas y mayúsculas de la misma forma.El límite de tamaño de un identificador es de 32 caracteres (aunque algunos compiladores permiten más tamaño).