#include<iostream>
#include<fstream>
using namespace std;
class persona 
{
  public:
         persona();
         ~persona();
        friend istream &operator >> (istream &entrada, persona &obj);
        friend ostream &operator << (ostream &entrada, persona &obj);
        void guardar_archivo();
        void leer_archivo();
        friend class agenda;
  private :
         string nombre, email, tel;
};
persona::persona()
{
    nombre="sin asignar";
    email="sin asignar";
    tel="sin asignar";
}
persona::~persona()
{}
istream &operator >> (istream &entrada, persona &obj)
{
   cout<<"Introduce nombre:";entrada>>obj. nombre;
   cout<<"Introduce email:";entrada>>obj. email;
   cout<<"Introduce telefono:";entrada>>obj. tel;
}
ostream &operator << (ostream &entrada, persona &obj)
{
    salida<<"Nombre:"<<obj. nombre<<"e_mail:"<<obj. email<<"Telefono:"<<obj. tel<<endl;
}
void persona::guardar_archivo()
{
    ostream archivo;
    archivo.open("Agenda. DOC",ios::apc);//out, apc=append (adicionar)
    cout<<"Guardar datos"<<endl;
    if (archivo.fail())
    {
        cout<<"Error de apertura"<<endl;
    }
    else 
    {
        archivo<<"Nombre:"<<nombre<<endl;
        archivo<<"e_mail:"<<email<<endl;
        archivo<<"Telefono:"<<tel<<endl;
        
    }
    archivo.close();
}
void persona::leer_archivo()
{
    ifstream archivo; 
    string texto;
    archivo.open("Agenda.DOC");
    if(archivo.fail())
    {
        cout<<"Error de lectura..."<<endl;
    }
    else 
    {
        while (!archivo.eof())
            {
                getline (archivo, texto);
                cout<<texto<<endl;
            }
    }
    archivo.close();
}
void clases_amigos();
int main()
{
    clases_amigos();
    return 0;
}
void clases_amigos()
{
    int opc, tel;
    char reps;
    string nombre, mail;

    persona p1;
    agenda a1;
    cout << "Introduce datos a la agenda: " << endl;
    cin >> p1;
    cout << "Persona agendada: " << endl;
    cout << p1;

    cout << "¿Son correctos los datos? (s/n): ";
    cin >> reps;
    cin.ignore();  

    if (reps == 'N' || reps == 'n')
    {
        cout << "1. Actualiza nombre: " << endl;
        cout << "2. Actualiza email: " << endl;
        cout << "3. Actualiza telefono: " << endl;
        cout << "Elige una opcion: ";
        cin >> opc;

        cin.ignore(); 

        switch (opc)
        {
        case 1:
            cout << "Introduce nuevo nombre: ";
            getline(cin, nombre);
            a1.actualizan_nombre(nombre, p1);
            cout << "Nombre actualizado correctamente" << endl;
            break;
        case 2:
            cout << "Introduce nuevo e_mail: ";
            getline(cin, mail);
            a1.actualizan_email(mail, p1);
            cout << "actualizado correctamente" << endl;
            break;
        case 3:
               cin.ignore();
               cout<<"Introduce telefono:"<<endl;
               getline(cin,t);
               agenda1.actualiza_tel(t, persona1);
               cout<<persona1;
               break;
        default:
            cout << "Opcion no valida..." << endl;
            exit(0);
        }

        cout << "Datos son correctos (s/n)?";
        fflush(stdin);
        cin>>resp;
    }
    cout<<"Persona Agenda"<<endl;
    persona1.guardar_archivo();
    persona1.leer_archivo();
    return 0;
}


    

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: