En este tutorial veremos cómo generar números aleatorios en el lenguaje de programación C++, ya sea sin ciclos o con ciclos. En este ejemplo se utilizó el compilador WxDevC++ pero puedes utilizar el de tu preferencia.
Generar números aleatorios en C++ sin ciclos
Con el siguiente código puedes generar un número aleatorio entre 1 y 100:
#include <iostream>
#include <cstdlib> // Se incluye la biblioteca para generar numeros aleatorios
#include <ctime> // Se incluye la biblioteca para obtener la hora actual
#include <stdlib.h> // Se incluye la biblioteca para utilizar comandos del sistema
int main() {
// Generamos una semilla para la generación de números aleatorios
std::srand(std::time(0));
// Generamos un número aleatorio entre 1 y 100
int numeroAleatorio = std::rand() % 100 + 1;
// Mostramos el número aleatorio en pantalla
std::cout << "Numero aleatorio: " << numeroAleatorio << std::endl;
system ("PAUSE()");
return 0;
}
El código es muy sencillo y se puede saber qué hace cada línea de código con los comentarios, pero para resumir, se crea la variable numeroAleatorio de tipo entero, donde se almacenará el número aleatorio generado entre 1 y 100. Después, se mostrará en la pantalla el número y se hará una pausa para que no se cierre la ventana hasta que el usuario presione cualquier tecla.
Generar números aleatorios con un ciclo While
El siguiente código generará un número aleatorio entre 1 y 100, pero a diferencia del código anterior, se usa un ciclo while para mantener el programa en ejecución, generando números aleatorios hasta que el usuario decida salir:
#include <iostream>
#include <cstdlib> // Se incluye la biblioteca para generar números aleatorios
#include <ctime> // Se incluye la biblioteca para obtener la hora actual
int main() {
// Generamos una semilla para la generación de números aleatorios
std::srand(std::time(0));
char opcion;
while (true) {
// Generamos un numero aleatorio entre 1 y 100
int numeroAleatorio = std::rand() % 100 + 1;
// Mostramos el numero aleatorio en pantalla
std::cout << "Numero aleatorio: " << numeroAleatorio << std::endl;
// Pedimos al usuario que ingrese una opción para continuar o salir del ciclo
std::cout << "¿Deseas generar otro numero aleatorio? (s/n): ";
std::cin >> opcion;
if (opcion != 's' && opcion != 'S') {
break; // Salir del ciclo si la opción no es 's' o 'S'
}
}
return 0;
}
Con este programa, se genera un número aleatorio entre 1 y 100, al mostrarlo en la pantalla, se pide al usuario que elija entre crear otro número o presionar otra tecla para salir.
Generar números aleatorios usando ciclo do while y función switch case
Con el siguiente código, se utiliza un ciclo do while donde se anida una estructura switch case para mostrar un menú con 2 opciones; generar otro número o salir:
#include <iostream>
#include <cstdlib> // Se incluye la biblioteca para generar números aleatorios
#include <ctime> // Se incluye la biblioteca para obtener la hora actual
// Función para generar y mostrar un número aleatorio
void generarNumeroAleatorio() {
// Generamos un número aleatorio entre 1 y 100
int numeroAleatorio = std::rand() % 100 + 1;
// Mostramos el número aleatorio en pantalla
std::cout << "Numero aleatorio: " << numeroAleatorio << std::endl;
}
int main() {
// Generamos una semilla para la generación de números aleatorios
std::srand(std::time(0));
char opcion;
do {
// Menu de opciones
std::cout << "1. Generar numero aleatorio" << std::endl;
std::cout << "2. Salir" << std::endl;
std::cout << "Ingrese una opcion: ";
std::cin >> opcion;
// Realizamos una acción según la opción seleccionada
switch (opcion) {
case '1':
generarNumeroAleatorio();
break;
case '2':
std::cout << "Saliendo del programa..." << std::endl;
break;
default:
std::cout << "Opcion invalida. Intente nuevamente." << std::endl;
}
std::cout << std::endl; // Salto de línea
} while (opcion != '2');
return 0;
}
Este código involucra un ciclo do while y una estructura switch case, además de utilizar una función. Se crea una función llamada generarNumeroAleatorio en la que se crea un número aleatorio entre 1 y 100 y se almacena en la variable de tipo entero numeroAleatorio.
Posteriormente, con un ciclo do while, se muestra el menú de opciones, con la estructura switch case se elije el caso respectivo a lo que el usuario ingrese, ya sea 1, 2 o cualquier otra tecla. Para el caso del 1, se llama a la función generarNumeroAleatorio y se muestra en pantalla, además de desplegar nuevamente el menú, con la opción 2 se cierra el programa, y si se presiona cualquier otra tecla, aparece un mensaje de error.
El ciclo se repite con un while mientras el usuario ingrese una opción distinta a 2.
Si requieres algún programa en específico, no dudes en contactarnos aquí para una cotización.
Si tienes alguna duda o comentario sobre estos programas, déjala aquí abajo para debatirlo!