💽

C++

Creado por José Fernando Vidal García

Variables

= …;

Al usar un igual a la d derecha de una variable haces que lo que esté a su derecha sea su nuevo valor

string

Es para usar caracteres

char

Se usa entre ‘____’

Es un solo caracter

int

Es para usar números enteros

En un “Cin” si separas los números se guardan el el buffer del teclado y la siguiente variable tendrá el segundo número

float

Es para usar números decimales

bool

bool variable = true;

Constantes (ejs)

const int N = 10;

const int Distancia = int('a') -int('A');


Algoritmo

Siempre el algoritmo tiene que estar en dentro de:

#include <iostream>

using namespace std;

int main(){

}

Printf(”Hello world”);

Sirve para que el programa escriba en la terminal “Hello world”

Cout << ”Hello world”;

Sirve para que en la terminal se escriba “Hello world” pero si hay una sucesión de Cout no salta linea.

Si pones \n dentro de las comillas es un salto de página :)

Endl

Cuando en un “Cout” pones “endl” haces que ocurra salto de linea

Cin >>

Deja que escribas en la terminal para darle un valor a una variable.

Recoger mierdas del buffer

cin.get(c);

Limpiar el buffer

 cin.ignore();


Operadores

Suma y Resta ( +,  - )

Si los números son enteros el resultado será entero, alguno es real será real el resultado.

Multiplicación ( * )

Si los números son enteros el resultado será entero, alguno es real será real el resultado.

DIV ( / )

Devuelve el resultado de la división sin decimales de una división

MOD ( % )

Devuelve el resto de la división

División normal ( / )

Te devuelve números reales

<> = ≤ ≥ ≠

Devuelve booleanos es decir verdadero o falso

Sucesor y Predecesor

Sucesor (+1) i++

Predecesor (-1) i--

Operadores para caracteres

Car

Transforma de entero a carácter

Ord

Transforma de carácter a entero

También se puede usar predecesor y sucesor


Operadores complejos

Pow (elevar a algo)

Hay que poner al principio: #include <cmath>

Despues pones: pow(base, a_lo_que_elevas);

Sqr (elevar al cuadrado)

Hay que poner al principio: #include <cmath>

Despues pones: sqr(base, a_lo_que_elevas);

Sqrt (raiz cuadrada)

Hay que poner al principio: #include <cmath>

Despues pones: sqrt(base, a_lo_que_elevas);


Tablas

Una dimensión

typedef float Vector[NColumnas];

´El número es el numero de columnas y solo hay una fila

typedef char Frase [N];
int i;
int cont;
//Declaración e inicialización de la tabla t
Frase t = {'E','L',' ','S','O','L',' ','S','E',' ','E','S','C','O','N','D','E','#'} ;
//Se muestra la frase en pantalla, recorrido primer modelo secuencial
i = 0; //Inicialización
cont=0;
while (t[i] != '#') { // Mientras el EA sea distinto de la Marca Fin
cout<<t[i]; //Tratamiento del EA: mostrar y
if (t[i]=='E') { cont=cont+1; } //Contar el número de caracteres 'E'
i=i+1; //Avanzar
cout<<endl;
};

Para hacer una llamada a la tabla tienes que poner la columna que deseas entre corchetes y a la izquierda el nombre de la tabla, t[i] , aqui definimos una variable para que elijamos la columna

Multidimensional

typedef int Matriz[NFilas][NColumnas];

Es igual pero para llamar usamos tabla[i][j]

//inicializar la tabla
Tipo_Tabla miTabla = {
{12, 20, 16, 18, 21, 22, 18, 11, 12, 15},
{14, 13, 9, 8, 20, 92, 13, 10, 21, 17},
{15, 20, 26, 28, 21, 23, 28, 31, 26, 25},
{22, 25, 36, 38, 41, 49, 58, 61, 62, 75},
{13, 83, 26, 88, 23, 32, 81, 51, 42, 83},
{11, 02, 16, 48, 31, 95, 58, 41, 33, 22},
{14, 24, 46, 14, 41, 24, 48, 51, 15, 55},
{15, 50, 66, 78, 11, 92, 8, 13, 22, 25},
}; // ponemos cada fila entre llaves y unas llaves para toda la tabla

