[C con Clase] Ayuda programa parqueadero

Cesar Cortes ceslinx en gmail.com
Vie Abr 10 16:10:33 CEST 2009


Hola amigos tengo un problema con un programa de un parqueadero, el programa
debe realizar lo siguiente:


Es un menu de cinco opciones en donde la primera opcion me debe dejar
ingrsar las placas de 10 autos q ingresan a un parqueadero que solo tiene 10
cupos (las placas son un numero de 3 gigitos ej: 159)
el segundo caso me registra el boleto de una persona q ingresa a una sala de
cine (cada boleto q se registra es una persona q ingresa)
el tercer caso me pide el numero de la placa de un auto q quiera salir del
parqueadero si el numero coincide con una de las placas ingresadas en el
caso 1 me decuenta un auto del parqueadero
el 4 caso me muestra el numero de personas q han ingresado a la sala de cine
y el numero de autos que han salido,
Esto ya lo hize mi problema esta en que si yo saco 1 auto en el caso 3 y
quiero volver a ingresar un auto al parqueadero caso 1, el me deja volver a
ingresar 10 autos y el parqueadero solo tiene cupo para 10 autos no se como
hacer que me deje registrar autos solo cuando el parqueadero este con cupo
disponible.
adjunto el codigo fuente


Gracias
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090410/55ce25e6/attachment.html>
------------ próxima parte ------------
/*
  Name: Programa para registrar la salida de vehiculos y la entrada de personas
  Author: Cesar cortes 80142368
  Date: 14/03/09 08:53
  Description: Laboratorio # 4 algoritmos
*/

#include <conio2.h>//aqui uso conio2 porque dev c++ no tiene esa libreria que es de turbo c++
#include <iostream.h>
#include <string.h>
using namespace std;
/*Tamaño máximo que puede tener la contraseña*/
#define MAX_TAM_PASSWORD  80
/*Contraseña por defecto*/
#define DEF_PASSWORD "cesar"


int main(void)
{
 string password = DEF_PASSWORD;
 int vecp [3];
 int menu=0;
 int conta=0;
 int contp=0;
 int bol=0;    
 int i=0;   
 int aur=0; 
 char nombre[5];
 int numsale=0; 
 int dato=0; 
 string pass;  
 int a=0;
 int j=0; 
 int contae=0;
 int c=0;
 clrscr();
 
  
 cout<<"BIENVENIDO DIGITE LA CONTRASEÑA PARA INGRESAR  \n";  
 cin >> pass; 

 if (pass != password) 
  {
 cout<<" Digite una contraseña valida !!! \n"; 
   
 getch(); 
  }
   else 
   {     
       

     while (menu!=5)
     {
     gotoxy(6,40); 
     cout<<"                                  BIENVENIDO                                                 "; 
     gotoxy(6,42); 
     cout<<"  (1) Registrar los autos en el parqueadero                                                  "; 
     gotoxy(6,44); 
     cout<<"  (2) Registrar su boleto de entrada al cine                                                 "; 
     gotoxy(6,46); 
     cout<<"  (3) Sacar autos del parqueadero                                                            "; 
     gotoxy(6,48); 
     cout<<"  (4) cuantas personas entraron a cine y cantidad de vehiculos que salieron                  "; 
     gotoxy(6,50); 
     cout<<"  (5) Salir                                                                                  ";    
     cin>>menu; 
   
       switch (menu) // Creo un switch para leer las 4 opciones del menu
     
     {
        case 1: { clrscr();         // en este case se deben ingresar las 10 placas de los autos yo lo tengo con solo 3 por prueba 
                   
           cout<<"Por favor digite los tres numeros de la placa del auto que ingresa \n";
                  
           
          for (i=0;i<3;i++)
            
          
          { 
              
           contae++;
          
           
          }  
                 
               cout<<"el numero de autos que ha ingresado es  "<<  contae <<endl;
               getch();  
               
               break;        
              
             } 
                 
      case 2: { clrscr(); // en este case por cada boleta que entre es una persona q ha ingresado 
                            
               cout<<"Por favor ingrese el numero de su boleta de cine \n";  
               cin>>bol;  
      
               if (bol>=0) 
               {contp++; 
               cout<<"Su boleto ha sido registrado Gracias  \n";
               getch(); 
               }
               else 
               if (contp<0)  
               
                  {cout<<"Por favor digite un boleto valido \n"; 
        
                }
               break;
              
                 }  
               case 3: { clrscr(); // en este case se debe digitar la placa del auto que va ha salir del parqueadero y comparar si coincide con las placas ingresadas 
                           
                     cout<<"Por favor digite los numeros de la placa del auto que va a salir \n"; 
                     cin>>numsale;
                         
                    for(i=0;i<3;i++) 
                    {    
                      if (numsale==vecp[i])  
                       {
                       dato=vecp[i];  
                       conta++;
                        
                        cout<<"El auto con la placa numero "<< dato << " ha salido \n";  
                        getch();  
                        vecp[i]=aur;
                        } 
                        }
                     
                    if (dato==0) 
                   { cout<<"La placa no existe \n";                                                                     
                       getch();
                       }       
                         
                     break;  
                       }               
             
          
               case 4: { clrscr(); // aqui se debe mostrar cuantas personas han ingresado a la sala de cine y cuantos autos han salido del parqueadero
   
                 cout<<" EL NUMERO DE PERSONAS QUE HAN INGRESADO A LA SALA DE CINE ES:  "<< contp <<endl;  
                 getch(); 
             if (dato==0)  
                   { cout<<"No han salido autos \n";  
                    getch();
                    } 
                    
                else 
                
                {           
                   
                  
                      // conta++; 
                       cout<<"\n  El numero de carros que han salido es  "<< conta << endl;  
                       getch();
                    
                  
                }
                  break; 
                     }  
                           
                     
          default:  
                 {  cout<<"Ingrese una opcion validan por favor \n"; 
                    
                    break; 
       
       
       }
       }
       
       
}     
}
}







Más información sobre la lista de distribución Cconclase