Guia de C++
Guia de C++
Guia de C++
C++ (se lee "ce plus plus"), es un lenguaje de programación en el que el programador escribe lo que el
ordenador debe hacer en un "código fuente". Este código es tratado por un programa especial, llamado
"compilador", y que lo convierte en "código máquina". El lenguaje C++ es en realidad una ampliación del lenguaje
de programación C. De ahí su nombre (C++ es C ampliado). A su vez, anterior a estos lenguajes, aparecieron
otros, como Fortran, Cobol, Basic, y el lenguaje B, que es en el que se basa el lenguaje C.
Posteriormente a C++ aparecen otros lenguajes de programación como Java, o todos los lenguajes
relacionados con la creación de sitios webs (JavaScript, Php, etc.). Algunos de estos lenguajes son específicos
de un entorno (por ejemplo, JavaScript se usa exclusivamente para páginas web). Sin embargo hay muchos
elementos comunes a la mayoría de lenguajes, con estructuras idénticas o similares (por ejemplo, las
repeticiones en bucles, las estructuras condicionales, etc.)
C++ es un lenguaje que puede utilizarse en distintas plataformas como en el sistema operativo Windows,
Linux, Androide, etc.
#include <iostream>
using namespace std;
int main()
{
cout << "Hola Mundo" << endl;
return 0;
}
El tipo string
En principio el tipo string requiere que se tenga abierta la librería string, es decir, que al principio del programa,
después de la línea de #include<iostream>, se debe colocar otra línea con la librería #include<cstring>, el
comienzo del archivo fuente quedará así:
#include<iostream>
#include<cstring>
using namespace std;
Sin embargo en los IDEs modernos, la librería iostream incluye también a la librería cstring, por lo que en
realidad la segunda línea es opcional.
En todo caso si se observa que al añadir variables de tipo string el programa no compila bien, entonces, se
debería añadir esta segunda línea obligatoriamente.
Entrada de string:
Una de las tareas más habituales es pedirle un dato al usuario para guardarlo en una variable, y en muchos
casos, esta variable será un string. En principio, lo haremos mediante el uso de cin >>, como para cualquier otro
tipo de dato:
string nombre;
cin >> nombre;
cout << "Hola " << nombre << endl;
2
Guía básica de C++
Prof. Lisbeth Guerra
Este es un sencillo programa en el que se escribe un nombre y luego lo devuelve en pantalla. Mientras lo que
se escribe es una sola palabra el programa funcionará perfectamente, pero si se escribe más de una palabra el
string sólo guardará la primera. Por ejemplo, si se escribe como nombre "Nathalia", devolverá "Hola Nathalia",
pero si se escribe como nombre "Nathalia Carolina", devolverá también "Hola Nathalia", con lo que no habrá
guardado la segunda palabra del nombre.
Esto sucede porque la entrada de datos en pantalla considera que cada dato está separado del siguiente por
un espacio en blanco (carácter espacio); con lo cual cada vez que en la entrada de datos hay un espacio se
termina de leer el dato, considerando lo que se escribe después del espacio como un nuevo dato.
Si se quiere, por tanto poner un string que contenga espacios en blanco, se debe por lo tanto utilizar otro
mecanismo que es la función getline.
Esta es una función predefinida que provoca una entrada de datos de tipo string, y que hace que todo lo que
se escriba mientras no se pulse el "enter" forme parte del mismo string, aunque haya espacios de por medio.
string nombre;
getline(cin, nombre);
cout << "Hola " << nombre << endl;
El uso de getline es muy simple, tal como se observa en la segunda línea. En primer lugar se escribe la
palabra getline y luego un paréntesis dentro del cual se escribe dos elementos separados por una coma. El
primero de ellos es el canal de entrada. Si se quiere recoger el dato en pantalla, se escribe siempre cin, y el
segundo será la variable de tipo string en la cual se quiera guardar la cadena.
Operadores en C++
Operadores Aritméticos
3
Guía básica de C++
Prof. Lisbeth Guerra
Operadores Relacionales
Operadores Lógicos
/*Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas, el vendedor desea saber
cuánto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el total que
recibirá en el mes tomando en cuenta su sueldo base y comisiones.*/
#include<iostream>
using namespace std;
int main() {
int com, sb, tot_vta, tpag, v1, v2, v3;
cout << "Ingrese el sueldo basico: " << endl;
cin >> sb;
cout << "Ingrese la Venta 1: " << endl;
cin >> v1;
cout << "Ingrese la Venta 2: " << endl;
cin >> v2;
cout << "Ingrese la Venta 3: " << endl;
4
Guía básica de C++
Prof. Lisbeth Guerra
cin >> v3;
tot_vta = v1+v2+v3;
com = tot_vta*0.10;
tpag = sb+com;
cin.get(); // espera un Enter, no cualquier tecla
cout << "El total mensual para el empleado:" << tpag << endl;
return 0;
}
Estructuras de Control
Una estructura cambia el flujo normal de ejecución del programa, de manera que éste no se realice de una
manera secuencial. Distinguimos entre las estructuras de control y otro tipo de estructuras como pueden ser las
funciones o las clases. Hay dos tipos de estructuras de control, que son las condicionales y los bucles.
Estructuras Condicionales
La estructura if
Dentro de las estructuras de control condicionales, la más importante es la estructura if. Esta consiste en que
el programador indica una condición. Esta condición es evaluada como un dato booleano. Si el valor del dato es
verdadero la condición se cumple, y por lo tanto, la sentencia, o el bloque que va asociado a la condición, se
ejecuta. Si el resultado de la condición es falso, la sentencia o bloque, no se ejecuta.
Es decir, si la condición que se establece se cumple, el programa realiza la acción, y si no es así no la realiza.
La sintaxis que se usa para esta estructura es la siguiente:
if (condición)
{
<bloque de sentencias>
}
Ejemplo:
#include<iostream>
using namespace std;
int main(){
int a;
cout << "Escribe un numero mayor que 10 : ";
cin >> a;
5
Guía básica de C++
Prof. Lisbeth Guerra
if (a > 10) {
cout << "Bien Hecho !! " << endl;
cout << "El numero " << a << " es mayor que 10." << endl;
}
return 0;
}
La estructura if – else
Si lo que se quiere es que la condición se cumpla y se ejecute un código se utiliza solo el if, y cuando no se
cumpla se ejecute otro distinto, lo que se debe hacer es añadir después dela estructura if la palabra clave else,
seguida del bloque de sentencias que debe ejecutarse cuando la condición no se cumple. La estructura completa
es:
if (<condicion>) {
<sentencias cuando SI se cumple>;
}
else {
<sentencias cuando NO se cumple>;
}
Es decir, el programa evalúa la condición escrita después del if, y si el resultado es verdadero se ejecuta el
primer bloque de sentencias, pero si es falso se ejecutará el bloque que hay detrás del else.
Ejemplo:
#include<iostream>
using namespace std;
int main(){
int a;
cout << "Escribe un numero mayor que 10 : ";
cin >> a;
if (a > 10) {
cout << "Bien Hecho !! " << endl;
cout << "El numero " << a << " es mayor que 10." << endl;
}
else {
cout << "Numero equivocado!! " << endl;
cout << "El numero " << a << " NO es mayor que 10." << endl;
}
return 0;
}
Condicional Switch
Posteriormente de conocer la estructura if y else, para elegir lo que el programa debe hacer. Cada una de las
opciones viene controlada por una condición, si se cumple la condición se ejecuta la opción, y si no se pasa a
comprobar la siguiente.
6
Guía básica de C++
Prof. Lisbeth Guerra
La estructura switch tiene también la misma función, pero aquí, todas las opciones dependen del valor de una
variable.
Se tiene una variable, y cada opción consiste en comparar esa variable con otro elemento, de manera que si
el valor de la variable y el del elemento comparado son iguales, el resultado es verdadero, la condición se
cumple, y se ejecuta el código asociado. Si no es así se pasa a la siguiente opción donde se vuelve a repetir el
proceso. Si no se ejecuta ninguna opción puede ponerse una opción por defecto al final.
7
Guía básica de C++
Prof. Lisbeth Guerra
Ejemplo:
#include<iostream>
using namespace std;
int main() {
cout << "OPERACIONES CON DOS NUMEROS" << endl;
int a, b; char op; //Decalramos las variables
cout << "Escribe un numero : ";cin >> a; //pedimos el primer número
cout << "Escribe otro numero : "; cin >> b; //pedimos el segundo número
cout << "Tus numeros son " << a << " y " << b << endl; //confirmamos números
cout << "Elige una operacion, para ello escribe su letra: " << endl; //explicación al usuario
cout << "s = Suma; r = Resta; m = Multiplicacion; d = Division." << endl;
cout << "Tu operacion : "; cin >> op; //pedimos operacion
switch (op){ //inicio estructura.
case 's': //opción 1: suma
cout << "Operacion : Suma " << endl;
cout << a << " + " << b << " = " << a+b << endl;
break;
case 'r': //opcion 2: resta
cout << "Operacion : Resta " << endl;
cout << a << " - " << b << " = " << a-b << endl;
break;
case 'm': //opcion 3: multiplicacion
cout << "Operacion : Multiplicacion " << endl;
cout << a << " * " << b << " = " << a*b << endl;
break;
case 'd': //opcion 4 : división
cout << "Operacion : Division " << endl;
cout << a << " / " << b << " = " << a/b << endl;
break;
default: //Respuesta para opción equivocada.
cout << "La letra escrita no se corresponde con ninguna operacion." << endl;
}
return 0;
}
Estructuras Repetitivas
Ciclo While
Un ciclo o bucle, en programación, es una sentencia o bloque de sentencias que se repiten de forma continua
hasta que una condición, que va asociada al bucle, deje de cumplirse.
Se utiliza normalmente para realizar acciones repetidas, sin tener que escribir repetidamente el código. Esto
ahorra tiempo y líneas de código.
En un ciclo se tienen los siguientes elementos:
El nombre, o palabra clave; con el que identificamos al bucle.
La sentencia o bloque de sentencias ; que deben repetirse
8
Guía básica de C++
Prof. Lisbeth Guerra
La condición; La cual mientras se cumpla seguirá repitiéndose el bloque.
La variación de la condición; La condición inicial debe variar, normalmente en cada repetición, de
manera que llegue un momento que no se cumpla, para poder salir del bucle.
El tipo de bucle más sencillo es el bucle while. Para crear un bucle while, simplemente hace falta poner la
palabra clave while seguida de la condición entre paréntesis, y después el bloque de sentencias, su sintaxis
es como se muestra a continuación:
while (<condicion>)
{
<Sentencias que se repiten>
}
Ejemplo:
#include<iostream>
using namespace std;
int main() {
cout << "Tabla del 7" << endl << endl;
int i= 0;
while (i <=10) {
cout << 7 << " x " << i << " = " << 7*i << endl;
i = i+1;
}
return 0;
}
Ciclo do – while
El bucle do while es muy parecido al bucle while. La gran diferencia es que aquí, aunque la condición no se
cumpla, el código se ejecutará siempre al menos una vez.
Esto es debido a que primero se ejecuta el código, y después se comprueba la condición. Si ésta es
verdadera, el bucle se repite, si no es así se sale de él y continúa con el resto del programa.
Sintaxis de do while
La sintaxis es ligeramente diferente del bucle while, ya que aquí la condición se india al final de la estructura:
do
{
<Sentencias que se repiten>;
} while (<condicion>);
Como con cualquier otro bucle, hay que tener en cuenta que tras un número de repeticiones tiene que llegar
un momento en que la condición no se cumpla, para poder salir del bucle, y no caer en el error de hacer un bucle
infinito.
Ejemplo:
#include<iostream>
9
Guía básica de C++
Prof. Lisbeth Guerra
using namespace std;
int main() {
int i=0, r;
cout << "Escribe un numero para repetir la frase.";
cin >> r;
cout << "La frase se escribira al menos una vez aunque el numero sea cero o negativo." << endl;
do {
i++;
cout << i << ".- Esta es una frase repetida" << endl;
} while(i < r);
return 0;
}
Ciclo For
En los bucles for tanto la inicialización como la actualización forman parte de la estructura, de manera que la
variable de control es controlada en la misma estructura.
Siguiendo con los ejemplos que hemos puesto antes podemos escribir un bucle que escriba una tabla de
multiplicar, por ejemplo la del 5:
10
Guía básica de C++
Prof. Lisbeth Guerra
Ejemplo:
#include<iostream>
using namespace std;
int main() {
cout << "TABLAS DE MULTIPLICAR" << endl;
int t,i;
cout << "Que tabla quieres? (del 1 al 10) :";
cin >> t;
if (t >=1 and t<=10) {
for (i=1; i<=10 ; i++) {
cout << t << " x " << i << " = " << t*i << endl;
}
}
else {
cout << "Error: tu numero no esta entre el 1 y el 10." << endl;
}
return 0;
}
Lista de funciones
11