Guia de C++

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 11

Guía básica de C++

Prof. Lisbeth Guerra


El lenguaje 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.

Entrada y Salida de datos

Cout << Salida de datos


Cin>> Entrada de datos

Estructura básica de un programa en C++

#include <iostream>
using namespace std;

int main()
{
cout << "Hola Mundo" << endl;
return 0;
}

Es un componente de la biblioteca estándar (STL) del lenguaje de programación C++


#include <iostream> que es utilizado para operaciones de entrada/salida. ... iostream define los siguientes
objetos: cin: Flujo de entrada y cout: Flujo de salida (que sale)
Al ser C++ una ampliación del lenguaje C, es necesario agregar nuevas palabras
reservadas. Éstas palabras reservadas están en un “namespace” (espacio de nombres).
using namespace Para ser más específicos, las palabras reservadas cout y cin están el namespace std
std; (standard).
En caso de que no se declare el uso del namespace std cada vez que se quiera usar
cout, se tendría que escribir: std::cout << "Hola mundo";
int main() Esta estructura es la función principal que contiene el código (main significa "principal").
{ Lo que se escriba dentro de las llaves de esta función es el código fuente en sí, es decir
} el programa que se ejecutará. Es posible que pueda haber instrucciones fuera de esta
función, pero siempre tendrán que estar dirigidas desde esta función.
cout: de C (lenguaje c) y out (fuera en inglés), cout indica que se mostrará algo en
cout << "Hola pantalla.
Mundo" << endl; <<: Estas dos flechas o signos de "menor que", indican que va a haber una salida de
datos. Son un operador de salida y después de las dos flechas se colocará los datos.
1
Guía básica de C++
Prof. Lisbeth Guerra
"Hola Mundo”: Datos que se observan en pantalla. En este caso es una cadena de
texto, para indicar una cadena de texto se escribe la misma entre comillas.
<<: Otra vez el operador de salida de datos. Indicamos que vamos a sacar más datos
en pantalla.
endl: Esta palabra clave indica que introducimos un salto de línea. De hecho está
compuesta por "end" (final) y "l" de línea (line).
; Toda instrucción debe terminar por un punto y coma.
Es una función de tipo entero int main(), es decir debe retornar un valor para indicar que
return 0;
el programa finalizo sin ningún error.

// Comentario de una sola línea


Comentarios:
/* Comentario de
Varias líneas*/

Tipos de datos en C++

Tipo de dato Descripción


int Entero
Float Números con decimales
Double Números con decimales más largos
Char, Char[#] Carácter Ejemplo: ‘a’ / “Carolina”
String Cadena de caracteres Ejemplo: “Nathalia”
Bool Verdadero o Falso (True – False)

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

Ejemplo de un Programa simple en C++

/*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>
}

Cada uno de los componentes de esta estructura son los siguientes:


 if: Es la palabra clave que indica el tipo de estructura. Esta palabra se pone siempre al principio.
 (condicion): Entre paréntesis se escribe una condición. Esta tiene que dar un resultado booleano de
"true" o "false", por lo que en la mayoría de las veces suele ser una operación lógica o condicional, por
ejemplo: ('a' > 'b').
 {<bloque de sentencias>}: Después de la condición se escribe el código al que se quiera que afecte la
estructura. Éste, si tiene más de una sentencia, debe ir en un bloque, (escrito entre llaves), ya que de otra
manera sólo afectaría a la primera sentencia.

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.

El código de esta estructura es el siguiente:


switch (x) {
case a:
<sentencias para x == a>;
break;
case b:
<sentencias para x == b>;
break;
....................
case n:
<sentencias para x == n>;
break;
default:
<sentencias para x == n>;
}

El código está estructurado de la siguiente manera:


 Empezamos poniendo la palabra clave switch, y después, entre paréntesis la variable con la que
compararemos las demás (x).
 El resto del código forma un bloque, y va escrito entre llaves. Ester código se compone de varias
opciones.
 Cada una de las opciones (excepto la última) empieza por la palabra clave case seguida del elemento
con la que se hace una comparación de igualdad y después dos puntos case a:
 Cada una de las opciones (excepto la última) acaba con la palabra clave break;
 En cada una de las opciones anteriores, entre el código del principio (case a:) y el del final (break;), se
escriben las sentencias que deben ejecutarse cuando la condición se cumpla.
 La opción final indica lo que debe ejecutarse en el caso en que ninguna de las anteriores se cumpla, y
empieza por la palabra clave default: (acabada con dos puntos), seguida de las sentencias que deben
ejecutarse cuando no se cumpla ninguna opción anterior.
Como se observa se pueden colocar tantas opciones case.... break; como se quiera o se necesite. El case a:
indica que se inicia una nueva opción, la cual ejecutará el código que le sigue en el caso de que la variable
principal (x) sea igual a la indicada a.
El break; hace que el flujo interrumpa, y se salga del bloque. De no ponerlo el programa no sale del bloque y el
resto del código del bloque, perteneciente a otras opciones, también se ejecutaría.
La última opción default: indica lo que se debe hacer cuando no hay ningún elemento anterior que coincida.
Aunque no es obligatorio ponerla, es conveniente si se quiere que el programa haga algo cuando no se cumplen
las opciones anteriores. Al ser la última no es necesario poner el break; al final, ya que es ahí donde termina el
bloque.

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.

Sintaxis del bucle for


Su estructura es la siguiente:

for (<inicializacion>;<condicion>;<actualización>) { <sentencias que se repiten>; }

El código de esta estructura:


 for : Empezamos el bucle escribiendo la palabra clave for
 <inicialización>: Entre paréntesis y separados por punto y coma se escribe tres sentencias, la primera
de ellas es la "inicialización", donde se da un valor inicial a la variable de control. Si ésta no estaba
declarada anteriormente, la podemos declarar aquí también ej.: int i=0;.
 <condición>: La segunda sentencia del paréntesis es la "condición", en donde se indica la condición que
tiene que ser verdadera para que el bucle se repita. Evidentemente en la condición tiene que aparecer la
variable de control. por ejemplo: i <= 10;.
 <actualización> : En esta tercera sentencia de dentro del paréntesis indicamos qué es lo que le debe
ocurrir a la variable de control tras cada repetición, para que ésta cambie y en un momento dado se
pueda salir del bucle, en el ejemplo que estamos siguiendo, sería el incremento en una unidad: i++;.
 {<sentencias que se repiten>;}: Dentro de las llaves, escribimos el bloque de sentencias que se
repetirán en cada vuelta.

Siguiendo con los ejemplos que hemos puesto antes podemos escribir un bucle que escriba una tabla de
multiplicar, por ejemplo la del 5:

for ( i = 0 ; i <= 10 ; i++)


{
cout << "5 x " << i << " = " << 5*i << endl;
}

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

Cin.get(); Espera un Enter para continua


Cout.precision(2); Se utiliza antes de imprimir un número flotante, indicando el número de decimales
exactos que se desean utilizar.
sqrt Raíz cuadrada Ejemplo: sqrt (x) , raíz cuadrada de x
pow Potencia Ejemplo: pow(x,2), eleva x a la potencia 2
\t Tabulación
\n Salto de línea
endl Salto de línea
Gets(nombre) Almacenar una cadena de caracteres
Strlen(palabra) Cuenta la cantidad de caracteres Ejemplo: longitud=strlen(palabra)

11

También podría gustarte