#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;
}
To embed this project on your website, copy the following code and paste it into your website's HTML: