#include "ArchivoPersona.h"
#include<iostream>
using namespace std;


int main(int argc, char *argv[]){
	int opc = 0, opc2 = 0;
	ArchivoPersona personas;
	Persona p;
	string principal, desborde, cedula;
	char ced[15];
	int tamano=0, aux;

	principal = "principal";
	desborde = "desborde";

	if ( argc < 2 ){
		cout << "Utilice: hash <opc> <argcs>" << endl;
		exit(-1);
	}

	if (personas.Abrir(principal,desborde)){

		opc = atoi(argv[1]);
		switch (opc){
			// Agregar una persona
			case 1:
				//p.scan();
				p.asignarNombre(argv[2]);
				p.asignarApellido(argv[3]);
				strcpy(ced, argv[4]);
				p.asignarCedula(ced);
				p.asignarEdad(atoi(argv[5]));
				p.asignarDireccion(argv[6]);
				p.asignarTelefonoHogar(atoi(argv[7]));
				p.asignarTelefonoCelular(atoi(argv[8]));
				personas.Agregar(p);
			break;
			// Buscar una persona
			case 2:
				strcpy(ced, argv[2]);
				p.asignarCedula(ced);
				personas.Buscar(p);
				p.print();
			break;
			// Listar Personas
			case 3:
				for (long i = 0; i < personas.numMaxRegPric(); i++)
					if (personas.Buscar(true, i, p))
						p.print2(); 
				for (long i = 0; i < personas.numMaxRegDes(); i++)
					if (personas.Buscar(false, i, p))
						p.print2(); 
			break;
			// Eliminar Persona
			case 4:
				strcpy(ced, argv[2]);
				p.asignarCedula(ced);
				personas.Eliminar(p);
			break;
			// Modificar Persona
			case 5:
				opc2 = atoi(argv[2]);
				switch (opc2){
				case 1:
				   strcpy(ced, argv[3]);
				   p.asignarCedula(ced);
				   if(personas.Buscar(p)){
				      Persona p2(p);
				      p2.asignarNombre(argv[4]);
				      personas.Modificar(p, p2);
				   }
				break;
				}
			break;
		}
	}
	return 0;
}

