Tema 3 - Estructuras de control básicas
Curso: C++ para gente que conoce C
3. Estructuras de control básicas
Si has programado un poco usando el lenguaje C, conocerás las estructuras básicas para controlar el flujo de un programa:- Con "if" se indica cómo debe comportarse el programa en caso de que se cumpla una condición.
- Con "switch" se puede indicar qué hacer cuando una variable toma diferentes valores.
- Cuando lo que se pretende es asignar un valor u otro a una variable, dependiendo de si se cumple o no una condición, se puede usar el operador condicional, "?".
- Para repetir una serie de pasos mientras se cumpla una condición, se usa "while".
- Si esos pasos que se repiten han de hacerlo al menos una vez, es más razonable usar un "do...while".
- La orden "for" es muy similar a "while", pero es frecuente usarla cuando sabemos cuántas veces queremos que se repita (desde que una variable valga 10 hasta que valga 20, por ejemplo).
- Se puede declarar una variable casi en cualquier punto de un programa. Esto permite que podamos incluso declarar una variable "i" que va a controlar un bucle "for"... justo en el momento en que comienza ese "for" (tienes un ejemplo un poco más abajo).
- Para comprobar condiciones, no es necesario eso de "0=falso; otra cosa=verdadero", porque existe un tipo de variable "bool" (abreviatura de "booleana") que puede tomar los valores "true" (verdadero) o "false" (falso), lo que puede ayudar a hacer programas más legibles.
#include <iostream> #include <string> using namespace std; int main() { int x, y; bool esMayorX; cout << "Introduce un numero: "; cin >> x; cout << "Introduce otro numero: "; cin >> y; esMayorX = x > y; if (y > x) cout << "El segundo es mayor" << endl; // Condicion usando "bool" if (esMayorX) cout << "El primero es mayor" << endl; // Declarar antes de usar for (int i=0; i<x; i++) cout << i; cout << endl; // Operador condicional y bucles con bool int minimo = x>y? y : x; bool terminado = false; while (!terminado) { minimo++; cout << "."; if ((minimo == x) || (minimo == y)) terminado = true; } cout << endl; }
Actualizado el: 09-12-2009 23:42