Resultados 1 al 10 de 10

Programa en C++ (AYUDA)

  1. #1 Programa en C++ (AYUDA) 
    Avanzado
    Fecha de ingreso
    Sep 2007
    Ubicación
    Dando vueltas en el Astra
    Mensajes
    213
    Descargas
    0
    Uploads
    0
    Hola amigos, tengo un gran problema, tengo k realizar este trabajo libre pasandolo a funciones en c++, pero no tengo ni idea, hice un trabajo k te hace una ecuacion de segundo grado y lo he pasado a funciones, pero este trabajo no se hacerlo.
    Código:
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    
    main()
    {
          int a,cond=1,z=1;
          while(z==1){    
          
          printf("¿Quien quiere ser millonario?\n");
          printf("=============================\n\n");
          printf("Contesta correctamente a estas 10 preguntas y llevate medio millon de Euros\n");
          
          printf("Pregunta 1: Equipo con mas Copas de Europa \n\n");
          printf("1. Barcelona\t2. Real Madrid\n3. Valencia\t4. Milan AC\n");
          scanf("%d",&a);
          if(a!=2){
                  printf("\nLo sentimos\n");
                  cond=0;
                  }
          if(a==2){
                   printf("\nCorrecto\nYa tienes 1000 Euros\n\n");
                   
                   
                   printf("Pregunta 2: Actual Entrenador del Madrid\n\n");
                   printf("1. Clemente\t2. Rijkaard\n3. Bernd Schuster\t4. Tomas Guasch\n");
                   scanf("%d",&a);
                   }
                  
                  if(a!=3 ){
                            printf("\nLo sentimos\n");
                            cond=0;
                            }
                   if(a==3 && cond==1){
                           printf("\nCorrecto\nYa tienes 2000 Euros\n\n");       
                           printf("Pregunta 3: Cuantas Copas de Europa tiene el Barcelona\n");
                           printf("1. 5\t2. 3\n3. 9\t4. 2\n");
                           scanf("%d",&a);
                           if(a!=4){
                                    printf("\nLo sentimos\n");
                                    cond=0;
                                    }
                           if(a==4 && cond==1){
                                    printf("\nCorrecto\nYa tienes 5000 Euros\n\n");
                                    printf("Pregunta 4: ¿Y el Madrid?\n");
                                    printf("1.9\t2. 7\n3. 6\t4. 10\n");
                                    scanf("%d",&a);
                                    if(a!=1){
                                             printf("\nLo sentimos\n");
                                             cond=0;
                                             }
                                    if(a==1 && cond==1){
                                             printf("\nCorrecto\nYa tienes 10000 Euros\n\n");
                                             printf("Pregunta 5: Diario deportivo del Madrid\n");
                                             printf("1. AS\t2. Sport\n3. ElMundoDeportivo\t4. EL ABC\n");
                                             scanf("%d",&a);
                                             if(a!=1){
                                                      printf("\nLo sentimos\n");
                                                      cond=0;
                                                      }
                                             if(a==1 && cond==1){
                                                      printf("\nCorrecto\nYa tienes 20000 Euros\n\n");
                                                      printf("Pregunta 6: Que futbolista es conocido como la Pulga?\n");
                                                      printf("1. Rivaldo\t2. Platini\n3. Messi\t4. Lebron James\n");
                                                      scanf("%d",&a);
                                                      if(a!=3){
                                                               printf("\nLo sentimos\n");
                                                               cond=0;
                                                               }
                                                      if(a==3 && cond==1){
                                                               printf("\nCorrecto\nYa tienes 40000 Euros\n\n");
                                                               printf("Pregunta 7:Cuantos mundiales tiene Brasil?\n");
                                                               printf("1. 4\t2. 5\n3. 2\t4.6\n");
                                                               scanf("%d",&a);
                                                               if(a!=2){
                                                                        printf("\nLo sentimos\n");
                                                                        cond=0;
                                                                        }
                                                               if(a==2 && cond==1){
                                                                        printf("\nCorrecto\nYa tienes 80000 Euros\n\n");
                                                                        printf("Pregunta 8: Quienes son los Maximos Goleadores de La Champions?\n");
                                                                        printf("1. Messi y Kakat2. Zidane y Ronaldo\n3. Raul y Ruud\t4.Pirlo y Ronaldo\n");
                                                                        scanf("%d",&a);
                                                                        if(a!=3){
                                                                                 printf("\nLo sentimos\n");
                                                                                 cond=0;
                                                                                 }
                                                                        if(a==3 && cond==1){
                                                                                 printf("\nCorrecto\nYa tienes 160000 Euros\n\n");
                                                                                 printf("Pregunta 9: ¨En que a¤o entreno Alfredo di Estefano al Real Madrid?\n");
                                                                                 printf("1. 1990\t2. 1975\n3. 1984\t4. 1995\n");
                                                                                 scanf("%d",&a);
                                                                                 if(a!=3){
                                                                                          printf("\nLo sentimos\n");
                                                                                          cond=0;
                                                                                          }
                                                                                 if(a==3 && cond==1){
                                                                                          printf("\nCorrecto\nYa tienes 340000 Euros\n\n");
                                                                                          printf("Pregunta 10: Como se llama el estadio del Barcelona?\n");
                                                                                          printf("1. Bernabeu\t2. Camp Nou\n3. Calderon\t4. El Sardinero\n");
                                                                                          scanf("%d",&a);
                                                                                          if(a!=2){
                                                                                                   printf("\nLo sentimos\n");
                                                                                                   cond=0;
                                                                                                   }
                                                                                          if(a==2 && cond==1){
                                                                                                   printf("\nCorrecto\nHas ganado el medio millon de euros, ya puedes irte a tu casa\n\n");
                                                                                                   }
                                                                                          }
                                                                                 }
                                                                        }
                                                               }
                                                      }
                                             }
                                    }
                           }   
                           
                 printf("Si desea seguir intentandolo pulsa 1,sino pulsa 0\n");
                 scanf("%d",&z);          
          }           
                                                                            
          system("pause");
          
    }
    Haber si me pasais el codigo o lo k tengo k hacer, pero intentar ser lo mas preciso posible.


    GRACIAS AMIGOS
    Citar  
     

  2. #2  
    Moderador HH
    Fecha de ingreso
    Feb 2002
    Ubicación
    México
    Mensajes
    1.156
    Descargas
    4
    Uploads
    0
    Es muy interesante convertir ese programa de una sola funcion main a varias funciones, quedaría un código mucho más limpio reducido. Podría ponerme a trabajar en tu programa y darte la respuesta, pero eso no ayudaría en nada, lo mejor es que lo resuelvas tú mismo, puesto que sólo así puedes aprender y resolver problemas más complejos en un futuro.

    Esfuerzate en crear tu mismo el programa necesario y postear dudas puntuales en este foro, si en verdad quieres aprender no nos pidas que hagamos tu tarea, pero si no quieres aprender, estas en el foro equivocado.

    Saludos
    Mientras el mundo permanezca no acabarán la fama y la gloria de México-Tenochtitlan
    Citar  
     

  3. #3  
    Avanzado
    Fecha de ingreso
    Apr 2003
    Mensajes
    173
    Descargas
    0
    Uploads
    0
    Hola flatron, nuestro querido Giskard tiene razon, yo estoy en tu situacion muchas veces. C++ tiene funcionalidades muy potentes pero cuesta entenderlas, como dice el moderador es mejor que tu lo aprendas o nunca sabras manejar un lenguaje orientado a objetos. Para empezar pillate un buen libro de c++, el de "la biblia de c++" creo recordar, es bastante intuitivo, sino tienes muchos manuales en internet, como por ejemplo: http://mat21.etsii.upm.es/ayudainf/aprendainf/Cpp/manualcpp.pdf
    No te agobies con lenguajes orientados a objetos, simplemente tienes que tener clara un poco de teoria sobre ¿Que es un objeto,metodo,atributo? una vez conseguido te sera mas facil. Te encontraras la dificultad que en internet pocos codigos estan bien echos, me refiero, separado en .cpp del .h del main.cpp, esto dificulta el trabajo.
    C++ tiene la particularidad de usar mis amados punteros..., lo cual le da potencia, java los gestiona internamente.
    Echando una ojeada a tu programa por encima puedes tener 1 clase que te gestione las preguntas y otra clase que gestione las respuestas, por ejemplo, toda la repeticion de bucles if, lo puedes evitar con una clase que le pases el resultado y sea la misma funcon, generalizada para cualquier tipo de resultado quien lo resuelva.
    Si realmente quieres aprender hazlo tu solo y postea en el foro los fallos puntuales que no has sido capaz de superar.
    Animo
    No hay 2 sin 3, siguiendo lo conseguire
    Citar  
     

  4. #4  
    Avanzado
    Fecha de ingreso
    Jun 2006
    Mensajes
    1.462
    Descargas
    15
    Uploads
    0
    ¿Has probado el visual basic? Porque para entender c++ deberías de empezar por él:

    Visual Basic -> C -> C++

    Ahí arriba está la escala de la programación mundial
    Citar  
     

  5. #5  
    Moderador HH
    Fecha de ingreso
    Feb 2002
    Ubicación
    México
    Mensajes
    1.156
    Descargas
    4
    Uploads
    0
    Cita Iniciado por Nost Ver mensaje
    ¿Has probado el visual basic? Porque para entender c++ deberías de empezar por él:

    Visual Basic -> C -> C++
    No entiendo qué tiene que ver visual basic con C o C++.

    Saludos.
    Mientras el mundo permanezca no acabarán la fama y la gloria de México-Tenochtitlan
    Citar  
     

  6. #6  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.596
    Descargas
    58
    Uploads
    0
    Buenas! Existe un amplio abanico de posibilidades para enfocar este problema... Lo primero es plantearse usar un tipo de datos para usar en el programa y así poder llamarlos desde las funciones que quieres implementar.

    Una opción sería por ejemplo almacenar en un fichero de texto plano .txt todas las preguntas con las respuestas, de manera indexada. Utilizando esta posibilidad el prototipo de la función sería pasarle el fichero con preguntas, un índice que empieza en 0 y se incrementa según si la respuesta es acertada o no, y devuelve un entero (0 o 1) si la respuesta introducida es correcta, si es correcta incrementamos el índice para acceder a la siguiente pregunta del fichero.

    int pregunta (FILE *f, int cont){
    ...
    }


    Esta función podría llamarse de forma recursiva...

    Otra opción si por ejemplo hablamos de un lenguaje orientado a objetos sería crear una clase "pregunta", cuyos atriutos podrían ser: una cadena, que contiene la pregunta, otra para la respuesta, y un entero para ver por qué "nivel" vamos. Por cada acierto crearíamos un nuevo objeto de tipo pregunta. El costructor es evidente que le pasaríamos como parámetro el entero "contador" para saber qué tipo de pregunta hacer.

    La clave está en saber cómo se van a organizar los datos en el programa... para así utilizarlos en las funciones... una vez sabido ésto el prototipo de las funciones a implementar y el código de éstas salen sólos...

    Un saludo y Felices Fiestas.
    Citar  
     

  7. #7  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.596
    Descargas
    58
    Uploads
    0
    Por cierto, en cuanto a usar VB para entender C++ no le veo la lógica... cada uno es más útil que otro en diferentes campos... según el tipo de programa y los objetivos a cumplir se usará uno u otro.

    Saludos
    Citar  
     

  8. #8  
    Medio
    Fecha de ingreso
    Jan 2006
    Mensajes
    98
    Descargas
    0
    Uploads
    0
    C++ no es orientado a objetos completamente así que cuando habla de hacer funciones me parece que se refiere a eso: usar funciones. Para ello puedes usar el paradigma de programación estructurada que es lo que me parece que estas haciendo ya, flatron, pero estructurando mejor el programa.
    Por cierto, lo de usar ficheros me parece excesivo porque según el código me parece que es un inicio a c++.
    Prvo nauci milslit, poslije programiraj.
    Citar  
     

  9. #9  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.596
    Descargas
    58
    Uploads
    0
    Buenas! como ya dije, lo primero es saber ordenar y estructurar la información... esto es primordial a la hora de saber resolver cualquier problema, en definitiva de eso se trata la informática en general

    Saludos
    Citar  
     

  10. #10  
    Moderador HH
    Fecha de ingreso
    Mar 2003
    Ubicación
    Galiza
    Mensajes
    3.919
    Descargas
    8
    Uploads
    1
    Flatron como estoy totalmente de acuerdo con lo que te dijo Giskard no te hare el programa, pero también es cierto que te dieron un montón de buenas respuestas, pero no respondieron a tu pregunta. Por ello te voy a dar un solo ejemplo, estudialo y verás que tu problema es muy sencillo:

    Tu código:
    printf("¿Quien quiere ser millonario?\n");
    printf("=============================\n\n");
    printf("Contesta correctamente a estas 10 preguntas y llevate medio millon de Euros\n");
    Ese código como una función:

    void imprimirCabecera() {
    printf("¿Quien quiere ser millonario?\n");
    printf("=============================\n\n");
    printf("Contesta correctamente a estas 10 preguntas y llevate medio millon de Euros\n");
    }
    Y en donde iva estas lineas en el main ahora deberias poner:
    imprimirCabecera();
    Es cierto que las demás funciones son más complejas, pero modificando ligeramente el código verás que son igualmente simples. Por ejemplo, haces una función por pregunta que devuelva -1 si la falla y 1 si acierta, haciendo en el main un código similar a este (este es solo un esquema sincillo, deberías hacer algo mejor):
    i=1;
    while (i<11) {
    switch (i) {
    case 1: if (pregunta1()> 0) {
    i+=1;
    } else {
    i=-1;
    }
    break;
    2: if (pregunta2()> 0) {
    i+=1;
    } else {
    i=-1;
    }
    break;

    ...
    10: if (pregunta10()> 0) {
    i+=1;
    printf("\nCorrecto\nHas ganado el medio millon de euros, ya puedes irte a tu casa\n\n");
    } else {
    i=-1;
    }
    break;
    default: if (funcionDeseaContinuar()) {
    i=1;
    } else {
    i=11;
    }
    }
    }
    Si no entendiste algo avisa, será un placer ayudarte.

    Un Saludo

    PD: deberías dar las gracias a Giskard, porque es muy fácil dar una solución a un problema puntual, o como hice yo una orientación de la solución, pero no tanto dar un buen consejo, hay gente que paga mucho dinero por que le dean consejos.
    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  
     

Temas similares

  1. Ayuda Programa CMD
    Por somadarkcruz en el foro GENERAL
    Respuestas: 1
    Último mensaje: 03-02-2016, 20:48
  2. Ayuda con programa
    Por christian_79 en el foro GENERAL
    Respuestas: 1
    Último mensaje: 28-12-2013, 20:51
  3. ayuda programa en C!!!
    Por a_itt en el foro PROGRAMACION DESKTOP
    Respuestas: 3
    Último mensaje: 05-10-2007, 00:14
  4. Ayuda con programa en VB
    Por martinss en el foro PROGRAMACION DESKTOP
    Respuestas: 2
    Último mensaje: 29-03-2006, 17:22
  5. Ayuda con 1 programa
    Por dares6 en el foro APLICACIONES
    Respuestas: 10
    Último mensaje: 13-12-2004, 02:27

Marcadores

Marcadores