Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Pasar de un while a otro while

Estas en el tema de Pasar de un while a otro while en el foro de C/C++ en Foros del Web. Hola, bueno todavia sigo pegado en case 4 de, esta compuesto de un while que controla que se introduzca un ID correcto y si no ...
  #1 (permalink)  
Antiguo 05/07/2011, 16:16
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 1 mes
Puntos: 9
Pregunta Pasar de un while a otro while

Hola, bueno todavia sigo pegado en case 4 de, esta compuesto de un while que controla que se introduzca un ID correcto y si

no repite la instruccion hasta que se meta un ID corrcto, despues hay un while igual solo que de otra variable, pero es la

misma historia, el problema es que quiero que el cuando termine el primer while, HASTA QUE SALGA entre a segundo while y no

me salga del case 4, ese es mi problema

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.     char *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 ISBN=0;
  38.     int socio;
  39.     int k;
  40.     int ID;
  41.     int x;
  42.     int cantidad_libros=-1;
  43.     int cantidad_socios=-1;
  44.     int variable;
  45.     bool bloqueo_socios;
  46.     bool bloqueo_libros;
  47.     int encontrado;
  48.     int encontrado2;
  49.     int ISBN_libro;
  50.     string respuesta;
  51.     string respuesta2;
  52.    
  53.     time_t tAct=time(NULL);
  54.    
  55.    
  56.     while(respuesta!="N" && respuesta!="n")
  57.     {
  58.        system("color 0f");
  59.        cout<<"******Biblioteca Publica^El Raton Feliz^******"<<endl;
  60.        cout<<endl;
  61.        cout<<"Digite #1, para ingresar nuevo socio."<<endl;
  62.        cout<<"Digite #2, para cambiar estado del socio."<<endl;
  63.        cout<<"Digite #3, para ingresar nuevo libro."<<endl;
  64.        cout<<"Digite #4, para prestar libro."<<endl;
  65.        cout<<"Digite #5, pàra recibir libro."<<endl;
  66.        cout<<"Digite #6, para desplegar lista de libros."<<endl;
  67.        cout<<"Digite #7, para desplegar lista de socios."<<endl;
  68.        cout<<"Digite #8, para desplegar lista de libros prestados actualmente"<<endl;
  69.        cout<<endl;
  70.        cout<<"Que opcion desea realizar?"<<endl;
  71.        cin>>opcion;
  72.        system("cls");
  73.        
  74.        
  75.         switch(opcion){
  76.              
  77.          case 1:
  78.               if(i<4)
  79.               {
  80.               cout<<"******Ingreso de nuevo socio******"<<endl;
  81.               cout<<endl;
  82.               cout<<"Ingrese nombre del socio # "<<i<<":"<<endl;
  83.               cin>>libros[i].nombrefadeIn;
  84.               cout<<endl;
  85.               cout<<"Ingrese apellidos del socio:"<<endl;
  86.               cin>>libros[i].apellidosfadeIn;
  87.               cout<<endl;
  88.               cout<<"Ingrese cedula:"<<endl;
  89.               cin>>libros[i].identificadorfadeIn;
  90.               cout<<endl;
  91.               cout<<"Ingreso fecha de registro automatica:(formato dd/mm/aaaa)"<<endl;
  92.               libros[i].fecha_registrofadeIn=asctime(localtime(&tAct));
  93.               cout<<endl;
  94.               cout<<"Fecha y hora de registro: "<<libros[i].fecha_registrofadeIn;
  95.               cout<<endl;
  96.               cout<<"Ingrese #1 para usuario activo o ingreso #2 para usuario inactivo:"<<endl;
  97.               cin>>libros[i].estadofadeIn;
  98.               cout<<endl;
  99.               system("cls");
  100.               if(libros[i].estadofadeIn==1)
  101.               {
  102.                 system("color 0e");
  103.                 cout<<"El socio de nombre "<<libros[i].nombrefadeIn<<" esta activo!!!"<<endl;
  104.                 system("pause");
  105.                 system("cls");
  106.                 }
  107.                 else
  108.                 {
  109.                     system("color 0e");
  110.                     cout<<"El socio de nombre "<<libros[i].nombrefadeIn<<" esta inactivo!!!"<<endl;
  111.                     system("pause");
  112.                     system("cls");
  113.                     }
  114.                     cout<<endl;
  115.               i=i+1;
  116.               cantidad_socios=i;
  117.               }
  118.               else
  119.               {  
  120.                   system("color 4e");
  121.                   cout<<"ERROR/No se pueden ingresar mas datos/Memoria de socios llena"<<endl;
  122.               system("pause");
  123.                }
  124.                break;
  125.      
  126.            case 3:
  127.  
  128.                if(j<4)
  129.                        {
  130.                        cout<<"******Ingreso de Nuevo Libro******"<<endl;
  131.                        cout<<endl;
  132.                        cout<<"Ingrese el nombre del libro nuevo # "<<j<<":"<<endl;
  133.                        cin>>libros[j].nombre_libro;
  134.                        cout<<endl;
  135.                        cout<<"Ingrese numero de edicion:"<<endl;
  136.                        cin>>libros[j].numero_edicionfadeIn;
  137.                        cout<<endl;
  138.                        cout<<"Ingrese editorial:"<<endl;
  139.                        cin>>libros[j].editorialfadeIn;
  140.                        cout<<endl;
  141.                        cout<<"Ingrese el ISBN del libro:"<<endl;
  142.                        cin>>ISBN;
  143.                        cout<<endl;
  144.                        while (buscar(libros,j,ISBN)!=-1){
  145.                          cout << "ERROR//Ya has introducido un libro con ese ISBN" << endl;  
  146.                          cout<<endl;        
  147.                          cout<<"Ingrese el ISBN correcto del libro:"<<endl;
  148.                          cin>>ISBN;
  149.                          system("cls");
  150.                        }        
  151.                        
  152.                        libros[j].ISBN = ISBN;
  153.                        j=j+1;
  154.                        cantidad_libros=j;
  155.                        }
  156.                        else
  157.                        {   system("color 0c");
  158.                            cout<<"ERROR//Memoria de libros llena"<<endl;
  159.                            system("pause");
  160.                            }
  161.                            break;
  162.                            
  163.                    case 4:
  164.                         cout<<"******Prestamo de libro******"<<endl;
  165.                         cout<<endl;
  166.                         while(respuesta2!="n" && respuesta!="N")
  167.                         {
  168.                         encontrado=0;
  169.                         while(encontrado==0)
  170.                         {
  171.                         cout<<"Ingrese la cedula de la persona en cuestion:"<<endl;
  172.                         cin>>ID;
  173.                         for(int x=0;x<cantidad_socios;x++){
  174.                            if(libros[x].identificadorfadeIn==ID)
  175.                         {
  176.                           cout<<"El socio #"<<x<<" con la cedula "<<ID<<" es de nombre: "<<libros[x].nombrefadeIn<<endl;
  177.                           cout<<endl;
  178.                           encontrado=1;
  179.                          
  180.                                 }
  181.                           if(encontrado==0){
  182.                              
  183.                               cout<<"ERROR//No existe una persona con esa cedula//ERROR"<<endl;
  184.                               cout<<endl;
  185.                               system("pause");
  186.                               system("cls");
  187.                               }
  188.                               }
  189.                               }
  190.                           encontrado2=0;
  191.                           while(encontrado==0)
  192.                           {
  193.                             cout<<"Ingrese el ISBN del libro:"<<endl;
  194.                             cin>>ISBN_libro;
  195.                             for(int c=0;c<cantidad_libros;c++){
  196.                                if(libros[i].ISBN)
  197.                                {
  198.                                  cout<<"El ISBN numero # "<<ISBN_libro<<" pertenece al libro de nombre
  199.  
  200. "<<libros[i].nombre_libro<<endl;
  201.                                  cout<<endl;
  202.                                  encontrado2=1;
  203.                                  }
  204.                                  if(encontrado2==0){
  205.                                  
  206.                                   cout<<"ERROR//No existe una persona con esa cedula//ERROR"<<endl;
  207.                                   cout<<endl;
  208.                                   system("pause");
  209.                                   system("cls");
  210.                                   }
  211.                                   }
  212.                                   }
  213.                                   }
  214.                           cout<<"Desea prestar otro libro:s/n?"<<endl;
  215.                           cin>>respuesta2;
  216.                           }
  217.                          
  218.                               break;
  219.                              
  220.        system("color 0f");
  221.        cout<<"******Biblioteca Publica-El Raton Feliz******"<<endl;                
  222.        cout<<"Desea realizar otra accion. s/n?"<<endl;
  223.        cin>>respuesta;
  224.        system("cls");
  225.        }
  226.        return 0;
  227.        }
  #2 (permalink)  
Antiguo 05/07/2011, 19:30
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Pasar de un while a otro while

Tienes realmente un lio ahi... primero te falta una llave trata de corregir eso...
Segundo te recomendaria empezar haciendo lo funcional del programa... pensando que el usuario va a ingresar la cedula correcta y el libro correcto.
Luego de apoco vas a agregando los otros errores.
Y por ultimo agregas la pregunta de empezar de nuevo.

Ademas Para uqe sea mas facil de hacer estas cosas y mas visible, se suelen usar funciones. Eso te ayudaria mucho y ademas aprenderia muchas cosas mas.
Trata de resolver esto solo. No te quiero corregir cada errorsito que tenes. Yo cuando tengo un duda como ultima instancia recurro al foro. Trato en lo posible aprender de los errores.
  #3 (permalink)  
Antiguo 05/07/2011, 20:48
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Pasar de un while a otro while

grax igual vere cual es el fallo en esa situacion
  #4 (permalink)  
Antiguo 05/07/2011, 20:51
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Pasar de un while a otro while

igual encontre el error, debo fijarme muy bien antes de creae un tema por un errorsito minusculo, el error estaba en el segundo while, era encontrado2==0 y no encontrado==0, perdon por molestar con eso!!

Etiquetas: arrays
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:28.