using System; class CondicionesBucles { public static void Main() { int num1=5, num2=-3; if (( num1 > 0) && (num2 > 0)) Console.WriteLine ("Los dos numeros son positivos"); else if (( num1 > 0) || (num2 > 0)) Console.WriteLine ("Uno es positivo"); else Console.WriteLine ("Ninguno es positivo"); // ---------------- char letter = 'e'; switch(letter) { case 'A': Console.Write("A Mayusc"); goto case 'a'; case 'E': case 'I': case 'O': case 'U': case 'a': case 'e': case 'i': case 'o': case 'u': Console.WriteLine("Es una vocal"); break; case '.': Console.WriteLine("Es un punto"); break; default: Console.WriteLine("No es vocal ni punto"); break; } // ---------------- int a=3, b=-5; int cantidadDePositivos = (a>0) && (b>0) ? 2 : (a>0) || (b>0) ? 1 : 0; Console.WriteLine("Positivos: {0}", cantidadDePositivos); // ---------------- int first = 5; int last = 12; int i; // --- for --- for (i = first; i <= last; i++) { Console.Write("{0} ",i); } Console.WriteLine(); // --- while --- i = first; while ( i <= last) { Console.Write("{0} ",i); i++; } Console.WriteLine(); // --- do...while --- i = first; do { Console.Write("{0} ",i); i++; } while ( i <= last); Console.WriteLine(); } }
En C++ sería muy similar:
// Condiciones y bucles #include <iostream> using namespace std; int main () { int num1=5, num2=-3; if (( num1 > 0) && (num2 > 0)) cout << "Los dos numeros son positivos" << endl; else if (( num1 > 0) || (num2 > 0)) cout << "Uno es positivo" << endl; else cout << "Ninguno es positivo" << endl; // ---------------- char letter = 'e'; switch(letter) { case 'A': cout << "A Mayusc" << endl; case 'E': case 'I': case 'O': case 'U': case 'a': case 'e': case 'i': case 'o': case 'u': cout << "Es una vocal" << endl; break; case '.': cout << "Es un punto" << endl; break; default: cout << "No es vocal ni punto" << endl; break; } // ---------------- int a=3, b=-5; int cantidadDePositivos = (a>0) && (b>0) ? 2 : (a>0) || (b>0) ? 1 : 0; cout << "Positivos: " << cantidadDePositivos << endl; // ---------------- int first = 5; int last = 12; int i; // --- for --- for (i = first; i <= last; i++) { cout << i << " " ; } cout << endl; // --- while --- i = first; while ( i <= last) { cout << i << " " ; i++; } System.out.println(); // --- do...while --- i = first; do { cout << i << " "; i++; } while ( i <= last); cout << endl; return 0; }
Los parecidos son:
- El tipo de datos "int" representa un número entero, igual que en C#, y se le pueden dar valores en el momento de declarar o después. El manejo del tipo "char" también es igual que en C#.
- Las condiciones se pueden comprobar con "if" (sencillas), "switch" (múltiples) y con el operador condicional (abreviadas).
- Podemos repetir bloques de programa usando "for", "while" y "do-while", de igual manera que en C#.
Las diferencias (porque apenas hay dos que no nos hayamos encontrado antes):
- Cuando un "case" de la orden "switch" delega en otro distinto, en C++ no hace falta indicar "goto case": si no hay un "break" al final, el control pasa automáticamente al siguiente caso (lo que puede dar lugar a errores difíciles de descubrir en caso de que "olvidemos" algún "break").
- Si queremos escribir varias cosas en pantalla usando una misma orden, no se usa {0}, {1} y sucesivos, sino que separamos los distintos elementos con "<<".
¿Y ahora qué? En la siguiente sesión hablaremos de las cadenas de texto y de cómo leer desde teclado, para pasar después a hablar de arrays y structs, y más adelante a funciones. (También puedes leer la toma de contacto).