elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Me ayudais con esta funcion?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Me ayudais con esta funcion?  (Leído 1,441 veces)
GominaTilted

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Me ayudais con esta funcion?
« en: 9 Enero 2019, 19:24 pm »

Buenas, se supone que esta funcion tiene que mostrar los libros de una struct entre dos fechas introducidas por el usuario:

Código
  1. void MostrarLibrosFechas (Libros libros)
  2.    {
  3.        Fecha fm, fM;
  4.        Libro lib;
  5.        int i = 1;
  6.  
  7.        cout << "Escribe la fecha menor: " << endl << endl;
  8.  
  9.        fm = PedirFecha ();
  10.  
  11.        cout << "Escribe la fecha mayor: " << endl << endl;
  12.  
  13.        fM = PedirFecha ();
  14.  
  15.        for (int j = 0; j <= libros.num; j++)
  16.        {
  17.            if (fm.anyo >= libros.vect[j].fecha.anyo && fM.anyo <= libros.vect[j].fecha.anyo)
  18.            {
  19.            cout << "Libro " << i << " : " << endl << endl;
  20.                lib = libros.vect[j];
  21.                MostrarLibro (lib);
  22.  
  23.                i++;
  24.            }
  25.  
  26.            else if (fm.anyo == libros.vect[j].fecha.anyo)
  27.            {
  28.                if (fm.mes >= libros.vect[j].fecha.mes)
  29.                {
  30.                    cout << "Libro " << i << " : " << endl << endl;
  31.                    lib = libros.vect[j];
  32.                    MostrarLibro (lib);
  33.  
  34.                    i++;
  35.                }
  36.  
  37.                else if (fm.mes == libros.vect[j].fecha.mes)
  38.                {
  39.                    if (fm.dia >= libros.vect[j].fecha.dia)
  40.                    {
  41.                    cout << "Libro " << i << " : " << endl << endl;
  42.                        lib = libros.vect[j];
  43.                        MostrarLibro (lib);
  44.  
  45.                        i++;
  46.                    }
  47.                }
  48.            }
  49.  
  50.            else if (fM.anyo == libros.vect[j].fecha.anyo)
  51.            {
  52.                if (fM.mes <= libros.vect[j].fecha.mes)
  53.                {
  54.                        cout << "Libro " << i << " : " << endl << endl;
  55.                        lib = libros.vect[j];
  56.                        MostrarLibro (lib);
  57.  
  58.                        i++;
  59.                }
  60.  
  61.                else if (fM.mes == libros.vect[j].fecha.mes)
  62.                {
  63.                    if (fM.dia <= libros.vect[j].fecha.dia)
  64.                    {
  65.                    cout << "Libro " << i << " : " << endl << endl;
  66.                        lib = libros.vect[j];
  67.                        MostrarLibro (lib);
  68.  
  69.                        i++;
  70.                    }
  71.                }
  72.            }
  73.     }
  74.  
  75.     return;
  76. }
  77.  

Por si alguien lo quiere ver, los struct son:

Código
  1. struct Fecha
  2. {
  3.    int dia,mes,anyo;
  4.    };
  5.  
  6. struct Libro
  7. {
  8. Fecha fecha;
  9.    string titulo, autor;
  10.    float precio;
  11.    };
  12.  
  13.    const string NOM_FICH="PracticaFinal_opcion1.libros.dat";
  14.    const int MAX=2000;
  15.    typedef Libro VecLibros[MAX];
  16.  
  17.    struct Libros
  18. {
  19.    int num;
  20.    VecLibros vect;
  21.    };
  22.  

La funcion PedirFecha()

Código:
Fecha PedirFecha ()
    {
        Fecha fecha;
        
        cout << " Dia: ";
        cin >> fecha.dia;
        cout << endl;
        cout << " Mes: ";
        cin >> fecha.mes;
        cout << endl;
        cout << " Anyo: ";
        cin >> fecha.anyo;
        cout << endl;
        
        return fecha;
    }

Y por ultimo la funcion MostrarLibro:

Código:
void MostrarLibro (Libro libro)
{
     cout << "  Titulo del libro:";
        cout << libro.titulo;
        cout << endl;
        cout << "  Nombre del autor:";
        cout << libro.autor;
        cout << endl;
        cout << "  Precio de adquisicion:";
        cout << libro.precio;
        cout << endl;
        cout << "    Dia de compra:";
        cout << libro.fecha.dia;
        cout << endl;
        cout << "    Mes de compra:";
        cout << libro.fecha.mes;
        cout << endl;
        cout << "    Anyo de compra:";
        cout << libro.fecha.anyo << endl << endl;
        
        return;
    }


« Última modificación: 9 Enero 2019, 23:23 pm por simorg » En línea

CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: Me ayudais con esta funcion?
« Respuesta #1 en: 9 Enero 2019, 21:03 pm »

El primer if parece tener las condiciones al reves


« Última modificación: 10 Enero 2019, 00:00 am por CalgaryCorpus » En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
GominaTilted

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Me ayudais con esta funcion?
« Respuesta #2 en: 9 Enero 2019, 22:32 pm »

El primer of parece tener las condiciones al reves
Efectivamente xD. Además tenía que añadir varias condiciones más, un poco raro.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
es conveniente esta funcion?
Programación Visual Basic
elmaro 2 2,023 Último mensaje 15 Agosto 2006, 22:46 pm
por andoba
Que error hay en esta funcion php?
PHP
Alex_bro 4 2,191 Último mensaje 3 Septiembre 2007, 15:39 pm
por Alex_bro
me gustaria q me revisaran esta funcion recursiva y m dijeran si esta bien
Programación C/C++
eduardo17445 5 4,194 Último mensaje 2 Noviembre 2012, 05:16 am
por eduardo17445
quisiera q me dijeran como esta esta funcion recursiva
Programación C/C++
eduardo17445 7 3,802 Último mensaje 2 Noviembre 2012, 19:20 pm
por flony
diganme si esta funcion recursiva esta bien devc++
Programación C/C++
eduardo17445 4 2,842 Último mensaje 24 Abril 2013, 04:00 am
por 85
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines