Foros del Web » Programación para mayores de 30 ;) » Programación General »

programacion de agenda en c++

Estas en el tema de programacion de agenda en c++ en el foro de Programación General en Foros del Web. #include <iostream> #define clrscr system("cls") #define pause system("pause") using namespace std; struct TFecha { int Dia,Mes,Anio; }; class Persona { char Nombre[40]; char Direccion[40]; int ...
  #1 (permalink)  
Antiguo 10/01/2011, 04:31
 
Fecha de Ingreso: enero-2011
Mensajes: 1
Antigüedad: 13 años, 3 meses
Puntos: 0
programacion de agenda en c++

#include <iostream>
#define clrscr system("cls")
#define pause system("pause")

using namespace std;

struct TFecha
{
int Dia,Mes,Anio;
};


class Persona
{
char Nombre[40];
char Direccion[40];
int Edad;
int Telefonos[5];
int NTelefonos;
TFecha FNacimiento;
public:
Persona();
int Asignar(char PNombre[40], char PDireccion[40], int PEdad,int PTelefonos[5], int PNTelefonos, TFecha PFNacimiento);
void Get_Nombre(char PNombre[40]);
void Set_Nombre(char PNombre[40]);
void Get_Direccion(char PDireccion[40]);
void Set_Direccion(char PDireccion[40]);
int Get_Edad();
void Set_Edad(int Edad);
void Get_Telefonos(int PTelefonos[5], int &PNTelefonos);
void Set_Telefonos(int PTelefonos[5], int PNTelefonos);
TFecha Get_FechaNacimiento();
void Set_FechaNacimiento(TFecha PFNacimiento);

int operator==(Persona &PersonaBuscada);
void Guardar(FILE *Fichero);
void Recuperar(FILE *fichero);
};

void MostrarPersona(Persona P);
Persona PedirDatosPersona();

Persona::Persona()
{

}

int Persona::Asignar(char PNombre[40], char PDireccion[40], int PEdad,int PTelefonos[5], int PNTelefonos, TFecha PFNacimiento)
{

}

inline void Persona::Get_Nombre(char PNombre[40])
{

}

inline void Persona::Set_Nombre(char PNombre[40])
{

}

inline void Persona::Get_Direccion(char PDireccion[40])
{

}

inline void Persona::Set_Direccion(char PDireccion[40])
{

}

inline int Persona::Get_Edad()
{

}

inline void Persona::Set_Edad(int PEdad)
{

}

inline void Persona::Get_Telefonos(int PTelefonos[5], int &PNTelefonos)
{

}

inline void Persona::Set_Telefonos(int PTelefonos[5], int PNTelefonos)
{

}

inline TFecha Persona::Get_FechaNacimiento()
{

}

inline void Persona::Set_FechaNacimiento(TFecha PFNacimiento)
{

}


int Persona::operator==(Persona &PersonaBuscada)
{

}


void Persona::Guardar(FILE *Fichero)
{
fwrite(Nombre,sizeof(char),40,Fichero);
fwrite(Direccion,sizeof(char),40,Fichero);
fwrite(&Edad,sizeof(int),1,Fichero);
fwrite(&NTelefonos,sizeof(int),1,Fichero);
fwrite(Telefonos,sizeof(int),NTelefonos,Fichero);
fwrite(&FNacimiento,sizeof(TFecha),1,Fichero);
}


void Persona::Recuperar(FILE *Fichero)
{
fread(Nombre,sizeof(char),40,Fichero);
fread(Direccion,sizeof(char),40,Fichero);
fread(&Edad,sizeof(int),1,Fichero);
fread(&NTelefonos,sizeof(int),1,Fichero);
fread(Telefonos,sizeof(int),NTelefonos,Fichero);
fread(&FNacimiento,sizeof(TFecha),1,Fichero);
};

void MostrarPersona(Persona P)
{

}

Persona PedirDatosPersona()
{

}

//-----------------------------------------------------------------------------------------


