Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Derethir

#1
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
  • ;
                   persona->extraer(persona);
                   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!