#ifndef PERSONA_H
#define PERSONA_H
#include<iostream>
#include<string.h>
using namespace std;
class Persona{
	/*Definicion de atributos de la clase 
 	* Persona
	* Estos atributos se declaran de tipo 
	* privado, es decir, ninguna otra clase 
	* o programa va a poder acceder 
	* directamente a estos campos
	*/
	protected:
		char nombre[15];
		char apellido[15];
		short edad;
		int cedula;
		char direccion[100];
		int telefonoHogar;
		int telefonoCelular;
	public:
	/*Prototipos de los metodos de la clase 
	* Persona La implantacion de dichos metodos 
	* se encuentra en el archivo Persona.cpp
	*/
	
	//Constructores
	Persona();		  //Por omisión
	Persona(const Persona& ); //Por copia
	Persona(const char[],	  //Parametrico
			const char[],
			const short &,
			const char[],
			const int,
			const int,
			const int); 
	//Metodos de acceso
	char* obtenerNombre();
	char* obtenerApellido();
	short obtenerEdad();
	int obtenerCedula();
	int obtenerClave();
	char* obtenerDireccion();
	int obtenerTelefonoHogar();
	int obtenerTelefonoCelular();

	//Metodos de modificacion
	void asignarNombre(const char []);
	void asignarApellido(const char []);
	void asignarEdad(const short&);
	void asignarDireccion(const char []);
	void asignarCedula(const int&);
	void asignarClave(const int&);
	void asignarTelefonoHogar(const int&);
	void asignarTelefonoCelular(const int&);
	
	//Metodos de lectura escritura y asignacion
	void scan();
	void print();
	void print2();

	//Destructor
	~Persona();
	
	//Sobrecarga de operadores
	friend ostream &operator<<(ostream &, const Persona &);
	friend istream &operator>>(istream &, Persona &);

};

// Funcion auxiliar
void sustituirCaracter(char *, char );
#endif

