Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/07/2011, 12:43
Avatar de baker1562
baker1562
 
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 8 meses
Puntos: 9
Pregunta Rastreo y muestreo de dato en un arreglo

Hola, tengo un problemita y desearia que me ayudaran, en el case 4 del programa, tengo que ingresar el ID de una persona(previamente se tuvo que haber guardado,en la opcion 1, la de los socios), si se indentifica muestra a quien el nombre de la persona, y si no muestra que no existe un ID asi en memoria, y no lo he podido hacer, y ademas me sale un error en una variable al final del programa y no he podido comprobar si funciona, alguien que me AYUDEEE!!

Código C++:
Ver original
  1. #include <iostream>
  2. #include <iomanip>
  3.  
  4. using namespace std;
  5.  
  6.  typedef struct{
  7.     int ISBN;
  8.     char nombre_libro[100];
  9.     char editorialfadeIn[100];
  10.     int numero_edicionfadeIn;
  11.     char autorfadeIn[100];
  12.     int identificadorfadeIn;
  13.     char nombrefadeIn[100];
  14.     char apellidosfadeIn[100];
  15.     int fecha_registrofadeIn;
  16.     int estadofadeIn;
  17.  } datos_libros;
  18.  
  19.  
  20.  int buscar(datos_libros vector[],int longitud, int valor){
  21.  
  22.    for(int i=0;i<longitud;i++){
  23.       if (vector[i].ISBN == valor)
  24.           return i;
  25.    }
  26.    return -1;
  27.  }
  28.  
  29.  
  30. int main ()
  31. {
  32.    
  33.     datos_libros libros[4];
  34.     int opcion;
  35.     int i = 0;
  36.     int j = 0;
  37.     int z;
  38.     int y;
  39.     int ISBN=0;
  40.     int socio;
  41.     int k;
  42.     int x;
  43.     int ID;
  44.     string respuesta;
  45.    
  46.    
  47.     while(respuesta!="N" && respuesta!="n")
  48.     {
  49.        system("color 0f");
  50.        cout<<"******Biblioteca Publica^El Raton Feliz^******"<<endl;
  51.        cout<<endl;
  52.        cout<<"Digite #1, para ingresar nuevo socio."<<endl;
  53.        cout<<"Digite #2, para cambiar estado del socio."<<endl;
  54.        cout<<"Digite #3, para ingresar nuevo libro."<<endl;
  55.        cout<<"Digite #4, para prestar libro."<<endl;
  56.        cout<<"Digite #5, pàra recibir libro."<<endl;
  57.        cout<<"Digite #6, para desplegar lista de libros."<<endl;
  58.        cout<<"Digite #7, para desplegar lista de socios."<<endl;
  59.        cout<<"Digite #8, para desplegar lista de libros prestados actualmente"<<endl;
  60.        cout<<endl;
  61.        cout<<"Que opcion desea realizar?"<<endl;
  62.        cin>>opcion;
  63.        system("cls");
  64.        
  65.        
  66.         switch(opcion){
  67.              
  68.          case 1:
  69.               if(i<4)
  70.               {
  71.               cout<<"******Ingreso de nuevo socio******"<<endl;
  72.               cout<<endl;
  73.               cout<<"Ingrese nombre del socio # "<<i<<":"<<endl;
  74.               cin>>libros[i].nombrefadeIn;
  75.               cout<<endl;
  76.               cout<<"Ingrese apellidos del socio:"<<endl;
  77.               cin>>libros[i].apellidosfadeIn;
  78.               cout<<endl;
  79.               cout<<"Ingrese cedula:"<<endl;
  80.               cin>>libros[i].identificadorfadeIn;
  81.               cout<<endl;
  82.               cout<<"Ingrese fecha de registro:(formato dd/mm/aaaa)"<<endl;
  83.               cin>>libros[i].fecha_registrofadeIn;
  84.               cout<<endl;
  85.               cout<<"Ingrese #1 para usuario activo o ingreso #2 para usuario inactivo:"<<endl;
  86.               cin>>libros[i].estadofadeIn;
  87.               cout<<endl;
  88.               system("cls");
  89.               if(libros[i].estadofadeIn==1)
  90.               {
  91.                 system("color 0e");
  92.                 cout<<"El socio de nombre "<<libros[i].nombrefadeIn<<" esta activo!!!"<<endl;
  93.                 system("pause");
  94.                 system("cls");
  95.                 }
  96.                 else
  97.                 {
  98.                     system("color 0e");
  99.                     cout<<"El socio de nombre "<<libros[i].nombrefadeIn<<" esta inactivo!!!"<<endl;
  100.                     system("pause");
  101.                     system("cls");
  102.                     }
  103.                     cout<<endl;
  104.               i=i+1;
  105.               }
  106.               else
  107.               {  
  108.                   system("color 4e");
  109.                   cout<<"ERROR/No se pueden ingresar mas datos/Memoria de socios llena"<<endl;
  110.               system("pause");
  111.                }
  112.                break;
  113.                
  114.                case 2:
  115.                     cout<<"*******Cambio de estado de los socios******"<<endl;
  116.                     cout<<endl;
  117.                     cout<<"Ingrese numero de socio(valido de 0 a 3)"<<endl;
  118.                     cin>>socio;
  119.                     cout<<endl;
  120.                     k=socio;
  121.                     if(k>3)
  122.                     {
  123.                            system("cls");
  124.                            system("color 0b");
  125.                            cout<<"ERROR//Numero de socio inexistente//Ingrese un numero de socio valido!!!"<<endl;
  126.                            cout<<endl;
  127.                            system("pause");
  128.                            system("cls");
  129.                            
  130.                            break;
  131.                            }
  132.                     if(libros[k].estadofadeIn==1)
  133.                     {
  134.                        cout<<"El socio #"<<k<<" de nombre: "<<libros[k].nombrefadeIn<<" se encuentra activo"<<endl;
  135.                        cout<<endl;
  136.                        cout<<"Para cambia el estado del socio a inactivo, presione #2!!"<<endl;
  137.                        cin>>libros[k].estadofadeIn;
  138.                        cout<<endl;
  139.                        cout<<"Cambio de estado del socio a inactivo, fue hecho satisfactoriamente!!"<<endl;
  140.                        system("pause");
  141.                        system("cls");
  142.                        }
  143.                        else
  144.                        {
  145.                            cout<<"El socio #"<<k<<" de nombre: "<<libros[k].nombrefadeIn<<" se encuentra inactivo"<<endl;
  146.                            cout<<endl;
  147.                            cout<<"Para cambiar el estado del socio a activo, presione#1!!"<<endl;
  148.                            cin>>libros[k].estadofadeIn;
  149.                            cout<<endl;
  150.                            cout<<"Cambio de socio a activo, fue hecho satisfactoriamente!!"<<endl;
  151.                            system("pause");
  152.                            system("cls");
  153.                            }
  154.                            cout<<endl;
  155.                            
  156.                            
  157.                            
  158.                     break;
  159.                    
  160.            case 3:
  161.  
  162.                if(j<4)
  163.                        {
  164.                        cout<<"******Ingreso de Nuevo Libro******"<<endl;
  165.                        cout<<endl;
  166.                        cout<<"Ingrese el nombre del libro nuevo # "<<j<<":"<<endl;
  167.                        cin>>libros[j].nombre_libro;
  168.                        cout<<endl;
  169.                        cout<<"Ingrese numero de edicion:"<<endl;
  170.                        cin>>libros[j].numero_edicionfadeIn;
  171.                        cout<<endl;
  172.                        cout<<"Ingrese editorial:"<<endl;
  173.                        cin>>libros[j].editorialfadeIn;
  174.                        cout<<endl;
  175.                        cout<<"Ingrese el ISBN del libro:"<<endl;
  176.                        cin>>ISBN;
  177.                        cout<<endl;
  178.                        while (buscar(libros,j,ISBN)!=-1){
  179.                          cout << "ERROR//Ya has introducido un libro con ese ISBN" << endl;  
  180.                          cout<<endl;        
  181.                          cout<<"Ingrese el ISBN correcto del libro:"<<endl;
  182.                          cin>>ISBN;
  183.                          system("cls");
  184.                        }        
  185.                        
  186.                        libros[j].ISBN = ISBN;
  187.                        j=j+1;
  188.                        }
  189.                        else
  190.                        {   system("color 0c");
  191.                            cout<<"ERROR//Memoria de libros llena"<<endl;
  192.                            system("pause");
  193.                            }
  194.                            break;
  195.                            
  196.                    case 4:
  197.                         cout<<"******Prestamo de libro******"<<endl;
  198.                         cout<<endl;
  199.                         cout<<"Ingrese la ID de la persona en cuestion:"<<endl;
  200.                         cin>>ID;
  201.                         x=i;
  202.                         for(int i=0;i<x;i++)
  203.                         if(libros[i].identificadorfadeIn==ID)
  204.                         {
  205.                           cout<<"El socio de con la cedula "<<ID<<" es de nombre: "<<libros[i].nombrefadeIn<<endl;
  206.                           cout<<endl;
  207.                          
  208.                           }
  209.                           else
  210.                           {
  211.                               cout<<"No existe una persona con ese ID"<<endl;
  212.                               cout<<endl;
  213.                               }
  214.                              
  215.                            break;        
  216.                    case 6:
  217.                             cout<<"Nombre del Libro"<<setw(20)<<"ISBN"<<endl;
  218.                             z=j;
  219.                             for(int j=0;j<z;j++)
  220.                             cout<<libros[j].nombre_libro<<setw(31)<<libros[j].ISBN<<endl;
  221.                             break;
  222.                            
  223.                      case 7:
  224.                               cout<<"Socios"<<setw(20)<<"Cedula"<<endl;
  225.                               y=i;
  226.                               for(int i=0;i<y;i++)
  227.                               cout<<libros[i].nombrefadeIn<<setw(8)<<libros[i].apellidosfadeIn<<setw(13)<<libros[i].identificadorfadeIn<<endl;
  228.                               }
  229.                               }
  230.                        
  231.        system("color 0f");
  232.        cout<<"******Biblioteca Publica-El Raton Feliz******"<<endl;                
  233.        cout<<"Desea realizar otra accion. s/n?"<<endl;
  234.        cin>>respuesta;
  235.        system("cls");
  236.        }
  237.        return 0;
  238.        }

De antemano muchas gracias