Resultados 1 al 6 de 6

Juntar dos codigos C++

  1. #1 Juntar dos codigos C++ 
    Iniciado
    Fecha de ingreso
    Aug 2010
    Mensajes
    48
    Descargas
    1
    Uploads
    0
    Buenas, les presento mi duda en programación.

    Hace ya unos cuantos meses empece a aprender algo de programación en C++ (solo un par de semanas aprendiendo algo). El caso es que se me ha ocurrido juntar dos códigos para hacer una especie de juego de números en la consola, se trata de un randon y una calculadora.

    El objetivo de la unión de estos dos códigos es hacer un juego estilo, acierta la incógnita, donde se nos dará lo siguiente valor+acción+incógnita=valor y nos pedirá la incógnita, pondremos una valor y nos dirá si hemos acertado o no pongo un par de ejemplos:

    (pantalla) 2*?=8 ¿que valor tiene la incognita?
    (pulsamos en el teclado) 4
    (pantalla) correcto.

    (pantalla) 5-?=3 ¿que valor tiene la incógnita?
    (pulsamos en el teclado) 3
    (pantalla) te has equivocado, el valor era 2

    Código fuente de la calculadora.
    #include <iostream>
    #include <ctype.h> //Para usar la funcion toupper()

    #define SI 'Y'

    using namespace std;

    int main(){
    float a;
    int eleccion;
    int menu(float a);

    cout<<"---------------------------------------------------------------<<endl;
    cout<<"| Calculadora basica en C++|"<<endl;
    cout<<"---------------------------------------------------------------<<endl;
    while(1){
    cout<<"Introducir un numero mayor a 5 o menor a 1 para finalizar el programa"<<endl;
    cout<<"\n\nIntroduce el primer valor: ";
    cin>>a;
    cout<<"\n\n";
    eleccion = menu(a);
    if (eleccion == 0) break;
    }

    return 0;
    }

    int menu(float a){
    int accion, nada, i = 0;
    char eleccion;
    float b, resultado;
    float computarresultado(int accion, float a, float b);

    while (1){
    cout<<"\n\nTipos de acciones"<<endl;
    cout<<"- 1.)Sumar"<<endl;
    cout<<"- 2.)Restar"<<endl;
    cout<<"- 3.)Multiplicar"<<endl;
    cout<<"- 4.)Dividir"<<endl;
    cout<<"- 5.)Resultado"<<endl;
    cout<<"-Numero fuera de rango para parar"<<endl;
    cout<<"\nSeleccione la accion a realizar: ";
    cin>>accion;
    if (accion == 5){
    cout<<"\n\nEl resultado es"<<resultado<<endl;
    cout<<"\nDesea seguir computando calculos? (Y/N): ";
    cin>>eleccion;
    cout<<"\n\n";
    if (toupper(eleccion) == SI)
    return(eleccion = 1);
    else
    accion == 111;
    }
    if (accion < 1 || accion > 5){
    cout<<"\n\nFin del programa. Gracias por utilizarme"<<endl;
    cin>>nada;
    return 0;
    }
    cout<<"\nIntroduce el segundo valor"<<endl;
    cin>>b;
    if (i == 0) {
    resultado = computarresultado(accion, a, b);
    i = 1;
    }
    else
    resultado = computarresultado(accion, resultado, b);
    cout<<"\nEl resultado actual es: "<<resultado<<endl;
    }
    return 0;
    }


    float computarresultado(int accion, float a, float b){
    switch(accion){
    case 1:
    return(a + b);
    case 2:
    return(a - b);
    case 3:
    return(a * b);
    case 4:
    if (b == 0){
    cout<<"\n\nNo se puede dividir entre 0, por favor, vuelva a intentarlo"<<endl;
    return(a);
    }
    return(a / b);
    }
    }
    Código fuente del randon.
    #include <iostream>
    #include <cstdlib>
    #include <ctime>

    using namespace std;

    int main() {
    int i;

    srand((unsigned)time(NULL));

    for (i=0; i<2; i++) {
    cout << (rand()%100) << endl;
    }
    return 0;
    }
    Citar  
     

  2. #2  
    Moderador HH
    Fecha de ingreso
    Sep 2003
    Mensajes
    1.384
    Descargas
    21
    Uploads
    5
    Bueno.... cual es la duda?
    - Me desagrada
    - ¿Por qué?
    - No estoy a su altura.
    ¿Ha respondido así alguna vez un hombre?

    Friedrich Nietzsche



    Citar  
     

  3. #3  
    Moderador HH
    Fecha de ingreso
    Mar 2003
    Ubicación
    Galiza
    Mensajes
    3.919
    Descargas
    8
    Uploads
    1
    lo que tienes que hacer es dejar un solo main y el otro combertirlo en una función y listo.
    He conocido muchos dioses. Quien niegue su existencia está tan ciego como el que confía en ellos con una fe desmesurada. Robert E. Howard
    La suerte ayuda a la mente preparada.
    Citar  
     

  4. #4 La duda 
    Iniciado
    Fecha de ingreso
    Aug 2010
    Mensajes
    48
    Descargas
    1
    Uploads
    0
    Como consigo asignar los valores del randon a los valores que pide la calculadora
    Citar  
     

  5. #5  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.596
    Descargas
    58
    Uploads
    0
    haciendo el operador "mod"... es decir, dividir entre el valor máximo dentro del rango de números aleatorios y quedarte con el resto de la división, esto es:

    rand() % RANGO_MAXIMO;

    Si te fijas en el código, se hace:

    cout << (rand()%100) << endl;

    Que quiere decir, que el resultado estará comprendido entre 0 y 99.

    Sustituye el 100 por el valor que quieras, y significará que el resultado del número aleatorio obtenido será entre 0 y ese valor.

    Un saludo.
    El optimista tiene ideas, el pesimista... excusas

    Citar  
     

  6. #6  
    Iniciado
    Fecha de ingreso
    Aug 2010
    Mensajes
    48
    Descargas
    1
    Uploads
    0
    Cita Iniciado por hystd Ver mensaje
    Sustituye el 100 por el valor que quieras, y significará que el resultado del número aleatorio obtenido será entre 0 y ese valor.
    Tendré que usar dos randon, uno para los valores entre 0 y 99 y otro que me de valores entre 0 y 3 para generar la acción aleatoria (ademas de hacer un pequeño cambio en el código de la calculadora)

    Gracias
    Citar  
     

Temas similares

  1. codigos
    Por higinovsc en el foro DIGITAL+
    Respuestas: 0
    Último mensaje: 14-09-2006, 09:56
  2. Codigos
    Por manin en el foro DIGITAL+
    Respuestas: 4
    Último mensaje: 03-08-2006, 09:08
  3. facilitar codigos para desbloquear codigos
    Por ralsina en el foro TELEFONIA
    Respuestas: 2
    Último mensaje: 02-04-2006, 20:53
  4. codigos via
    Por santiago en el foro DIGITAL+
    Respuestas: 1
    Último mensaje: 26-03-2002, 23:30
  5. ya me van los codigos XD
    Por _ledo_ en el foro DIGITAL+
    Respuestas: 0
    Último mensaje: 14-02-2002, 10:03

Marcadores

Marcadores