| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
rafalfaro_18
Registrado: 28 Nov 2011 Mensajes: 2
| Publicado: 02/12/2011 1:45 am | | | Título: Almacenar y recuperar lista de ficheros |
| ESTE ES EL CODIGO QUE TENGO, ME URGE MODIFICARLO PARA QUE LA LISTA SEA GUARDAD EN UN FICHERO Y TAMBIEN LEIDA DEL MISMO, QUE PUEDA TAMBIEN MODIFICAR, ELIMINAR Y LISTAR DEL FICHERO.
clentes.cpp
| Código: | #include "clientes.h"
Clientes::Clientes() {
NombClient=new string(); Direccion=new string(); Telefono=new string(); Id=new string(); TotalEnvios=new int; Monto=new float;
}
Clientes::Clientes(string *NombClient,string *Direccion,string *Telefono, string *Id, int *TotalEnvios, float *Monto) {
this->NombClient=NombClient; this->Direccion=Direccion; this->Telefono=Telefono; this->Id=Id; this->TotalEnvios=TotalEnvios; this->Monto=Monto;
}
string Clientes::getNombClient() { return(*NombClient); }
void Clientes::setNombClient(string *NombClient) { this->NombClient=NombClient; } string Clientes::getDireccion() { return(*Direccion); }
void Clientes::setDireccion(string *Direccion) { this->Direccion=Direccion; }
string Clientes::getTelefono() { return(*Telefono); }
void Clientes::setTelefono(string *Telefono) { this->Telefono=Telefono; }
int Clientes::getTotalEnvios() { return(*TotalEnvios); } void Clientes::setTotalEnvios(int *TotalEnvios) { this->TotalEnvios=TotalEnvios; }
float Clientes::getMonto() { return(*Monto); } void Clientes::setMonto(float *Monto) { this->Monto=Monto; }
void Clientes::setId( string *Id){ this->Id=Id;
} string Clientes::getId( ){ return(*Id);
}
string Clientes::Tostring(){ std::stringstream s; s<<" -Nombre Cliente: "<<*NombClient<<endl; s<<" -Direccion: "<<*Direccion<<endl; s<<" -Telefono: "<<*Telefono<<endl; s<<" -Id: "<<*Id<<endl; s<<" -Total de Envios: "<<*TotalEnvios<<endl; s<<" -Monto: "<<*Monto<<endl;
return s.str(); }
Clientes::~Clientes() { //dtor }
|
clientes.h
| Código: | #ifndef CLIENTES_H #define CLIENTES_H
#include <iostream> #include <string> #include "sstream" #include <stdio.h> #include <stdlib.h>
using namespace std;
class Clientes { public: Clientes(); Clientes(string *NombClient,string *Direccion,string *Telefono, string *Id, int *TotalEnvios, float *Monto); virtual ~Clientes();
string Tostring();
string getNombClient(); void setNombClient(string *NombClient);
string getDireccion(); void setDireccion(string *Direccion);
string getTelefono(); void setTelefono(string *Telefono);
string getId(); void setId(string *Id);
int getTotalEnvios(); void setTotalEnvios(int *TotalEnvios);
float getMonto(); void setMonto(float *Monto);
private: string *NombClient; string *Direccion; string *Telefono; string *Id; int *TotalEnvios; float*Monto;
};
#endif // CLIENTES_H
|
ListaC.cpp
| Código: | #include "ListaC.h"
ListaC::ListaC() { cabeza=actual=NULL; //ctor }
ListaC::~ListaC() { while(cabeza!=NULL){ this->actual=cabeza; cabeza=cabeza->getNext(); delete actual; } //dtor }
bool ListaC::IsEmpty(){ return cabeza==NULL; }
string ListaC::consultar(string *Id){ actual=cabeza; if(IsEmpty()){ return "0"; } else{ bool n=true; while(actual != NULL && n==true){ if(actual->getDato()->getNombClient()==*Id){ n=false; return actual->getDato()->Tostring(); } actual = actual->getNext(); } if(actual == NULL) return "-1"; } return 0; }
string ListaC::Listar(){ string cadena=""; actual=cabeza; if(IsEmpty()){ return "0"; } else{ string cadena=""; while(actual!=NULL){ cadena=cadena + actual->getDato()-> Tostring() + "\n"; actual=actual->getNext(); } return cadena; } }
void ListaC::insertar(Clientes* d){ Nodo * aux=new Nodo(d); if(IsEmpty()){ cabeza=aux; } else{ actual=cabeza; while(actual->getNext()!=NULL){ actual=actual->getNext(); } actual->setNext(aux); } }
string ListaC::modificar(string *Id, Clientes*Cl){ actual=cabeza; if(IsEmpty()){ return "0"; } else{ bool n = true; while(actual!=NULL && n==true){ if(actual->getDato()->getId()==*Id){ n=false; actual->setDato(Cl); } actual=actual->getNext(); }if(actual==NULL){ return "-1"; } else{ return "1"; }
}
}
string ListaC::eliminar(string *Id){ menu: if(IsEmpty()){ return "0"; } else{ actual=cabeza; Nodo * aux=cabeza; if(cabeza->getDato()->getNombClient()==*Id){ cabeza=cabeza->getNext(); goto menu; } else{ bool band=true; while(actual->getNext()!=NULL){ if(actual->getNext()->getDato()->getNombClient() == *Id){ aux=actual->getNext(); actual->setNext(aux->getNext()); band=false; } else{ actual=actual->getNext(); } } if(band==false){ return "-1"; } else{ return "1"; } } delete aux; } }
string ListaC::insertar_x_posicion(int v, Clientes * d){ int cont=1; Nodo * aux=new Nodo(d); if(IsEmpty()){ cabeza=aux; return "1"; } if(v>contar() || v<1){ return "-1"; } else{ actual=cabeza; while(cont!=v && actual!=NULL){ cont++; actual=actual->getNext(); } aux->setNext(actual->getNext()); actual->setNext(aux); return "1"; } }
int ListaC::contar(){ actual = cabeza; int cont=0; while(actual !=NULL){ actual=actual->getNext(); cont++; } return cont; }
|
ListaC.h
| Código: | #ifndef LISTAC_H #define LISTAC_H #include"Nodo.h"
using namespace std; class ListaC { public: ListaC(); void insertar(Clientes*); string eliminar(string * Id); string insertar_x_posicion(int, Clientes*); int contar(); bool IsEmpty(); string modificar(string*Id, Clientes*); string consultar(string*Id); string Listar(); bool ordenar();
virtual ~ListaC(); protected: private: Nodo * cabeza; Nodo * actual; };
#endif // LISTAC_H
|
Nodo.cpp
| Código: | #include "Nodo.h"
Nodo::Nodo() { //ctor } Nodo::Nodo(Clientes * h){ this->setDato(h); this->next=NULL; }
Nodo::~Nodo() { //dtor }
|
Nodo.h
| Código: | #ifndef NODO_H #define NODO_H #include"clientes.h"
class Nodo { public: Nodo(); Clientes * dato; Nodo * next; Nodo(Clientes*); void setDato(Clientes*h){this->dato=h;}; Clientes *getDato(){return this->dato;}; void setNext(Nodo * sig){this->next=sig;}; Nodo *getNext(){return this->next;} virtual ~Nodo(); protected: private: };
#endif // NODO_H
|
Main.cpp
| Código: | #include <iostream> #include <string.h> #include "clientes.h" #include "Ruta.h" #include "Envio.h" #include "Empresa.h" #include "Area.h" #include"paquete.h" #include"depadministrativo.h" #include"depfinanciero.h" #include"ListaC.h"
using namespace std;
int main() { string *Ciudad=new string(); string *Pais=new string(); Area *elArea=new Area(); DepFinanciero *fin1=new DepFinanciero(); float *CostoEnvio=new float; float *Peso=new float; string *Destino=new string(); Paquete *paq=new Paquete(); string *IdEnvio=new string(); string *DescripEnvio=new string(); string *NivelSeguridad=new string(); Envio *En=new Envio(); string *Id=new string(); string *NombClient=new string(); string *Telefono=new string(); string *Direccion=new string(); int *TotalEnvios=new int; float *Monto=new float; Clientes *Cl=new Clientes(); string Descripcion; int Conteo; int MedioTransp; float Kilometraje; float CostoKg; int TiempoDuracion; float CostoAso; string ux; Ruta *rut=new Ruta();
ListaC*Lis=new ListaC(); cout << "------------------------------------------------" << endl; cout << "PROYECTO PROGRAMACION 1" << endl; cout << "------------------------------------------------" << endl; cout<<" Plataforma "<<endl; cout << "------------------------------------------------" << endl; cout << " -----Empresa-----------------THL-------" << endl; cout << "------------------------------------------------" << endl;
int opc=0;
cout<<">*<>*<>*<>*<>*<>*<>*<>*<>*<>*<>*<>*<>*<>*<"<<endl; cout<<endl; cout<<":-----BIENVENIDO AL SISTEMA----:"<<endl; cout<<endl; cout<<">*<>*<>*<>*<>*<>*<>*<>*<>*<>*<>*<>*<>*<>*<"<<endl; cout<<endl; cout<<"* Digite la opcion a la que le desea "<<endl; cout<<"realizar un mantenimiento...."<<endl;
cout<<endl;
cout<<"-1. Clientes"<<endl; cout<<"-2. Paquetes"<<endl; cout<<"-3. Rutas"<<endl; cout<<"-4. Envios"<<endl; cout<<"-5. Areas"<<endl; cout<<"-6.Empresa"<<endl; cout<<"-7. Salir "<<endl;
cout<<endl; cin>>opc;
for(;;){ system("cls");
switch(opc){ case 1:{ int opcm = 0; cout<<"********MANTENIMIENTO **********"<<endl; cout<<" ********CLIENTE **********"<<endl; cout<<"Seleccione entre las siguientes opciones"<<endl; cout<<"-1. Insertar"<<endl; cout<<"-2. Modificar"<<endl; cout<<"-3. Elimnar"<<endl; cout<<"-4. Consultar"<<endl; cout<<"-5. Listar"<<endl; cout<<"-6. Salir"<<endl; cout<<endl; cin>>opcm;
int st=0; while(st==0){ switch(opcm){ case 1:{ string *Id=new string(); string *NombClient=new string(); string *Telefono=new string(); string *Direccion=new string(); int *TotalEnvios=new int; float *Monto=new float; cout<<"----DATOS PERSONALES----"<<endl; cout<<"Digite el Nombre----->"; cin>>*NombClient; Cl->setNombClient(NombClient); cout<<endl; fflush(stdin); cout<<"Digite su Direccion----->"; cin>>*Direccion;
Cl->setDireccion(Direccion); cout<<endl; fflush(stdin); cout<<"Digite su Telefono----->"; cin>>*Telefono;
Cl->setTelefono(Telefono); cout<<endl; fflush(stdin); cout<<"Digite su identificacion----->"; cin>>*Id; Cl->setId(Id); cout<<endl; fflush(stdin);
cout<<"Digite el Total de Envios----->"; cin>>*TotalEnvios; Cl->setTotalEnvios(TotalEnvios); cout<<"Digite el Monto por concepto de envios----->"; cin>>*Monto; Cl->setMonto(Monto); Cl=new Clientes(NombClient,Direccion, Telefono, Id, TotalEnvios, Monto); Lis->insertar(Cl); getchar();
cout<<"Desea continuar en el menu"<<endl; cout<<"-0. Seguir"<<endl; cout<<"-1. Salir"<<endl; cin>>st;//para salir al while break; } case 2: {
if(Lis->modificar(Id, Cl)=="0"){ cout << "No hay clientes registrados" << endl; } else{ cout << "Digite la cedula del Cliente que desea modificar" << endl; cin>>*Id; if(Lis->consultar(Id)=="-1"){ cout << "ERROR, No existe un cliente con ese ID" <<endl; } else{ cout<<"Digite el Nombre----->"; cin>>*NombClient; Cl->setNombClient(NombClient); cout<<endl; fflush(stdin); cout<<"Digite su Direccion----->"; cin>>*Direccion;
Cl->setDireccion(Direccion); cout<<endl; fflush(stdin); cout<<"Digite su Telefono----->"; cin>>*Telefono;
Cl->setTelefono(Telefono); cout<<endl; fflush(stdin); cout<<"Digite su identificacion----->"; cin>>*Id; Cl->setId(Id); cout<<endl; fflush(stdin);
cout<<"Digite el Total de Envios----->"; cin>>*TotalEnvios; Cl->setTotalEnvios(TotalEnvios); cout<<"Digite el Monto por concepto de envios----->"; cin>>*Monto; Cl->setMonto(Monto); Cl=new Clientes(NombClient,Direccion, Telefono, Id, TotalEnvios, Monto); Lis->modificar(Id,Cl) ; } } getchar(); getchar();
cout<<"Desea continuar en el menu"<<endl; cout<<"-0. Seguir"<<endl; cout<<"-1. Salir"<<endl; cin>>st;//para salir al while break;
} case 3:{
cout << "Digite el ID del cliente(s) a eliminar" << endl; cin>>*Id; ux=Lis->eliminar(Id); if(ux=="0"){ cout << "No hay Clientes en la lista" << endl; } else{
if(ux=="-1"){ cout << "Error no existe este Cliente" << endl; } else{ cout << "El Cliente se ha eliminado correctamente" << endl; } } getchar(); getchar(); cout<<"Desea continuar en el menu"<<endl; cout<<"-0. Seguir"<<endl; cout<<"-1. Salir"<<endl; cin>>st;//para salir al while break;
} case 4:{
cout << "Digite la cedula del Cliente a consultar" << endl; cin>>*Id; ux=Lis->consultar(Id); if(ux=="0"){ cout << "No hay clientes registrados con ese ID" << endl; } else{ if(ux=="-1"){ cout << "Error no existe dicho empleado" << endl; } else{ cout << Lis->consultar(Id) << "\n"; } } getchar(); getchar();
cout<<"Desea continuar en el menu"<<endl; cout<<"-0. Seguir"<<endl; cout<<"-1. Salir"<<endl; cin>>st;//para salir al while break; } case 5:{
ux=Lis->Listar(); if(ux=="0"){ cout << "No hay Clientes Inscritos" << endl; } else{ cout << ux << "\n"; } getchar();
Clientes *Cl=new Clientes(); cout<<"Desea continuar en el menu"<<endl; cout<<"-0. Seguir"<<endl; cout<<"-1. Salir"<<endl; cin>>st;//para salir al while break; } } } break; } default:{ exit(0); } }
}
return 0; }
| [/quote] |
| | Volver arriba | |  | rir3760

Registrado: 01 Oct 2004 Mensajes: 6586 Ubicación: Mexico
| Publicado: 02/12/2011 9:41 am | | | Título: |
| Por favor evita títulos con palabras como "¡¡¡AUXILIO!!!", eso mas que llamar la atención quita las ganas de leer los mensajes (Esa es la razón por la que edite tu mensaje).
Nada en el programa trata con archivos, ¿Que avances llevas en esa parte? Publicalos y tal vez alguien pueda ayudarte.
Un saludo _________________ Memory never recaptures reality. Memory reconstructs. All reconstructions change the original, becoming external frames of reference that inevitably fall short. -- Mentat Handbook |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |