Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
LSE:
Esta LSE, se usa para obtener los datos del cliente y del vehículo. Y se pretende que estos datos se
manden a una pila donde se utilizaran para realizar una estructura de base de datos, la cual permitirá
tener un expediente del cliente y poder tener un control y mejor servicio particularmente a los clientes
ayudando al trabajador a identificar posible falla a través del expediente del vehículo.
typedef struct EST{ inicio=NULL;
int id_trab,id_cliente; final = NULL;
string des_trab, Fecha,Estatus, nom_arc_est=NDAE;
Nom_mecanic,nom_clien,Hora; };
struct EST *siguiente;
}; void LSEE_insert(EST *u);
void LSEE_imp();
class LSEE{ void LSEE_buscar(int e);
void LSEE_save(EST *t);
EST *inicio, *final; int LSEE_rescu(EST *t);
string nom_arc_est; EST LSEE_quitar(int id);
public: void LSEE_Resave();
LSEE(string NDAE){ };
}
void LSEE::LSEE_insert(EST *t){
EST *nuevo=new EST; }
nuevo->id_trab=t->id_trab;
nuevo->id_cliente=t->id_cliente; void LSEE::LSEE_buscar(int e){
nuevo->nom_clien=t->nom_clien; EST *aux=inicio;
nuevo->Hora=t->Hora;
nuevo->Fecha=t->Fecha; while(aux!=NULL && aux->id_trab!=e){
nuevo->des_trab=t->des_trab; aux=aux->siguiente;
nuevo->Estatus=t->Estatus;
nuevo->Nom_mecanic=t- }
>Nom_mecanic; if(aux !=NULL){
cout<<" El servicio esta siendo
atendido"<<endl;
if(inicio!=NULL){ }
final->siguiente = nuevo; else{
final = nuevo; cout<<" El servicio no esta aun
nuevo->siguiente = NULL; siendo atendido o se encuentra
} finalizado"<<endl;
else{ }
inicio=nuevo; cout<<"\n";
final=nuevo; system("pause");
nuevo->siguiente = NULL; }
}
} EST LSEE::LSEE_quitar(int id){
EST *aux=inicio;
void LSEE::LSEE_imp(){ EST *ant, *tem;
system("cls"); EST Retu;
cout<<"Ordenes de trabajo ya en
servicio"<<endl;
EST *aux=inicio; if (aux!=NULL&&aux->id_trab==id){
int i=1; inicio=aux->siguiente;
if(aux==NULL){ }
cout<<"No hay nuevas ordenes de else if(aux!=NULL&&aux->id_trab!=id){
trabajo atendidas ahora"<<endl; while(aux!=NULL && aux-
} >id_trab!=id){
else{ ant=aux;
while(aux!=NULL){ aux=aux->siguiente;
cout<<"Orden: "<<aux- }
>id_trab<<endl;
if(aux->siguiente!=NULL){
cout<<"Cliente:"<<aux->id_cliente<<" tem=aux->siguiente;
"<<aux->nom_clien<<endl; ant->siguiente=tem;
cout<<"Hora y fecha de la
orden: "<<aux->Hora<<" "<<aux- }
>Fecha<<endl; else if(aux-
cout<<"Descripcion de la >siguiente==NULL){
orden:"<<aux->des_trab<<endl;
cout<<"Estatus del final=ant;
pedido:"<<aux->Estatus<<endl; ant->siguiente=NULL;
cout<<"Mecanico que atiende }
servicio:"<<aux->Nom_mecanic<<endl; }
cout<<"------------------------
---------------------------------------- Retu.id_cliente=aux->id_cliente;
-----------"<<endl; Retu.nom_clien=aux->nom_clien;
aux=aux->siguiente; Retu.Estatus=aux->Estatus;
Retu.Fecha=aux->Fecha;
} Retu.Hora=aux->Hora;
system("pause"); Retu.des_trab=aux->des_trab;
Retu.id_trab=aux->id_trab; case 3:t-
Retu.Nom_mecanic=aux- >Hora=tline;break;
>Nom_mecanic; case 4:t-
return Retu; >Fecha=tline;break;
delete aux; case 5:t-
system("pause"); >des_trab=tline;break;
} case 6:t-
>Estatus=tline;break;
case 7:t-
>Nom_mecanic=tline;break;
void LSEE::LSEE_save(EST *t){
ofstream archivo; }
line.erase(0,cortar+1);
archivo.open(nom_arc_est.c_str(),ios::ap }
p); LSEE_insert(t);
}
archivo<<t->id_trab<<"," cout<<"\n\t\t *** -
<<t->id_cliente<<"," "<<nom_arc_est<<" - Trabahjos en proceso
<<t->nom_clien<<"," Recuperados con Exito *** \n\n";
<<t->Hora<<"," return t->id_trab;
<<t->Fecha<<"," archivo.close();
<<t->des_trab<<"," }
<<t->Estatus<<"," }
<<t->Nom_mecanic;
archivo<<"\n"; void LSEE::LSEE_Resave(){
cout<<"\n\t\t *** Se asigno un EST *tex=inicio;
mecanico con Exito *** \n\n"; ofstream archivo;
system("pause");
archivo.close(); archivo.open(nom_arc_est.c_str(),ios::tr
} unc);
while(tex!=NULL){
int LSEE::LSEE_rescu(EST *t){ archivo<<tex->id_trab<<","
string line,tline; <<tex->id_cliente<<","
string separador=","; <<tex->nom_clien<<","
int cortar; <<tex->Hora<<","
ifstream archivo(nom_arc_est.c_str()); <<tex->Fecha<<","
if(archivo.is_open()){ <<tex->des_trab<<","
while(getline(archivo,line)){ <<tex->Estatus<<","
for(int i=0;i<8;i++){ <<tex->Nom_mecanic;
archivo<<"\n";
tline=line.substr(0,line.find(separador) tex=tex->siguiente;
); }
cortar=tline.length(); cout<<"\n\t\t *** Sistema
switch(i){ actualizado - con Exito *** \n\n";
case 0:t- system("pause");
>id_trab=atoi(tline.c_str());break; archivo.close();
case 1:t-
>id_cliente=atoi(tline.c_str());break; }
case 2:t-
>nom_clien=tline;break;
PILA :
Esta pila, se obtiene de la lista simplemente enlazada para estructural la base de datos como un
registro de los vehículos como clientes y empleados asignados a los trabajas y así mismo el estado
de trabajo
typedef struct ESTFIN{
int id_trab,id_cliente; tot=tot+t->ManObra;
float
precios[10]={0,0,0,0,0,0,0,0,0,0};
float total=0,ManObra; nuevo->total=tot;
string des_trab, Fecha,Estatus,
Nom_mecanic,nom_clien,Hora,des_final; if(inicio!=NULL){
string nuevo->siguiente=inicio;
refac[10]={"N/A","N/A","N/A","N/A","N/A"," inicio = nuevo;
N/A","N/A","N/A","N/A","N/A"}; }
struct ESTFIN *siguiente; else{
}; inicio=nuevo;
nuevo->siguiente=NULL;
class PILA{ }
ESTFIN *inicio; }
string nom_arc_fin;
void PILA::pila_ver(){
system("cls");
public: cout<<"trabajos terminados en
PILA(string NDAF){inicio=NULL; pila"<<endl;
nom_arc_fin=NDAF;}; ESTFIN *aux=inicio;
if(aux==NULL){
void pila_insertar(ESTFIN *t, int cout<<"No hay nuevas ordenes de
E); trabajo atendidas "<<endl;
void pila_ver(); }
ESTFIN pila_quitar(); else{
void pila_save(ESTFIN *t); while(aux!=NULL){
void pila_rescu(ESTFIN *t); cout<<"Orden: "<<aux-
>id_trab<<endl;
}; cout<<"Cliente:"<<aux-
>id_cliente<<" "<<aux->nom_clien<<endl;
void PILA::pila_insertar(ESTFIN *t, int cout<<"Hora y fecha de la
e){ orden: "<<aux->Hora<<" "<<aux-
ESTFIN *nuevo=new ESTFIN; >Fecha<<endl;
float tot=0; cout<<"Descripcion de la
nuevo->id_trab=t->id_trab; orden: "<<aux->des_trab<<endl;
nuevo->id_cliente=t->id_cliente; cout<<"Estatus del pedido:
nuevo->nom_clien=t->nom_clien; "<<aux->Estatus<<endl;
nuevo->Hora=t->Hora; cout<<"Mecanico que atendio
nuevo->Fecha=t->Fecha; servicio: "<<aux->Nom_mecanic<<endl;
nuevo->des_trab=t->des_trab; cout<<"Refacciones usadas:
nuevo->Estatus=t->Estatus; "<<endl;
nuevo->Nom_mecanic=t->Nom_mecanic;
nuevo->des_final=t->des_final; for(int
nuevo->ManObra=t->ManObra; i=0;i<10;i++){
} tline=line.substr(0,line.find(separador));
system("pause"); cortar=tline.length();
} switch(i){
} case 0:t-
>id_trab=atoi(tline.c_str());break;
ESTFIN PILA::pila_quitar(){ case 1:t-
ESTFIN *aux=inicio; >id_cliente=atoi(tline.c_str());break;
ESTFIN *valor; case 2:t-
if(aux!=NULL){ >nom_clien=tline;break;
valor =aux; case 3:t-
inicio=aux->siguiente; >Hora=tline;break;
delete aux; case 4:t-
} >Fecha=tline;break;
return *valor; case 5:t-
} >des_trab=tline;break;
case 6:t-
>Estatus=tline;break;
case 7:t-
>Nom_mecanic=tline;break;
case 8:t-
>des_final=tline;break;
case 9:t-
void PILA::pila_save(ESTFIN *t){ >total=atof(tline.c_str());break;
ofstream archivo; case 10:t-
>ManObra=atof(tline.c_str());break;
archivo.open(nom_arc_fin.c_str(),ios::app)
; case 11: t-
>refac[0]=tline; break;
archivo<<t->id_trab<<"," case 12: t-
<<t->id_cliente<<"," >precios[0]=atof(tline.c_str()); break;
<<t->nom_clien<<","
<<t->Hora<<"," case 13: t-
<<t->Fecha<<"," >refac[1]=tline; break;
<<t->des_trab<<"," case 14: t-
<<t->Estatus<<"," >precios[1]=atof(tline.c_str()); break;
<<t->Nom_mecanic<<","
<<t->des_final<<"," case 15: t-
<<t->total<<"," >refac[2]=tline; break;
<<t->ManObra<<","; case 16: t-
>precios[2]=atof(tline.c_str()); break;
for(int i=0;i<10;i++){
case 17: t-
archivo<<t->refac[i]<<"," >refac[3]=tline; break;
<<t->precios[i]<<","; case 18: t-
} >precios[3]=atof(tline.c_str()); break;
Mejoras al futuro
1.-Mediante un árbol binario
Obtener un mejor rendimiento en el programa y facilitar el uso. Ya que ayudaría para
• Poder buscar a un cliente y los trabajos que se le han realizado .
• Buscar un trabajo realizado en lapsos de tiempos determinados o específicos con su id.
• Mostrar de manera mas rápida el estatus del servicio.
• Organizar de manera mas adecuada la base de datos
2.- mediante una aplicación (app)
Creación de una aplicación, que contenga una interfaz que permita al cliente elegir un servicio ofrecido
en el taller. De manera cómoda y fácil hacia el cliente y ofreciendo también un sistema de presupuestos
precisos (netos al momento).
La ejecución del programa esta pensado realizase ya sea a través
• vía bluetooth a través de una aplicación para móviles.
• Un sistema o maquina fija que sea manipulable por clientes y empleados para (agregar, realizar
y cobro) de los trabajos seleccionados por el cliente.
El alcance esperado para estas 2 opciones mencionadas se espera que sea:
• Crecimiento del negocio.
• Venta de software a negocios locales o industriales.
Seguridad
Contar con niveles de seguridad en el programa para el manejo de información.
dependiendo :
• Puesto o cargo del negocio.
Para evitar: Evitar manipulación para bien propio, Mal manejo del equipo, Tener un buen control y
seguridad de los datos obtenidos.