class Agenda
{
Persona Propietario;
Persona Amigos[100];
int NAmigos;
public:
Agenda();
~Agenda();

int AniadirContacto(Persona PAmigo);
int BorrarContacto(int Pos);
int BuscarContacto(Persona PAmigo);
void MostrarContacto(int PosAmigo);
void MostrarAgenda();
int NContacto() {return NAmigos;};
void Guardar();
void Recuperar();

};

Agenda::Agenda()
{

}

Agenda::~Agenda()
{

}

void Agenda::MostrarContacto(int PosAmigo)
{

}

void Agenda::MostrarAgenda()
{

}

int Agenda::AniadirContacto(Persona PAmigo)
{

}


int Agenda::BorrarContacto(int Pos)
{

};


int Agenda::BuscarContacto(Persona PAmigo)
{

}

void Agenda::Guardar()
{
FILE *fout;
fout=fopen("agenda.dat","wb");
if (fout!=NULL)
{
Propietario.Guardar(fout);
fwrite(&NAmigos,sizeof(int),1,fout);
for (int i=0; i<NAmigos; i++)
Amigos[i].Guardar(fout);
fclose(fout);
}
}

void Agenda::Recuperar()
{
FILE *fin;
fin=fopen("agenda.dat","rb");
if (fin!=NULL)
{
Propietario.Recuperar(fin);
fread(&NAmigos,sizeof(int),1,fin);
for (int i=0; i<NAmigos; i++)
Amigos[i].Recuperar(fin);
fclose(fin);
}
}


//---------------------------------------------------------------------------

int main(int argc, char* argv[])
{
Agenda AgenPersonal;

int Opcion;
do
{
clrscr;
cout<<"\nMENU PRINCIPAL";
cout<<"\n**************\n";
cout<<"\n1.- Mostrar Agenda";
cout<<"\n2.- Insertar un Contacto";
cout<<"\n3.- Borrar un Contacto";
cout<<"\n4.- Salida\n";
cout<<"\nElige Opcion: ";
cin>>Opcion;

switch(Opcion)
{
case 1:
break;
case 2:
break;
case 3:
break;
case 4: break;
default: cout<<"Opcion de menu incorrecta\n\n";
pause;
}
} while (Opcion!=4);
return 0;
}
Tengo que acabar de programar esto y no tengo idea alguna de como hacerlo. si alguien me pudiera echar una mano le estaria muy agradecido.Ademas como recien empeze a programar les dejo algunas dudillas:
a)Persona::Persona();
Método constructor que inicializa los atributos de la clase a un valor inicial, 0 para los numéricos,
“” para las cadenas.
¿me podrian decir que significa esto y que tipo de codigo tendria que poner aqui?( solo el tipo de informacion que tendria que poner, creo que tendria que poner que introduzca el nombre de persona pero es que abajo de esto viene esto:int Persona::Asignar(char PNombre[40], char PDireccion[40], int PEdad,
int PTelefonos[5], int PNTelefonos, TFecha PFNacimiento);
Método que asigna a los atributos de la clase los datos pasados por parámetro siempre y cuando
sean correctos. Los parámetros son correctos si las cadenas no son “” la edad mayor de 0 y el número de teléfonos de 0 a 5; asi que no se muy bien en cual de los dos ponerlo)
b) ¿me podrian decir para que sirve el inline?(en el ejercicio me da estos apartados pero sin el inline dentro:void Persona::Get_Nombre(char PNombre[40]);void Persona::Get_Direccion(char PDireccion[40]);
int Persona::Get_Edad();
void Persona::Get_Telefonos(int PTelefonos[5], int &PNTelefonos);
TFecha Persona::Get_FechaNacimiento();
Métodos que devuelven por parámetro respectivamente el nombre, la dirección y los teléfonos y
con return la edad y la fecha de nacimiento.
¿por que le pone en la estructura un inline delante?¿para que sirve?
c)¿ como puedo hacer que devuelva un parametro? ¿con que comando?
Gracias

Etiquetas: agenda, programacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:19.