Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROYECTO
E-LEARNING C++ Y C#
6.- “K”
Manual de C++
INDICE
1. Introducción
2. Librerías
3. Comentarios
4. Tipo de datos
6. Operadores
7.1 IF
7.1.1 Problemas IF
7.1.2 Anidación de IF
7.2 Switch
7.3 While
7.5 For
C++ es un lenguaje de programación orientado a objetos que toma la base del lenguaje C y le
agrega la capacidad de abstraer tipos como en Smalltalk.
C++ es un lenguaje de programación diseñado a mediados de los años 80 por Bjarne Stroustrup.
La intención de su creación fue el extender al exitoso lenguaje de programación C con
mecanismos que permitieran la manipulación de objetos. En ese sentido, desde el punto de vista
de los lenguajes orientados a objetos, C++ es un lenguaje híbrido. Posteriormente se añadieron
facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban
admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele
decir que C++ es un lenguaje de programación multiparadigma.
Las principales herramientas necesarias para escribir un programa en C++ son las siguientes:
Paciencia
Nociones sobre computación
Un compilador de C++
Un editor cualquiera de texto, o mejor un entorno de desarrollo (IDE)
Visual C++
Visual Studio
Notepad++
Dev C++
Code::Blocks
Eclipse
Entre otros
A lo largo de este curso podrás darte cuenta de lo sencillo que puede resultar la programación
en este lenguaje, pues veremos desde librerías a declarar, comentarios, tipo de datos,
declaración de variables y constantes, diversos operadores y las estructuras de control.
¡Por muy complicado que parezca la programación es bastante sencilla cuando en verdad se
desea aprender!
2. LIBRERÍAS
En C++, se conoce como librerías (o bibliotecas) a cierto tipo de archivos que podemos incluir
en nuestro programa. Estos archivos contienen las especificaciones de diferentes
funcionalidades ya construidas y utilizables que podremos agregar a nuestro programa, como
por ejemplo leer del teclado o mostrar algo por pantalla entre muchas otras más.
#include <iostream>
#include <string>
#include <math.h>
El preprocesador analiza el fichero fuente antes de la fase de compilación real, y realiza las
sustituciones de macros y procesa las directivas del preprocesador. El preprocesador también
elimina los comentarios.
Todos los objetos derivados de iostream hacen parte del espacio de nombres std.
Todas las librerías estándar de C++ contienen una declaración del espacio de nombre std, es
decir que todas las librerías que hacen parte del estándar de C++ colocan entidades dentro de
este espacio de nombre.
Por esta razón cuando declaramos el uso del espacio de nombre std por medio de "using
namespace std;", podemos evitar estar escribiendo std::cout o std::cin, etc. en nuestro código.
El espacio de nombre std como tal no es una librería sino simplemente un namespace, por esta
razón no reemplaza la declaración de las librerías del código, simplemente facilita la escritura
de éste al momento de usar las entidades de las librerías estándar
math:
Contiene los prototipos de las funciones y otras definiciones para el uso y manipulación de
funciones matemáticas.
sqrt (numero)
string:
Permite el manejo de "strings"• (cadenas de texto). Muy útil para el fácil uso de las cadenas
de caracteres. Las funciones que vamos a ocupar son:
string mensaje;
3. COMENTARIOS
Un comentario es texto que el compilador omite pero que es útil para los programadores. Los
comentarios se usan normalmente para anotar código para su referencia futura. El compilador
los trata como si fueran espacios en blanco. Puede usar comentarios en las pruebas para
desactivar algunas líneas de código; sin embargo, para esto es mejor utilizar directivas de
preprocesador #if/#endif porque se puede incluir entre ellas código que contiene comentarios,
pero no se pueden anidar comentarios.
Ejemplo:
Los caracteres // (dos barras diagonales), seguidos de cualquier secuencia de caracteres. Una
nueva línea que no va precedida inmediatamente de una barra diagonal inversa finaliza esta
forma de comentario. Por tanto, normalmente se denomina "comentario de una sola línea".
Ejemplo:
// Este programa realiza la suma de dos números y muestra un mensaje por pantalla
Línea de comentario
Los caracteres de comentario (/*, */ y //) no tienen ningún significado especial dentro de una
constante de caracteres, un literal de cadena o un comentario. Por tanto, los comentarios no se
pueden anidar.
Ejemplo de ambos casos:
4. TIPOS DE DATOS
Tipo de
Descripción Rango
Dato
Real doble(Número
-21474836489097
double en coma flotante de
a +21474836479097
doble precisión)
4.2 Tipos de Datos Carácter
CHAR
Ejemplo de sintaxis:
Ejemplo:
char nombre[5];
nombre[0] = 'J';
nombre[1] = 'U';
nombre[2] = 'A';
nombre[3] = 'N';
nombre[4] = 0;
STRING
Nos permite trabajar de forma más cómoda y flexible. Entre las facilidades que nos causa
ocupar este tipo de dato es la comparación entre strings (palabras). Una herramienta que
ocuparemos más adelante dentro del curso en estructuras de control. Para su uso correcto
tendremos que declarar antes la librería #include <string> y hacer uso del using namespace
std; como se muestra en el ejemplo:
#include <string>
VARIABLES
Las variables son posiciones en memoria donde estarán guardados los diferentes valores
que le damos o que toman durante ejecución los datos que usamos y normalmente estarán
disponibles a lo largo de la ejecución de nuestro programa. Para asignar valores a una
variable en una gran variedad de lenguajes que incluye a C++ se usa el operador "="
seguido del valor que le daremos a la variable. Veamos un ejemplo completo con todos los
posibles usos que le damos a una variable.
#include <iostream>
using namespace std;
int main()
{
char x = 'a'; // Declaramos y asignamos en la misma línea
int num; //Declaramos el entero en una línea
num = 5; //Le asignamos un valor en otra línea
int num2 = 8; //Asignación y declaración al tiempo
float numero; //Un numero decimal
numero = 3.5; //Le asignamos un valor al decimal
float res = numero + num2; //Sumamos dos variables y las asignamos a res //3.5 + 8
= 11.5
res = res + num; //Al valor actual de res le sumamos el valor de num //11.5 + 5 =
16.5
res = res*2; //Duplicamos el valor de res 16.5*2 = 33
cout << res; //Mostramos el valor de res por pantalla
}
CONSTANTES
Los datos constantes, tienen un valor fijo durante toda la ejecución del programa, es decir,
este valor no cambia ni puede ser cambiado a lo largo de la ejecución de nuestro
programa. Para declarar una constante, se hace después de declarar las librerías y antes de
las funciones. En C++ se pueden definir constantes usando la palabra clave const, veamos
ahora cada una de estas formas en detalle.
La instrucción const nos permite declarar constantes de una manera más adecuada y
acorde. Las constantes declaradas con const poseen un tipo de dato asociado (como
debería ser siempre) y se declaran al interior de nuestro código como un tipo cualquiera.
Veamos un ejemplo:
#include <iostream>
int main()
}
6. OPERADORES
identificador = expresión;
int r = 8, s = 3;
r++;
s--;
Dichas instrucciones son equivalentes a:
r = r + 1;
s = s - 1;
Los operadores aritméticos se usan para realizar cálculos y operaciones con números
reales y punteros. Básicamente permiten hacer cualquier operación aritmética que se
necesite. A continuación te los presentamos:
Operador Significado
Operador == Igual a
Distinto de ó no igual
Operador !=
que
Es importante tener en cuenta que para comparar si una variable A es igual a otra debemos
usar A == B en lugar de A = B. El doble signo igual se usa en comparaciones mientras que el
signo igual sencillo se usa en asignaciones.
Para determinar si una variable A tiene distinto contenido que una variable B debemos usar A
!= B. Suponiendo que la variable A tiene un valor A = 5 y la variable B un valor B = 7 podríamos
plantear las siguientes expresiones:
Expresión
A == B
A != B
A>B
A >= B
A<B
A <= B
6.4 OPERADORES LÓGICOS
Los operadores lógicos producen un resultado booleano, y sus operando son también
valores lógicos o asimilables a ellos (los valores numéricos son asimilados a cierto o falso
según su valor sea cero o distinto de cero). Por el contrario, las operaciones entre bits
producen valores arbitrarios. Los operadores lógicos son tres, dos de ellos son binarios y el
último (negación) es unario:
Verdadero si alguno es
|| OR Lógico A || B
verdadero
Devuelve un valor lógico true si ambos operando son ciertos. Si el resultado es false, el
proceso se detiene y este es el resultado, sin que en este caso sea necesario evaluar la
expresión.
7. Estructuras de Control
7.1 IF
Un condicional if-else es una estructura que nos posibilita definir las acciones que se
deben llevar a cabo si se cumple cierta condición y también determinar las acciones que se
deben ejecutar en caso de que no se cumpla.
El else, indica la acción o conjunto de acciones a llevar a cabo, en caso de que la condición
del if no se cumpla. Cabe resaltar que el else siempre se pone inmediatamente después del
if, en caso de ser necesario, el else es incapaz de funcionar por sí solo, siempre debe ir
acompañado por un if. Veamos entonces como es la sintaxis de este:
....
....
....
....
else
....
....
....
....
}
Vamos ahora a ver línea por línea el anterior código para comprender todo y quedar claros.
Posteriormente veremos un ejemplo con valores reales.
Línea 1:
En esta línea está prácticamente todo lo esencial del condicional, aquí le hemos dicho al
interior del argumento del condicional if, cual es la condición que se debe cumplir para
que se ejecute el primer bloque de instrucciones, esta línea es en efecto esencial ya que nos
da la pauta para que el algoritmo determine que bloque de instrucciones ejecutar.
Línea 2:
En la línea 2 tenemos una llave abriendo "{" lo cual como seguramente ya sabrás indica
que allí comienza el bloque de instrucciones que se ejecutarán si se cumple la condición
dada. Esta llave no es del todo obligatoria, sin embargo si no la ponemos solo se ejecutará
dentro de nuestro condicional la primera línea inmediatamente posterior a la declaración
del condicional, de modo que si deseamos que se ejecuten varias líneas dentro de nuestro
condicional, debemos usar las llaves
Línea 3 a 7:
En estas líneas es donde estarán todas las operaciones que queramos llevar a cabo en caso
de cumplirse la condición, este bloque podrá tener la cantidad de líneas necesarias incluso,
como veremos más adelante dentro de estas podría haber uno o más condicionales en su
interior, así que podrías tener todo un condicional dentro de un condicional dentro de otro
condicional... y así sucesivamente, éstos son llamados anidados y los veremos más
adelante.
Línea 8:
En esta última línea hacemos uso de la llave cerrando "}", una vez más como seguramente
ya sabrás esta nos indica que allí termina el bloque del condicional y se dará por terminada
la ejecución de este para continuar ejecutando el resto del programa, cabe notar que esta
línea dará paso a la ejecución del bloque de instrucciones del else, en caso de que la
condición dada no se haya cumplido.
Línea 9 a 16
Estas líneas contienen la estructura else, que es la que indica que existe un bloque de
instrucciones que se debe ejecutar en caso de que la condición dada no se cumpla. Este
bloque al igual que el del condicional if, se abre y se cierra con llaves, recuerda que estas
pueden ser opcionales, sin embargo siempre recomiendo usarlas como una buena práctica
de programación.
7.1.1 Problemas de IF
Problema 1: programa que al ingresar una edad, te diga si la persona es mayor o menor de
edad
Problema 2: que el usuario ingrese dos números y el programa me diga cuál es mayor.
Sintaxis:
if (condición1)
sentencia1
else if (condición2)
sentencia2
• else if(condición)
sentencia n
else sentencia e
if (condición 1)
if (condición 2)
estatuto;
Problema 1: programa que lee 3 números enteros diferentes y los despliega de mayor a
menor.
Problema 2: que pida 3 números y los muestre en pantalla de mayor a menor en líneas
distintas. En caso de haber números iguales se ponen en la misma línea.
Problema 3: que pida tres números y detecte si se han introducido en orden creciente.
Problema 4: que lea una hora en hora:minutos:segundos y diga la hora que es un segundo
después.
7.2 Switch
Los condicionales Switch, son una estructura de control condicional, que permite definir
múltiples casos que puede llegar a cumplir una variable cualquiera, y qué acción tomar en
cualquiera de estas situaciones, incluso es posible determinar qué acción llevar a cabo en
caso de no cumplir ninguna de las condiciones dadas.
break;
break;
break;
//Nótese que valor 1 2 y 3 son los valores que puede tomar la opción
Vamos ahora a ver línea por línea el anterior código para comprender todo y quedar claros.
Línea 1:
Aquí, tenemos la declaración del condicional switch, estamos diciendo que lo que viene a
continuación es esto, entre los paréntesis, el switch recibe la variable que vamos a usar
para comparar en cada uno de los casos.
Línea 2:
En la línea 2 tenemos una llave abriendo "{" lo cual como hemos visto en secciones
anteriores, indica que allí comienzan los bloques de instrucciones que se ejecutarán para
cada caso.
Línea 3:
En esta línea tenemos una parte vital del condicional switch, aquí tenemos definido un
caso posible que puede cumplir nuestra variable, la sintaxis es simple, usamos la
instrucción "case" para indicar que allí comienza un caso, luego indicamos el valor que
puede tomar la variable, puede ser un número, una cadena de caracteres o lo que
necesitemos, de esto se siguen dos puntos ":" y después de estos ponemos la o las
instrucciones a ejecutar para este caso, como ejemplo, podríamos tener algo como esto :
case "Hola": cout << "Usted ha escrito Hola";.
Línea 4:
Esta línea contiene la instrucción break, es una instrucción simple, pero fundamental al
interior del condicional Switch, esta instrucción indica que hasta allí va el bloque de
instrucciones del caso inmediatamente anterior a este, de este modo evitamos que el
algoritmo ejecute los demás casos, a modo de ejercicio, podrías intentar ejecutar el código
del ejemplo que veremos más adelante y quitar las instrucciones break, con esto podrás
comprobar que si el usuario ingresa por ejemplo un 1, se ejecutarán todos los casos, es por
esto que el break es fundamental.
Línea 5 a 8
Líneas 9, 10 y 12
Estas líneas como deberías saber ya, contienen diferentes comentarios aclarativos sobre el
código.
Línea 11
Esta línea cambia un poco con respecto a las anteriores, sin embargo conserva la misma
esencia, en vez de poner el comando "case", usamos el comando "default", y luego los 2
puntos ":", notemos que no se pone ningún valor a evaluar, pues esta es la acción que se
ejecuta en caso de que no lleguemos a entrar en ninguno de los casos.
Línea 13:
En esta línea hacemos uso de la llave cerrando "}", una vez más como seguramente ya
sabrás esta nos indica que allí termina el bloque del condicional y se dará por terminada la
ejecución de este para continuar ejecutando el resto del programa. (Aparte)
Efectivamente, los condicionales switch de hecho todos los condicionales en sí, son
extremadamente útiles pues permiten definirle a nuestro software múltiples vías de ejecución
contemplando así todas las posibilidades durante la ejecución. Me gustaría hacer una leve
aclaración, el condicional switch encuentra su utilidad al momento de tener más de una
posibilidad de valores para una variable cualquiera, evidentemente si nuestra variable solo
puede adquirir un valor útil para nosotros, nuestra alternativa inmediata debería ser un if o un if-
else, no un switch que resulta un poco más engorroso de escribir, sin embargo cuando
tenemos varias posibilidades es mejor un switch que tener condicionales anidados o un
condicional después de otro.
7.2.1 Problemas de Switch
Problema 1: Menú de opciones
Problema 3: Programa en donde al meter un número me indique que mes es, esto incluyendo
si estamos en año bisiesto que te diga que febrero tiene 28 o 29 días.
La posición de esta condición del ciclo es delante del cuerpo del ciclo, de modo que cuando se ejecuta
el mismo, se evalúa la condición antes de que se ejecute el cuerpo del ciclo. A diferencia del ciclo do
while que lo realiza al menos una vez
Estructura:
instrucciones
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main()
float a;
int con=0,b,c,d,e,f,g,h,i,r;
b=0;
c=0;
d=0;
e=0;
f=0;
g=0;
h=0;
i=0;
while (con<=1){
cout<<"dame tu edad:";
cin>>a;
b=b+1;
{cout<<"bebé \n";
c=c+1;}
else{
{cout<<"niño \n";
d=d+1;}
else {
{cout<<"adolescente \n";
e=e+1;}
else {
f=f+1;}
else {
{cout<<"adulto \n";
g=g+1;}
else
h=h+1;}
cin>>r;
if(r==1)
con=1;
else
con=2;
cout<<b;
cout<<d;
cout<<e;
cout<<f;
cout<<g;
cout<<h;
getch();
}
7.3.1 Problemas de While
Problema 1: programa que me diga en qué etapa de la vida se encuentra una persona. Si es bebé,
niño, adolescente, joven, adulto o adulto mayor.
Problema 2: realizar un programa que determina cuanto pagara de impuesto un auto de acuerdo a su
año y precio, el número de veces que la persona lo requiera, y al final me diga el número total de autos
encuestados y cuáles de ellos pagaran las cuotas de acuerdo a sus años de fabricación. Condiciones
de los años de los autos. 1990 “libre de tenencia”, si es de 1990 y menor o igual al año 2000 “5 % de
impuesto”, si es mayor al 2000 y menor o igual a 2005 “8 % de impuesto” y si es mayor al 2005 pagara
el “15% de impuesto. Y mostrar cuanto terminaran pagando las personas. Al finalizar mostrar cuantos
autos fueron tomados en cuenta y dentro de que rango entraron.
Problema 3: realizar un programa que obtenga el cuadrado de cada cifra que se ingrese, el programa
dejara de funcionar cuando pida una cifra mayor a 100.
La sintaxis de un ciclo do-while es un tanto más larga que la del ciclo while en C++, sin
embargo no se hace más complicado.
do
....
....
Bloque de Instrucciones....
....
....
Vamos entonces a ver línea por línea el anterior código para comprender todo y quedar
claros.
Línea 1:
Esta línea es por decirlo así, la parte novedosa del ciclo do-while, esta expresión no evalúa
ninguna condición ni nada, simplemente da paso directo al bloque de instrucción y luego
permite la evaluación de la condición.
Línea 2:
En la línea 2 tenemos una llave abriendo "{" lo cual como sabemos indica que allí
comienza un bloque de instrucciones que se ejecutaran cada vez que el ciclo de un "giro".
Esta llave no es del todo obligatoria, sin embargo si no la ponemos solo se ejecutará dentro
de nuestro ciclo la primera línea inmediatamente posterior a la instrucción do, de modo
que si deseamos que se ejecuten varias líneas dentro de nuestro ciclo, debemos usar las
llaves. En lo personal, es preferible poner siempre las llaves sin importar cuantas líneas se
vayan a ejecutar, es una buena práctica de programación y te puede evitar dolores de
cabeza
Línea 3 a 7:
En estas líneas es donde estarán todas las operaciones que queramos llevar a cabo de
manera iterativa durante la ejecución del ciclo, este bloque podrá tener la cantidad de
líneas necesarias incluso, como veremos más adelante dentro de estas podría haber uno o
más ciclos, así que podrías tener todo un programa dentro de un ciclo.
Línea 8:
En esta última línea hacemos uso de la llave cerrando "}", una vez más como seguramente
ya debemos saber esta nos indica que allí termina el bloque de instrucciones que se
ejecutarán de manera cíclica y se dará por terminada la ejecución de este para continuar
ejecutando el resto del algoritmo.
Línea 9:
Queremos hacer que nuestro programa le pida a un usuario una serie de números
cualquiera y que solo dejaremos de hacerlo cuando el usuario ingrese un número mayor a
100, una vez más es un ejemplo sencillo con el que nos aseguraremos de haber
comprendido bien todos los conceptos anteriores.
Para solucionar esto, debemos tener clara cuál va a ser la condición que se debe cumplir
para que el ciclo este pidiendo el numero contantemente, el ciclo se va a detener solo
cuando el numero ingresado sea mayor que 100, así que la condición para que se siga
ejecutando es que el número sea menor a 100, ¿Comprender la lógica?, es simple si para
que se detenga el numero debe ser mayor a 100, entonces para seguirse ejecutando el
numero debe ser menor o igual a 100.
La sintaxis de un ciclo for es simple en C++, con tan solo tener bien claros los 3
componentes del ciclo for (inicio, final y tamaño de paso) tenemos prácticamente todo
hecho
....
....
Bloque de Instrucciones....
....
....
Vamos ahora a ver línea por línea el anterior código para comprender todo y quedar claros.
Línea 1:
En esta línea está prácticamente todo lo esencial de un ciclo for. La sintaxis es simple,
tenemos una variable de control llamada i que es tipo entero (int), cabe notar que la
variable se puede llamar como nosotros lo deseemos y puede ser del tipo de queramos
también, sin embargo en la mayoría de los casos se usa la "i" como nombre y el entero
como tipo, pero somos libres de modificar esto a nuestro gusto. Esta variable "i" se le
asigna un valor inicial que puede ser cualquier número correspondiente al tipo de dato
asignado. Posteriormente lo que haremos será especificar hasta donde irá nuestro ciclo por
medio del valor final, ten en cuenta que cada uno de estos componentes es separado por un
punto y coma ";", también es importante saber que la condición final puede ser cualquier
cosa, mayor, menor, mayor o igual, menor o igual, sin embargo no tiene sentido que la
condición sea por ejemplo un igual, pues nuestra variable de control siempre va a cambiar
entre valores, menores o mayores que el valor final deseado, si fuera un igual no
tendríamos un error de sintaxis, pero nuestro for básicamente no haría nada de nada.
Finalmente el último componente de esta primera línea es el tamaño del paso, este
componente se especifica aumentando en la cantidad deseada la variable de control.
Línea 2:
En la línea 2 tenemos una llave abriendo "{" lo cual como seguramente ya sabrás indica
que allí comienza el bloque de instrucciones que se ejecutaran cada vez que el ciclo de un
"giro". Esta llave no es del todo obligatoria, sin embargo si no la ponemos solo se
ejecutara dentro de nuestro ciclo la primera línea inmediatamente posterior a la
declaración del ciclo, de modo que si deseamos que se ejecuten varias líneas dentro de
nuestro ciclo, debemos usar las llaves
Línea 3 a 7:
En estas líneas es donde estarán todas las operaciones que queramos llevar a cabo de
manera iterativa durante la ejecución del ciclo, este bloque podrá tener la cantidad de
líneas necesarias incluso, como veremos más adelante dentro de estas podría haber uno o
más ciclos, así que podrías tener todo un programa dentro de un ciclo.
Línea 8:
En esta última línea hacemos uso de la llave cerrando "}", una vez más como seguramente
ya sabrás esta nos indica que allí termina el bloque del ciclo for y se dará por terminada la
ejecución de este para continuar ejecutando el resto del algoritmo.
7.5.1 Problemas de For
Problema 1: Mostrar en pantalla los números pares
Deseamos sacar los números pares entre el número 50 y el 100, es un ejemplo sencillo con
el que nos aseguraremos de haber comprendido bien lo anterior:
Ahora veremos otro ejemplo sencillo en cual veremos que el ciclo for también puede iterar
disminuyendo el valor del contador, para comprender esto, lo que haremos será imprimir
por pantalla una cuenta regresiva desde el número diez hasta el cero.
Para este ejemplo haremos algo un poco más complejo. El ejemplo consiste en contar al
interior de un ciclo for, cuántos números entre el 0 y el 10.000 son múltiplos del 13. Para
ello haremos uso del operador % (modulo) que obtiene el residuo de una división y
también usaremos un pequeño condicional para verificar que el modulo sea cero al dividir
por 13.
Este ciclo for nos permitirá saber que existen 770 múltiplos del 13 en los números del 1 al
10000.
Estructura:
#include <stdio.h>
#include <conio.h>
#include <iostream>
main()
int a,b,c,x;
for(c=00;c<=23;c++){
for(b=00;b<=59;b++){
for(a=00;a<=59;a++){
cout<<c<<":"<<b<<":"<<a<<"\n";
for(x=0;x<=999999999;x++){
getch();
}
7.5.3 Problemas de anidación de For
Problema 2: Realizar un programa que simule los valores que tienen las 28 fichas de
dominó. Ejemplo 0-1, 0-2, 0-3…. Hasta el 6-6.
Problema 4: Realizar un programa que represente los 365 días de un año del año. Toma
en cuenta que un día tiene 24 horas.
Conclusión
o Sentencias para capturar la entrada de datos desde el teclado así como para mostrar
datos en la pantalla.
o Operadores aritméticos, relacionales y lógicos.
o Sentencias de asignación.
o Estructuras condicionales simples y anidadas.
o Estructuras cíclicas simples y anidadas.
Y con estos elementos esperamos que te sientas listo y capaz para desarrollar programas
bajo las reglas de escritura de C++, recuerda que si tienes alguna pregunta o sugerencia
nos puedes contactar mediante las siguientes formas:
https://cursobasicoc12.wixsite.com/cursoc/contacto
A nuestro correo:
CursobasicoC12@gmail.com
272 126 65 11
272 128 75 42