Version:0.9 StartHTML:0000000105 EndHTML:0000008106 StartFragment:0000000152 EndFragment:0000008072
/******************************************************/
/*************** Isidro Pastor Jorda ******************/
/******************************************************/
/****************** Telematica ************************/
/******************************************************/

#include <iostream.h>
#include <stdlib.h>

int main()
{
    int opcion;
    bool salir; // usaremos esta bandera para salir del bucle do while al seleccionar salir del programa

    salir= false; // Inicializamos la bandera a false para quedarnos dentro del bucle, solo se modifica en opcion 3 salir
    do   // metemos todo en un do while que se repetira mientras salir=false
    {

        /* Salida del menu por pantalla */

        cout << endl << "    Tablas de Multiplicar V. 0.1  " << endl ;
        cout << endl << " *********** M e n u *************" << endl ;
        cout << " * 1.- Ver la tabla de un numero *" << endl ;
        cout << " * 2.- Ver todas las tablas      *" << endl ;
        cout << " * 3.- Salir del programa        *" << endl ;
        cout << " *********************************" << endl ;
        cout << endl << "  Introduce la opcion deseada ->  " ;
        cin >> opcion;

        switch (opcion) // Usamos un switch para seleccionar la accion a realizar
        {
            case 1:

                int tablan; // Variable para almacenar la tabla que queremos imprimir en pantalla

                cout << endl << " Dame la tabla que quieres ver -> " ;
                cin >> tablan;
                cout << endl ;
                for (int i=1; i<=10; i++) // Bucle for para imprimir la tabla completa seleccionada
                {
                    cout << tablan << " x " << i << " = " << tablan * i << endl ;
                }
                cout << endl;
                system("PAUSE");
                break;

            case 2:

                int tabla; // declaracion de variables

                tabla=1; // inicializamos tabla

                while ( (tabla + 2) < 13 )  // repetiremos el proceso mientras que tabla + 2 sea menor a 13
                {
                    for (int i=1; i<=10; i++)  // vamos a imprimir tablas de 3 en tres con un bucle for
                    {
                        cout << tabla << " x " << i << " = " << tabla*i ;

                        if (tabla == 10)   // si la tabla es del 10 tenemos que hacer un endl para que aparezca correctamente en pantalla
                        cout << endl ;

                        if (tabla + 1 <= 10 )  // asi evitamos que aparezcan tablas del 11 y del 12
                        {
                            cout << "\t" << tabla + 1 << " x " << i << " = " << (tabla + 1)*i ;
                            cout << "\t" << tabla + 2 << " x " << i << " = " << (tabla + 2)*i << endl; // hacemos un endl cuando presentamos la tercera tabla de la linea
                        }
                    }


                    tabla = tabla + 3 ;  // aumentamos la variable tabla en 3 para la siguiente iteracion
                    cout << endl << endl;

                }

                system("PAUSE");
                break;

            case 3:
                salir=true;
                cout << endl << " Ha elegido salir del programa, hasta otra ... :) " << endl << endl ;
                break;

            default:
                cout << endl << " Opcion no valida " << endl << endl ;
                break;


        }
    }
    while (!salir);

      system("PAUSE");
      return 0;
}