Está en la página 1de 10

VISUAL C++

Visual C++ (tambin conocido como Mvs}C, Microsoft Visual C++) es un entorno de desarrollo
integrado (IDE) para lenguajes de programacin C, C++ y C++/CLI.
Visual C++ engloba el desarrollo de aplicaciones hechas en C, C++ y C++/CLI en el
entorno Windows. Visual C++ incluye adems las bibliotecas de Windows (WinApi), las
bibliotecasMFC y el entorno de desarrollo para .NET Framework. Visual C++ cuenta con su
propio compilador (de igual nombre) y otras herramientas como IntelliSense, TeamFoundation
Server, Debug,... Adems provee de bibliotecas propias de cada versin del sistema operativo y
sockets. Como otros compiladores, se le pueden aadir nuevas bibliotecas
comoDirectX, wxWidgets o SDL.
Cuenta con una versin Express, llamada Microsoft Visual C++ Express Edition, la cual es
gratuita y se puede descargar desde el sitio de Microsoft.
El lenguaje de programacin utilizado por esta herramienta, de igual nombre, est basado
en C++ y es compatible en la mayor parte de su cdigo con este lenguaje, a la vez que su
sintaxis es exactamente igual. En algunas ocasiones esta incompatibilidad impide que
otros compiladores, sobre todo en otros sistemas operativos, funcionen bien con cdigo
desarrollado en este lenguaje.
Una de las nuevas implementaciones es que el llamado cdigo administrado (managed code)
hace uso de una de las mejores herramientas dentro de .NET, el recolector de basura (garbage
collector).
Cmo declarar una clase gestionada por el recolector de basura Visual Studio 2005:




en Visual Studio 2003:





ref class MiClase
{
// Cdigo
}
__gc class MiClase
{
// Cdigo
}
La palabra reservada ref ( __gc) le dice al compilador que esa clase ser manejada por
el recolector de basura, aunque, y a diferencia de otros lenguajes de .NET como C#, an puede
seguir llamando al destructorcon delete.
Ahora veamos un ejemplo del programa HolaMundo con Visual C++ en C++/CLI.











FUNCIN PRINCIPAL
La definicin de la funcin se hace despus de la funcin "main".
Cada programa de c tiene una funcin (principal) primaria que se debe llamar Principal. Si el
cdigo se ajuste al modelo de programacin de Unicode, puede utilizar la versin de caracteres
anchos dePrincipal, wmain. La funcin de Principal sirve como punto de partida para la
ejecucin del programa. Controla normalmente la ejecucin del programa resuelve las
llamadas a otras funciones en el programa. Un programa detiene normalmente ejecutndose
en el final de Principal, aunque puede finalizar de otros puntos del programa por varias
razones. A veces, quizs cuando se detecta un error, puede resultar conveniente forzar la
finalizacin de un programa. Para ello, utilice la funcin de Salir . Vea referencia de la
biblioteca en tiempo de ejecucin para obtener informacin sobre y un ejemplo mediante la
funcin de Salir .
Las funciones dentro del origen realizan una o ms tareas concretas. La funcin
de Principal puede llamar a estas funciones para realizar sus tareas
respectivas. Cuando Principal llama a otra funcin, pasa el control de la ejecucin de la
funcin, de modo que la ejecucin comience en la primera instruccin de la funcin. Una
funcin devuelve el control a Principal cuando se ejecuta una instruccin de return o al final de
la funcin se alcance.
Se puede declarar cualquier funcin, incluidos Principal, para tener parmetros. El trmino
parmetro o parmetro formal hace referencia al identificador que recibe un valor pasado
a una funcin. Vea parmetros para obtener informacin sobre cmo pasar argumentos a los
parmetros. Cuando una funcin llama a otra, la funcin llamada reciben los valores para los
parmetros de la funcin de llamada. Estos valores se denominan argumentos. Puede
using namespace System;
ref class MiClase
{
public : void HolaMundo()
{
Console::WriteLine("Hola, mundo");
}
};
int main()
{
MiClase^ objeto = gcnew MiClase();
objeto->HolaMundo();
return 0;
}
}
declarar parmetros formales a Principal para poder recibir argumentos de la lnea de
comandos con este formato:

La estructura de un programa en C o C++ quedara as:
- [directivas del pre-procesador: includes y defines]
- [declaracin de variables globales]
- [prototipos de funciones]
- funcin main
- [definiciones de funciones]
Una definicin de la funcin "Mayor" podra ser la siguiente:




