Introducción a C++

1

Todo lo que aprenderás sobre C++

2

¿Qué es programar y por qué aprender C++?

Conceptos Generales de C++

3

La Historia de C++ y sus diferencias con C

Preparando el entorno de trabajo

4

Instalando Codeblocks

5

Pasos para instalar en mac

6

Ejecutando nuestro primer programa

7

¿Qué son las librerías STD? - Portada del Proyecto

Manejo de memoria

8

¿Qué es la memoria y tipos de datos?

9

Alojando variables en memoria

10

¿Cómo usar operadores?

11

¿Qué son los apuntadores?

12

Reto: Escribir un programa que calcule áreas.

Entrada de datos y funciones

13

¿Cómo introducir datos a nuestro programa?

14

¿Cómo usar condicionales?

15

Usando condicionales

16

¿Cómo encapsular código en funciones ?

17

¿Qué son los parámetros y como usarlos?

18

Reto: Juego narrativo implementando condicionales y entrada de datos.

Loops y arreglos

19

¿Qué son los arreglos?

20

¿Qué son los Loops?

21

Programando Loops

22

Loops , arreglos y arreglos bidimensionales

23

Dibujando el mapa de nuestro juego con arreglos

24

Manipulando mi jugador con inputs en arreglos unidimensionales

25

Arreglos bidimensionales

26

Reto: Moviendo a mi personaje en mi arreglo bidimensional

Lectura de Archivos

27

Creando y leyendo un archivo externo

28

Leyendo archivos externos

29

Reto: En el mapa, crear punto de inicio y salida del jugador

Programación Orientada a Objetos

30

¿Qué es POO?

31

Definiendo una clase y creando sus instancias

32

Encapsulación

33

Abstracción

34

Herencia

35

Propiedades de clase en herencia

36

Polimorfismo

Finalizando nuestro proyecto

37

Creación de personaje y archivo de encabezado

38

Moviendo mi personaje con entrada de datos

39

Mapa

40

Interacción entre el personaje y el mapa

41

Paredes

42

Optimizando trazado de mapa

43

Colisiones

44

Creando nuestra portada de juego

45

Tesoro y victoria

46

Conclusiones

47

Proyecto final

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

¿Qué son los arreglos?

19/47
Recursos

Los arreglos son una estructura de datos usada generalmente para almacenar datos en memoria de manera continua.

Funcionan de la siguiente manera: Debemos definir el tipo de datos que vamos a almacenar en nuestro arreglo y el nombre de nuestra variable seguida de dos corchetes con el número de elementos que vamos a guardar.

Por ejemplo:

char Corbatas[5];

Después debemos asignar el valor de cada posición de nuestro arreglo de la siguiente manera:

Corbatas[0] = ""Verde"";
Corbatas[1] = ""Roja"";
Corbatas[2] = ""Negra"";
...

También podemos definir los valores de nuestros arreglos en el momento en que los creamos. Solo debemos añadir llaves ({}) y los datos de cada posición de nuestro arreglo separados por comas.

Por ejemplo:

string Names[4] = { ""Eri Dorado"", ""Mariandrea Cruz"", ""JuanDC"", ""Demian"" };

Aportes 30

Preguntas 2

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

😮 Todos los tipos de datos en programación, incluyendo los arrays, tienen la capacidad de contar sus elementos.

Por ejemplo:

  • El texto "fulano" tiene 6 elementos (1: f, 2: u, 3: l, 4: a, 5: n y 6: o)
  • El siguiente array tiene 3 elementos: [1: "pepito", 2: "pizza", 3: "pablito"].

🤔 Sin embargo, si queremos acceder a la primera posición de nuestras variables, NO buscamos la posición 1, sino la posición 0. Y, por lo mismo, la segunda posición en realidad es la posición 1.

Por ejemplo:

array[0] // pepito
array[1] // pizza
string[0] // f
string[1] // u
string[2] // l

Esta es una pequeña confusión que en vez de confundirnos nos hace especiales en el mundo de la programación. 😊😅

No lo menciona, pero importante para los indices siempre se inicia en 0. Aunque sea el primero. Por eso los índices van de 0 a 4.

#include <iostream>

using namespace std;


int main()
{
    int index;
    cout << "Tienes diez pokemones. cual vas a elegir? "<<endl;
    cin  >>index;
    string Pokemones[10] = { "pikachu", "charmander", "bolbasaur", "dito", "Mr-mine", "doduo", "blastois", "charizard", "electabus", "mashop"};
    string nombres = Pokemones[index];
    cout << "Elegiste a: "<<nombres<<endl;
    return 0;
}

Recuerden que los índices en cualquier arreglo empiezan en la posición cero(0).

No se menciona en el vídeo, pero los indices de los arreglos siempre inician en 0, el indice del arreglo siempre será n-1 donde n es la longitud del arreglo. Ejemplo

int array[10] ;

En este ejemplo n=10, por lo que sus indices serán de 0 a 9.

estos arreglos son super importante ya que funciona como una variable que guarda información de manera dinámica, en cambio una arreglo no se puede cambiar su tamaño ya que queda de manera estatica.

Un ejemplo quiero almacenar mis gastos mensualmente entonces hago un arreglo[13] uno para cada mes como comienza en 0 puedo hacer lo siguiente

int gastoAnual [0];
int gastoEnero [1];
int gastoFebrero[2];
.
.
.
int gastoDiciembre[12]

¿No se pueden indexar un rango de elementos dentro del arreglo, a como se puede hacer por ejemplo en Matlab?. ¿Como se pueden manejar matrices?