Randomizar una tabla

int main() {
Temperaturas t;
int i,j;
for(i=0;i<NANYO;i++){
for(j=0;j<NDIA;j++){
t[i][j] = rand()%21+20;
cout << t[i][j] << " | ";
}
cout << endl;
}


Análisis de casos

Operadores lógicos

Y = “&&”

Igual = “==”

O = “||”

If

Sirve para que cuando pase algo la maquina haga otra cosa

if (cond) {
S
}

Else

Es complementario del if, cuando no se produce el if se reproduce el else

if (cond) {
S	
}	 else {
R	
}	

Switch

El switch sirve para elegir entre muchos casos

No se puede usar operadores lógicos

El default es muy importante pues es lo que hará si no le damos ningún input que requiera para darnos algo en especifico

Si no pones el break se ejecutarán todos los de debajo del caso que tu elijas, es decir si digo “B” me dirá lo que dice del B del C y el dafault

switch (PermisoConducir) {
case 'A':
cout << "Motocicletas y triciclos de motor";
break;
case 'B' :
cout << "Automóviles masa máxima autorizada <= 3500 kg";
break;
case 'C' :
cout << " Automóviles masa máxima autorizada > 3500 kg ";
break;
default :
cout << "No contemplado";
break;
}


Bucles

Break

Se usa para para un bucle

Se puede usar

If (cond) break;

o

Break;

While

Se produce mientras la condición se cumpla, la condición se actualiza al principio, no al final

while (cond) {
S;
}

Do while

Hacer mientras: la comprobación se hace al final

int numero;
do
{
    cout <<  "Ingrese un numero ";
    cin >> numero;
}
while(numero <= 100); //comprueba al final

for

Esto es realmente un while donde al principio decimos cuanto vale i, despues le decimos que mientras i sea menos o igual que b se siga ejecutando y por ultimo le decimos cuanto va a ir subiedo que va a ser uno por uno

for (i = a; i<=b; i++){
	S;
}

Esto es lo mismo que:

i=a;
while (i<= b){
S;
i++;
}


Funciones

Hay variables de entrada y uno de salida

Lo que quieres que salga es lo que va después del return

Las funciones pueden devolver solo una variable y no la devuelven de vuelta como tal, simplemente haces que se produzca una operación entonces si quieres guardarte el resultado de una función en una variable tendrás que poner: max = Max2(500,200);

int Max2 (int a, int b)
{
int mayor;
if (a > b) {
mayor = a; }
else {
mayor = b; }
return mayor;
}
cout << Max2 (x,y);


Acciones

Se representan con un void "nombre"(){… }

Se declara encima de main

Las variables en las acciones funcionan diferente hay unas de lectura y otras que se trasladan al exterior.

Si pones & puedes que hacer que sea de entrada y salida o solo salida

Ahí declaras que cuando te pongan variables en ese orden se asignarán a las todas las b en el mismo orden

void BinDec (int b1, int b2, int b3, int b4, int &dec)
{
dec = b1*1 + b2*2 + b3*4 + b4*8;
}
BinDec (a1, a2, a1, a2, decimal1);

b1*a1 + b2*a2 + b3*74 + b4*8;


Tipos de Variables

Es una variable que dentro de ella hay varias, en este caso hemos hecho la variable punto que tiene abcisas y ordenadas, definimos como se va a llamar este tipo de productos y como lo vamos a llamar (con P)

struct Punto {
float abscisa, ordenada;
};
//hasta aqui has dicho que hay un nuevo tipo de variable llamado punto que contsta de dos
//ahora para usarla tienes que hacer una variable o las que quieras 
Punto p;
…
cout << p.ordenada << endl;


Espera

delay(12); los 12 son los segundos

Rand

randomizamos

x=rand()%21+20;