Está en la página 1de 4

#include <iostream>

#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
#include<string.h>
using namespace std;
struct tcliente{
int dpi;
char nombre[40];
};
struct treserva{
int noreserva;
char destino[20];
int diasviaje;
char hotel[20];
};
struct treservacl{
int dpi;
int noreserva;
};
struct tcliente clientes[30];
struct treserva reservas[50];
struct treservacl reservascliente[50];
int ncliente=-1,nreserva=-1,nreservacliente=-1,nnombre=-1,opcion=0;
int ingresocliente(struct tcliente cl[]);
void mostrarclientes(struct tcliente cl[]);
int IngresoReserva(struct treserva rs[]);
void MostrarRervas(struct treserva rs[]);
int ReservaClientes(struct tcliente cl[], struct treservacl rcl[]);
void MostrarReservaClientes(struct treservacl rcl[],struct tcliente cl[]);
int Destino(struct tcliente cl[], struct treserva rs[]);
void MostrarDestino(struct treserva rs[], struct tcliente cl[]);
int main()
{
while (opcion!=8){
system("cls");
cout<<"Programa para Control de datos de cliente "<<endl;
cout<<endl<<"Ingrese la opcion que desea ejecutar"<<endl;
cout<<endl<<"1. Ingresar un cliente nuevo"<<endl;
cout<<"2. Mostrar Clientes Ingresados"<<endl;
cout<<"3. Ingresar Nueva Reserva"<<endl;
cout<<"4. Mostrar Reservas Ingresadas"<<endl;
cout<<"5. Ingresar reservas por clientes"<<endl;
cout<<"6. Mostrar reservas por clientes"<<endl;
cout<<"7. Buscar clientes por nombre"<<endl;
cout<<"8. Salir"<<endl<<endl;
cin>>opcion;
switch(opcion){
case 1:
if (ingresocliente(clientes)==1)
cout<<"Dato Ingresado correctamente"<<endl;
else

cout<<"Ocurrio un error al ingresar los datos"<<endl;


getch();
break;
case 2:
mostrarclientes(clientes);
getch();
break;
case 3:
if (IngresoReserva(reservas)==1)
cout<<"Dato Ingresado correctamente"<<endl;
else
cout<<"Ocurrio un error al ingresar los datos"<<endl;
getch();
break;
case 4:
MostrarRervas(reservas);
getch();
break;
case 5:
if (ReservaClientes(clientes, reservascliente)==1)
cout<<"Dpi encontrado y almacenado correctamente"<<endl;
else
cout<<"Error"<<endl;
getch();
break;
case 6:
MostrarReservaClientes(reservascliente,clientes);
getch();
break;
case 7:
if (Destino(clientes, reservas)==1)
{
cout<<"Cliente encontrado";
getch();
}
else
cout<<"Diferentes";
break;
case 8:
cout<<"Fin de Proceso de Registro"<<endl;
getch();
}
}
return 0;
}
int ingresocliente(struct tcliente cl[])
{
ncliente=ncliente+1;
cout<<"Ingreso de cliente ----> "<<ncliente<<endl;
if (ncliente<30) {

cout<<"Ingrese el dpi del cliente :: ";


cin>>cl[ncliente].dpi;
fflush(stdin);
cout<<"Ingrese el nombre del cliente:: ";
fgets(cl[ncliente].nombre,40,stdin);
fflush(stdin);
return(1);
}
else
return (0);
}
void mostrarclientes(struct tcliente cl[])
{
for (int i=0;i<=ncliente;i++){
cout<<endl<<"DPI "<<cl[i].dpi<<endl;
cout<<"Nombre: "<<cl[i].nombre<<endl;
}
}
int IngresoReserva(struct treserva rs[])
{
nreserva=nreserva+1;
cout<<"Ingreso de reserva ---> "<<nreserva<<endl;
if (nreserva<50)
{
cout<<"Ingrese numero de reserva: ";
cin>>rs[nreserva].noreserva;
fflush(stdin);
cout<<"Ingrese Destino: ";
fgets(rs[nreserva].destino,20,stdin);
fflush(stdin);
cout<<"Ingrese dias de viaje: ";
cin>>rs[nreserva].diasviaje;
fflush(stdin);
cout<<"Ingrese nombre del hotel: ";
fgets(rs[nreserva].hotel,20,stdin);
fflush(stdin);
return(1);
}
else
return (0);
}
void MostrarRervas(struct treserva rs[])
{
for (int i=0; i<=nreserva;i++)
{
cout<<endl<<"Numero de reserva: "<<rs[i].noreserva<<endl;
cout<<"Destino: "<<rs[i].destino;
cout<<"Dias de viaje: "<<rs[i].diasviaje<<endl;
cout<<"Nombre hotel: "<<rs[i].hotel<<endl;
}
}
int ReservaClientes(struct tcliente cl[], struct treservacl rcl[])
{
int n;
int a=0, b=0;
nreservacliente=nreservacliente+1;

cout<<"Ingrese DPI del cliente a buscar: \n";


cin>>n;
while(b==0)
{
if(n==cl[a].dpi)
{
cin>>rcl[nreservacliente].dpi;
b++;
return 1;
}
a++;
}
}
int Destino(struct tcliente cl[], struct treserva rs[] )
{
int a=0, b=0;
char nombre[30];
nnombre=nnombre+1;
cout<<"Ingrese nombre del cliente a buscar: \n";
cin>>nombre;
while(b==0)
{
if (strcmp(nombre,cl[nnombre].nombre)!=0)
{
b++;
return 1;
}
a++;
}
}
void MostrarReservaClientes(struct treservacl rcl[], struct tcliente cl[])
{
for (int i=0;i<=nreservacliente;i++)
{
for(int j=0; j<=ncliente;j++)
{
if (rcl[i].dpi == cl[j].dpi)
{
cout<<endl<<"Numero de reserva: "<<rcl[i].dpi<<e
ndl;
cout<<"Nombre: "<<cl[i].nombre<<endl;
}
}
}
}

También podría gustarte