excelente explicacion, muy bien !! 😄

Gracias

#include <iostream>

using namespace std;

int main() {

    char corbatas[5];
    corbatas[0] = 'v';
    corbatas[1] = 'n';
    corbatas[2] = 'p';
    corbatas[3] = 'r';
    corbatas[4] = 'f';


    cout << corbatas[0] << endl;
    cout << corbatas[1] << endl;
    cout << corbatas[2] << endl;
    cout << corbatas[3] << endl;
    cout << corbatas[4] << endl;
    cout << corbatas[5] << endl;
    cout << corbatas[6] << endl;
    cout << corbatas[7] << endl;
    cout << corbatas[-1] << endl;

    string names[4] = {"Asterix", "Idafix", "Obelix", "Panoramix"};

    //By value
    string currentName = names[2];
    currentName = "holaaa";

    cout << names[2] << endl << currentName;



    return 0;
}
#include <iostream>

using namespace std;

int main()
{

    string colores[4] = {"azul", "rojo", "verde", "amarillo"};
    int seleccion = 0;
    string color = colores[seleccion];

    cout << "selecciona un numero del 0 al 3" <<endl;
    cin >> seleccion;
    cout << color << endl;

    return 0;
}```

Muy buena la explicación, me gusto la clase.

#include <iostream>

using namespace std;

int main()
{
    int i;

    cout<<"Cual quieres escoger: ";
    cin>>i;

    string ropa[5]={"camisa", "pantalon", "chaqueta", "blusa", "buso"};
    string eleccion=ropa[i];

    if(eleccion!=ropa[5]){
        cout<<eleccion<<endl;
    }
    return 0;
}
#include <iostream>

using namespace std;

int main()
{
    int index;

    cout << "Ingrese un numero del 0  al 5 y descubra un nombre" << endl;


    cin >> index;
    string Familia[5] = {"Haydee","Yanira","Gerardo","Diego","Rodrigo"};
    string Nombre = Familia[index];

    if( index < 0)
    {
        cout << "El nombre que busca es inexistente" << endl;
    }
    else if(index > 5)
    {
        cout << "El nombre que busca es inexistente" << endl;
    }else{
    cout << Nombre << endl;
    }
    return 0;
}

Arreglos: Son un tipo de variable que generalmente se usa para almacenar muchos datos del mismo tipo como por ejemplo un arreglo de flores, tiene distintos tipos de flores y cada uno se encuentra en un espacio unico. los espacios de almacenamiento en un arreglo comienzan del 0, es decir nuestra primera flor se ubicara en el espacio 0 la segunda en 1.

Muy buena explicación

#include <iostream>

using namespace std;

int main()
{

    cout << "Elegi el nombre que desees: "<< endl;
    cout << "Opcion 0: Astrid" <<endl;
    cout << "Opcion 1: Idiafix" <<endl;
    cout << "Opcion 2: Obelix" <<endl;
    cout << "Opcion 3: Panoramix\n" <<endl;

    int index = 0;
    cin >> index;
              //  posicion 0, posicion 1, posicion 2, posicion 3
    string Names[4] = {"Astrid", "Idiafix", "Obelix", "Panoramix"};



    string CurrentName = Names[index];

    cout << CurrentName << endl;

    return 0;
}

Es importante tener arreglos así tu código puede ser más organizado.

//Alejandro Dubon
#include <iostream>
using namespace std;

int main()
{
    int Index = 0;
    cin >> Index;
    string Names[4] = {"Asterix", "Idiafix", "Obelix", "Panoramix"};
    string CurrentName = Names[Index];

    cout << CurrentName << endl;



    return 0;
}

Importante chicos, siempre tener en cuenta que los arrays empiezan desde 0.
Sin importar de que este Array sea multidimensional o no

Particularidades
.
Particularidad 1
int vector2[3]; vector2[3] = {1,5,10};
Si declaramos un vector y no lo inicializamos inmediatamente, no es posible inicializarlo de la forma que hemos visto, es decir entre llaves cada valor, como en la línea 2 del código anterior. La única forma de inicializar el vector, o mejor dicho, darle valores a cada una de sus casillas, es hacerlo uno por uno.
.
Particularidad 2
float vector3[5] = {10.5};
Si ponemos una cantidad de elementos menor a la del tamaño real del vector, estamos queriendo decir que estos elementos toman los valores puestos entre las llaves y los demás serian cero, para el caso del código anterior el primer elemento (el del índice cero) va a tener un valor de 10.5 y los otros 4 elementos van a valer cero.

Aquí les comparto un código que he realizado usando un “for” (que todavía no vemos), para poder imprimir medianto un ciclo simple los datos que hemos ingresado en un arreglo de strings, con los colores de las corbatas:

#include <iostream>

using namespace std;

int main()
{
    string ties[5];
    ties[0]="green";
    ties[1]="red";
    ties[2]="black";
    ties[3]="white";
    ties[4]="purple";

    for(int i=0;i<5;i++)
    {
        cout<<"The tie in the "<<i<<" position is: "<<ties[i]<<endl;
    }

    return 0;
}

Han llegado a crashear sus SO por escribir mal sus codigos? xd

buena clase

Gracias por la clase.

Los nombres del arreglo no eran una coincidencia :
https://es.wikipedia.org/wiki/Astérix_el_Galo

Pseudocódigo
En ciencias de la computación, y análisis numérico, el pseudocódigo​ es una descripción de alto nivel compacta e informal​ del principio operativo de un programa informático u otro algoritmo.

Gracias por los ejemplos!