SENTENCIAS BASICAS
Bucles "while"
while (<condicin>) <sentencia>
La sentencia es ejecutada repetidamente mientras la condicin sea verdadera, ("while"
en ingls significa "mientras"). Si no se especifica condicin se asume que es "true"
Por ejemplo:





Bucle "do while"
do <sentencia> while(<condicion>);
do
x = x + 1;
while (x < 100);
intMayor(int a, int b)
{
if(a > b) return a; else return b;
}

while (x < 100) x = x + 1;
Se incrementar el valor de x mientras x sea menor que 100.
Este ejemplo puede escribirse, usando de un modo ms compacto:
while (x++ < 100);
Se incrementar el valor de x hasta que x valga 100.
Bucle "for"
for ( [<inicializacin>]; [<condicin>] ; [<incremento>] ) <sentencia>
La sentencia es ejecutada repetidamente hasta que la evaluacin de la condicin resulte
falsa.
Ejemplos:






Etiquetas
Etiquetas de identificacin
<identificador>: <sentencia>
Puntos de entrada para la sentencia de salto "goto"
Etiquetas "case" y "default"
switch(<variable>)
{
<expresin constante>: [<sentencias>[...<sentencia>]][break;]
. . .
default: [<sentencias>[<sentencia>...]]
}
Seleccin
Las sentencias de seleccin permiten controlar el flujo del programa
Sentencia "if...else"
Implementa la ejecucin condicional de una sentencia. Sintaxis:
if (<condicin>) <sentencia1>
for(int i = 0; i < 100; i = i + 1);
Podemos simular bucles "while":
for(;i < 100;) i = i +1;
for(;i++ < 100;);
O bucles infinitos:
for(;;);
if (<condicin>) <sentencia1> else <sentencia2>
Se pueden declarar variables dentro de la condicin. Por ejemplo:






Sentencia "switch"
Cuando se usa la sentencia "switch" el control se transfiere al punto etiquetado con el
"case"
Sintaxis:
switch (<variable>)
{
case <expresin constante>: <sentencia>[... <sentencia>] [break;]
. . .
[default : <sentencia>]
}
Por ejemplo:









switch(letra)
{
case'a':
case'e':
case'i':
case'o':
case'u':
EsVocal = true;
break;
default:
EsVocal = false;
}

if(int val = func(arg))...
En este caso, la variable "val" slo estar accesible dentro del mbito de la sentencia "if" y, si
existe, del "else".
Si la condicin es "true" se ejecutar la sentencia1, si es "false" se ejecutar la sentencia2.
El "else" es opcional, y no pueden insertarse sentencias entre la sentencia1 y el "else".
Sentencias de salto
Este tipo de sentencia permite romper la ejecucin secuencial de un programa.
Sentencia de ruptura "break"
El uso de esta sentencia dentro de un bucle pasa el control a la primera sentencia despus de
la sentencia de bucle. Lo mismo se aplica a la sentencia "switch". Sintaxis:
break
Ejemplo:











Sentencia de "continue"
El uso de esta sentencia dentro de un bucle pasa el control al final de la sentencia de bucle,
justo al punto donde se evala la condicin para la permanencia en el bucle.
Sintaxis:
continue;
Ejemplo:





y = 0;
x = 0;
while(x < 1000)
{
if(y == 1000) break;
y++;
}
x = 1;
En este ejemplo el bucle no terminara nunca si no fuera por la lnea del "break", ya que x no
cambia. Despus del "break" el programa continuara en la lnea "x = 1".

y = 0;
x = 0;
while(x < 1000)







Sentencia de salto "goto"
Con el uso de esta sentencia el control se transfiere directamente al punto etiquetado con el
identificador especificado.
goto <identificador>;
Ejemplo:







Sentencia de retorno "return"
Esta sentencia sale de la funcin donde se encuentra y devuelve el control a la rutina que la
llam, opcionalmente con un valor de retorno. Sintaxis:
return [<expresin>] ;
Ejemplo:





{
x++;
if(y >= 100) continue;
y++;
}
En este ejemplo la lnea "y++" slo se ejecutara mientras "y" sea menor que 100, en
cualquier otro caso el control pasa a la lnea "}", con lo que el bucle volvera a evaluarse.

x = 0;
Bucle:
x++;
if(x < 1000) goto Bucle;
Este ejemplo emula el funcionamiento de un bucle "for" como el siguiente:
for(x = 0; x < 1000; x++);
int Paridad(int x)
{
if(x % 2) return 1;
return 0;
}



ESTRUCTURACION DE UN PROGRAMA

VISUAL STUDIO EXPRESS


HACEMOS CORRER EL PROGRAMA