Título: [MOD] Errores programación principiante ayuda Publicado por: Derethir en 7 Mayo 2012, 18:35 pm Buenas!
Soy noob en esto de la programacion, y se que muchos estareis ocupados.. pero si alguien tuviese algo de tiempo para ayudarme.. se lo agradeceria en el alma.. Bueno, he estado intentando hacer un codigo de una agenda electronica, y al compilarlo (con Dev-c++) me da errores en varias lineas.. me gustaria que intentarais compilarlo, y me corrigierais si esta mal.. y a poder ser, si ya me dijerais porque esta mal, aprenderia mucho mas.. Gracias de antemano, y alla va el codigo (Puede que este mal estructurado y demas.. pero es que como ya he dicho.. voy a base de tutoriales.. y pff..) #include <cstdlib> #include <iostream> #include <fstream> using namespace std; class Agenda{ char nombre[15]; char apellido[30]; char direccion[30]; char poblacion[20]; char provincia[20]; int postal; int telefono; int agenda[50]; public: int contar(); void extraer(Agenda* Persona); void ordenar(Agenda* Persona); void agregaralfi(const char* nombre,const char* apellido,const char* direccion,const char* poblacion,const char* provincia,int postal, int telefono); const char* getnom(); const char* getapell(); const char* getdirec(); const char* getpob(); const char* getpro(); int getpos(); int gettel(); void set(char*,char*,char*,char*,char*,int,int); }; int main(int argc, char *argv[]) { int op; do{ cout<<"1.Agregar contacto"<<endl; cout<<"2.Buscar contacto"<<endl; cout<<"3.Modificar contacto"<<endl; cout<<"4.Eliminar contacto"<<endl; cout<<"5.Impresion de la agenda"<<endl; cout<<"6. Salir"<<endl; cin>>op; if (op == 1)//Agregar contacto { char nombre[15]; char apellido[30]; char direccion[30]; char poblacion[20]; char provincia[20]; int postal; int telefono; cin.ignore(); cout<<"Ingrese el nombre: "; cin.getline(nombre,15); cout<<endl<<"Ingrese el apellido: "; cin.getline(apellido,30); cout<<endl<<"Ingrese la direccion: "; cin.getline(direccion,30); cout<<endl<<"Ingrese la poblacion: "; cin.getline(poblacion,20); cout<<endl<<"Ingrese la provincia: "; cin.getline(provincia,20); cout<<endl<<"Ingrese el codigo postal: "; cin>>postal; cout<<endl<<"Ingrese el telefono: "; cin>>telefono; Agenda persona; persona.agregaralfi((const char*)nombre, apellido, direccion, poblacion, provincia, postal, telefono); } else if (op == 2)//Buscar contacto { char nombre[15]; char apellido[30]; char direccion[30]; char poblacion[20]; char provincia[20]; int postal; int telefono; int agenda[50]; int numper = 0; int i, j;//variables de control int encontrado=0; cout<<"Introduzca el apellido de la persona que desea buscar."<<endl; cin.getline(apellido,30); for(i=0;i<numper;i++){ if(apellido){ cout<<"Número de Registro: "<<i+1<<endl; cout<<"Nombre ==>:"<<nombre<<agenda<<endl; cout<<"Apellidos ==>:"<<apellido<<agenda<<endl; cout<<"Direccion ==>:"<<direccion<<agenda<<endl; cout<<"Poblacion ==>:"<<poblacion<<agenda<<endl; cout<<"Provincia ==>:"<<provincia<<agenda<<endl; cout<<"Codigo Postal ==>:"<<postal<<agenda<<endl; cout<<"Télefono ==>:"<<telefono<<agenda<<endl; j=1; system("pause"); system("cls"); } } if(j!=1){ cout<<"No exíste esa persona en la lista de contactos..."<<endl; system("pause"); system("cls"); } else if (op == 3)//Modificar contacto { int i, j; int encontrado=0; for (i=0;i<numper;i++){ if (apellido){ encontrado=1; j=i; } } if (encontrado==1){ cout<<"Número de Registro: "<<i+1<<endl; cout<<"Nombre ==>:"<<nombre<<agenda<<endl; cout<<"Apellidos ==>:"<<apellido<<agenda<<endl; cout<<"Direccion ==>:"<<direccion<<agenda<<endl; cout<<"Poblacion ==>:"<<poblacion<<agenda<<endl; cout<<"Provincia ==>:"<<provincia<<agenda<<endl; cout<<"Codigo Postal ==>:"<<postal<<agenda<<endl; cout<<"Télefono ==>:"<<telefono<<agenda<<endl<<endl; int opc1; cout<<"Que desea modificar de la persona \n"; cout<<"1.Nombre \n"; cout<<"2.Apellido \n"; cout<<"3.Dirección \n"; cout<<"4.Poblacion \n"; cout<<"5.Provincia \n"; cout<<"6.Codigo Postal \n"; cout<<"7.Telefono \n"; cout<<"Que opcion desea \n"; cin>>opc1; system("CLS"); switch(opc1){ case 1: cout<<"Nombre"<<endl; cin.getline(nombre, 15)>>agenda[numper]; case 2: cout<<"Apellidos"<<endl; cin.getline(apellido, 30)>>agenda[numper]; case 3: cout<<"Direccion"<<endl; cin.getline(direccion,30)>>agenda[numper]; case 4: cout<<"Poblacion"<<endl; cin.getline(poblacion,20)>>agenda[numper]; case 5: cout<<"Provincia"<<endl; cin.getline(provincia,20)>>agenda[numper]; case 6: cout<<"Codigo Postal"<<endl; cin>>postal>>agenda[numper]; case 7: cout<<"Numero de telefono"<<endl; cin>>telefono>>agenda[numper]; } else if (op == 4) //Eliminar contacto { int i, r, k;//variables de control char apell; do{ cout<<"Teclee el apellido de la persona que va a eliminar"<<endl; cin>>apellido; for(i=0; i<numper; i++){ if(apellido){ cout<<"Número de Registro: "<<i+1<<endl; cout<<"Nombre ==>:"<<nombre<<agenda<<endl; cout<<"Apellidos ==>:"<<apellido<<agenda<<endl; cout<<"Direccion ==>:"<<direccion<<agenda<<endl; cout<<"Poblacion ==>:"<<poblacion<<agenda<<endl; cout<<"Provincia ==>:"<<provincia<<agenda<<endl; cout<<"Codigo Postal ==>:"<<postal<<agenda<<endl; cout<<"Prefijo Telefono ==>:"<<prefijo<<agenda; cout<<"-"<<telefono<<agenda<<endl; i=apeli; do{ cout<<"esta seguro que desea eliminar el contaco?"<<endl; cout<<"1:si \n2:no"<<endl; cin>>r; if(r<1 || r>2){ cout<<"error intente de nuevo"; system("pause"); system("cls"); } else { apellido; } }while(r<1 || r>2); system("cls"); break; }else {cout<<"el contacto no existe o por lo menos no con ese numero\n desea intentar de nuevo?"<<endl; cout<<"1:si \n2:no \n"; cin>>k; system("cls"); } } }while(k==1); } else if (op == 5)//Imprimir { Agenda *persona; int x=persona->contar(); if (x > 0){ persona= new Agenda
for (int i=0;i<x;i++) cout<<persona.getnom()<<endl<<persona.getapell()<<endl<<persona.gettel()<<endl; } else if (x==0) cout<<"No hay personas"<<endl; else cout<<"Error al abrir el archivo, compruebe su existencia"<<endl; delete[] persona; } else if (op == 6){ cout<<"Byee!"<<endl; } cout<<"\n\n\n"; }while (op != 6); cin.get(); return EXIT_SUCCESS; } void Agenda::extraer(Agenda* Persona){ ifstream ent("Agenda.txt"); if (!ent){ cout<<"Error al abrir el archivo, compruebe su existencia"<<endl; return; } for (int i=0;i<contar();i++){ ent.getline(Persona.nombre,15,':'); ent.getline(Persona.apellido,30,':'); ent.getline(Persona.direccion,30,':'); ent.getline(Persona.poblacion,20,':'); ent.getline(Persona.provincia,20,':'); ent>>Persona.postal; ent>>Persona.telefono; ent.ignore(); } ent.close(); } int Agenda::contar(){ ifstream ent("Agenda.txt"); if (!ent){ return -1; } int c=0; while (ent) if (ent.get() == '\n') c++; ent.close(); return c; } void Agenda::ordenar(Agenda* Persona){ int c=contar(); ofstream sal("Agenda.txt"); sal.close(); for (int i=0;i<c-1;i++) for (int j=i+1;j<c;j++) if (strcmp(Persona.getnom(), Persona[j].getnom()) > 0){ Agenda AUX=Persona; Persona=Persona[j]; Persona[j]=AUX; } } void Agenda::agregaralfi(const char* nom,const char* apel,const char* direc,const char* pob,const char* pro,int pos, int tel){ ofstream sal("Agenda.txt", ios::out | ios::app | ios::ate); if (!sal) exit(1); sal.setf(ios::left); sal.width(29); sal<<nombre<<':'<<tel<<endl; sal.close(); } void Agenda::set(char nom[], char apell[], char direc[], char pob[], char pro[], int tel, int pos){ strcpy(this->nombre,nom); strcpy(this->apellido,apell); strcpy(this->direccion,direc); strcpy(this->poblacion, pob); strcpy(this->provincia, pro); strcpy(this->nombre,nom); this->telefono=tel; this->postal=pos; } const char* Agenda::getnom(){ return this->nombre; } const char* Agenda::getapell(){ return this->apellido; } const char* Agenda::getdirec(){ return this->direccion; } const char* Agenda::getpob(){ return this->poblacion; } const char* Agenda::getpro(){ return this->provincia; } int Agenda::getpos(){ int y=this->postal; return y; } int Agenda::gettel(){ int x=this->telefono; return x; } Gracias por la comprension y la ayuda! |