int _tmain(int argc, _TCHAR* argv[]) {

	ifstream archivoOperaciones("operaciones.txt");
	ofstream archivoResultados("resultados.txt");

	Lista operaciones(archivoOperaciones);

	cout << "Operaciones:\n" << operaciones << endl;

	cout << "Operaciones Resueltas: " << endl;
	for (int i = 0; i < operaciones.getCantidadElementos(); i++) {

		Elemento * operacionActual = operaciones.getCopy(i);

		Arbol arbol(operacionActual->clonar());
		arbol.descomponer();
		Operando * resultado = dynamic_cast<Operando *>(arbol.solucionar());
		archivoResultados << *resultado << endl;

		cout << i + 1 << ". " << *operacionActual << " = " << *resultado << endl;

		delete operacionActual;
	}

	archivoOperaciones.close();
	archivoResultados.close();

	system("pause");
	return 0;
}
int main(int argc, char** argv)
{

	FILE *filePrograma;
	//variables del archivo programa
	char instrucProgram[10];
	char registroProgram[10];
	int datoProgram;
	char comando[10],archivo[10];
	int PID;
	PID=1;

	initscr();
	mvprintw(0,0,"Ever$");
	mvprintw(1,2,"PID\t ESTADO\t\tAX\tBX\tCX\tDX\tIMAGEN\n");

while(comando != "salir"){
	move(0,6);
	refresh();
	if(KeyBoardHit())
		{
			mvscanw(0,6,"%s %s",comando, archivo);
			mvprintw(0,5,"\t\t\t");
		}

	if(strcasecmp(comando,"salir")==0){
		break;
	}

	if (strcasecmp(comando,"ejecutar")==0)
		{
			filePrograma = fopen ( archivo, "r" );        

			if (filePrograma==NULL)
				{;}
				// {fputs ("File error",stderr); exit (1);}
			else{
				while (fscanf( filePrograma,"%s%d%s",instrucProgram,&datoProgram,registroProgram)!=EOF)
   					{
   						operaciones(instruccionLee(instrucProgram),datoProgram,registroLee(registroProgram));

	      				mvprintw(2,2,"%d\t %s\t %d\t%d\t %d\t %d\t %s\t\n",PID,estado,AX,BX,CX,DX,archivo);
						refresh();
						sleep(2);
   						//erase();//borramos cada printw que vamos haciendo 
   						PID+=1;
   					}
   					//devolver valores iniciales a los registros
   					PID=0;
   					AX=0;BX=0;CX=0;DX=0;
   					strcpy(estado,"Ejecucion");
   					//
   				fclose ( filePrograma );
   				mvprintw(2,2,"\t\t\t\t\t\t\t\t\t\t");
   				strcpy(comando," ");//cambio el valor de comando para volver a solicitar el comando

				}
		}
	}

	endwin();
	return 0;
}