Dev - C++ - Generar Código Aleatorio

 
Vista:
sin imagen de perfil
Val: 21
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Generar Código Aleatorio

Publicado por Luis Fernandez (8 intervenciones) el 15/02/2019 15:28:59
Buenas

Me gustaría saber como generar un código aleatorio de dos cartas que las muestre y las sume, estas deberán de generarse del 01 al 1, con la posibilidad de que pueda agregar una adicional, para programar un juego de 21

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Generar Código Aleatorio

Publicado por Alfil (1444 intervenciones) el 15/02/2019 19:28:39
Los números aleatorios en C++ se consiguen mediante el uso de rand()

Primero se debe inicializar la semilla aleatoria, para ello utilizamos la hora actual lo cual garantiza la aleatoriedad.

srand(time(NULL));

La función rand() genera el número aleatorio

1
2
3
4
v1 = static_cast <float> (rand()) / static_cast <float> (RAND_MAX);  // v1 en el rango de 0 a 1
v2 = rand() % 100;         	// v2 en el rango de 0 a 99
v3 = rand() % 100 + 1;    	// v3 en el rango de 1 a 100
v4 = rand() % 30 + 1990;   	// v4 en el rango de 1990-2019

Aquí te dejo un ejemplo de uso

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int main() {
 
    float v1;
    int v2, v3, v4;
 
    srand (time(NULL));
 
    cout << "\nRango de 0 a 1:\n";
    for(int i = 1; i <= 100; i++){
        v1 = static_cast <float> (rand()) / static_cast <float> (RAND_MAX);
        cout << setprecision(2) << fixed << setw(7) << v1 << " ";
    }
 
    cout << "\n\nRango de 0 a 100:\n";
    for(int i = 1; i <= 100; i++){
        v2 = rand() % 100;
        cout << setw(4) << v2 << " ";
    }
 
    cout << "\n\nRango de 1 a 100:\n";
    for(int i = 1; i <= 100; i++){
        v3 = rand() % 100 + 1;
        cout << setw(4) << v3 << " ";
    }
 
    cout << "\n\nRango de 1990 a 2019:\n";
    for(int i = 1; i <= 100; i++){
        v4 = rand() % 30 + 1990;
        cout << setw(7) << v4 << " ";
    }
 
    cout << endl;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Generar Código Aleatorio

Publicado por Alfil (1444 intervenciones) el 16/02/2019 01:03:45
Juego de Cartas 21

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cctype>
 
using namespace std;
 
enum Estatus { CONTINUA, GANA, PIERDE };
Estatus estatusJuego;
 
int PedirCarta(){
    char opcion;
    int carta;
 
    carta =  1 + ( rand() % 11 );
 
    cout << "\nLa carta es: " << carta;
 
    return carta;
 
}
 
Estatus EstadoJuego( int &jugada ){
 
    char opcion;
 
    if ( jugada == 21 ) {
        estatusJuego = GANA;
        cout << "\nJugador Gana" << endl;
 
    } else if( jugada > 21 ) {
        estatusJuego = PIERDE;
        cout << "\nJugador Pierde" << endl;
 
    } else if( jugada < 21 ){
        cout << "\n\nOtra carta (S/N): ";
        cin >> opcion;
        if( toupper(opcion) == 'S') {
            estatusJuego = CONTINUA;
 
        } else {
            estatusJuego = PIERDE;
            cout << "\nBuen intento" << endl;
        }
    }
 
    return estatusJuego;
}
 
int main(){
 
    int jugada = 0;
    Estatus e;
 
    srand( time( NULL ) );
 
    //! Jugada inicial
    jugada = PedirCarta() + PedirCarta();
    cout << "\nPuntuación: " <<  jugada;
 
    e = EstadoJuego( jugada );
    while( e == CONTINUA ) {
        jugada += PedirCarta();
        cout << "\nPuntuación: " <<  jugada;
        e = EstadoJuego( jugada );
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 21
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Generar Código Aleatorio

Publicado por Luis (8 intervenciones) el 12/09/2019 02:47:15
un programa donde el usuario digite 15 números, debe de utilizar para esta
digitación la estructura de repetición o ciclo.
Conforme se van ingresando los números debe clasificar los números de acuerdo con 4
categorías:
• Los números que son múltiplos de 3
• Los números que son múltiplos de 5
• Los números que a la vez son múltiplos de 3 y 5
• Los números que no pertenecen a ninguna de esas categorías
Debe imprimir a cuál categoría pertenece cada número ejemplo:
Digite un número:
12
El número 12 es múltiplo de 3
Digite un número:
10
El número 10 es múltiplo de 5
Digite un número:
15
El número 15 es múltiplo de 3 y de 5
El programa se finaliza si digita el 68, esto antes de que se digiten los 15 números.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Generar Código Aleatorio

Publicado por dario (718 intervenciones) el 12/09/2019 03:46:54
Hola, prueba con esto.
Saludos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
 
using namespace std;
 
int main() {
    int m3; //multiplos de 3
    int m5; //multiplos de 5
    int m3y5; //multiplos de 3 y 5
    int num,i;
 
    for (i=1; i<=15; i++) {
        cout << "Digite un numero: ";
        cin >> num;
        if (num ==68)
            break;
        if ((num % 3 == 0) && (num % 5 == 0))
            cout << "El numero " << num << " es multiplo de 3 y de 5" << endl;
        else if (num % 3 == 0)
            cout << "El numero " << num << " es multiplo de 3" << endl;
        else if (num % 5 == 0)
            cout << "El numero " << num << " es multiplo de 5" << endl;
        else
            cout << "El numero " << num << " no pertenece a ninguna categoria" << endl;
    }
 
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar