UNA TABLA DE MULTIPLICAR EN C++

Con lo visto hasta ahora crear un programa que haga tablas de multiplicar es muy fácil usando el bucle for, do while, if ,while y else

int main()// Función principal
{

system("Title TABLA DE MULTIPLICAR DE DANIEL");// Titulo en consola de comandos
//Variables
int tabla_numero;// Numero de tabla de multiplicar
int contador_tabla;// cantidad de números a multiplicar
tabla_numero = 0;
string salir;// variable para menu
float multiplicando = 0;
float maximo = 50;
while (true)// Bucle principal
{
    cout << "\n\n\t\t\t                           DANIEL QUE TABLA QUIERES HACER \n\n";
    cout << "\n\n           s -> Salir         Cualquier tecla hacer la tabla       l -> limpiar la pantalla\n\n\t ";
    cin >> salir;


    if (salir == "s" or salir == "S")// Condicional if para salir
    {
        exit(1);
    }
    if (salir == "l" or salir == "L")// Condicional if para limpiar la pantalla 
    {
        system("cls");// Limpiador de pantalla
    }
    else// si no se cumple 
    {

        do
        {
            cout << " Hasta que numero quieres multiplicar \n"; cin >> maximo;

            cout << "\n Cual es la tabla que quieres hacer " ; cin >> tabla_numero;// Aquí creamos por medio de cin el valor para el tipo de tabla
            cout <<  endl << "\t\t\t\t\t\t\tHOLA DANIEL LA TABLA DEL " << tabla_numero << " ES" << endl << endl;
        }

        while (tabla_numero <= 0 or tabla_numero > maximo);
        {
           for (contador_tabla = 1; contador_tabla <= maximo; contador_tabla ++ )// Este bucle asigna el valor 1 a contador suma 1 cada vez
// y sale  al alcanzar el valor mayor introducido en la variable máximo
            {

            cout << "\t\t\t\t\t\t\t\t" << contador_tabla << " * " << tabla_numero << " = " << contador_tabla * tabla_numero << endl;
            }
        }
    }
}
system ("pause");// Pausa
return 0;