Пример #1
0
int pruebaAlmacenamientoBufferCache(char nombre_archivo[] ){
	AtributoVariable<string> nombre("N");
	AtributoVariable<int> numeros("#");
	AtributoFijo<int> num("n");
	Registro registro(3,&nombre,&numeros,&num);
	Bloque bloque(&registro);
	Clave clave(&registro,1,"N");
	ComparadorRegistroVariable comparador;
	EABloques estrategia(&bloque,125,0.8f);
	estrategia.setClave(&clave);
	estrategia.setComparador(&comparador);
	Archivo archivo(&estrategia);
	AlmacenamientoBufferCache cache(&archivo,5);
	/*archivo original*/
	cache.crear(nombre_archivo);
	for(int i=0;i<5;i++){
		*(AtributoVariable<string>*)registro.get(0)=Terminos::obtenerTermino(i).c_str();
		((AtributoVariable<int>*)registro.get(1))->getVector().clear();
		for(int j=0;j< i%4+1;j++){
			((AtributoVariable<int>*)registro.get(1))->getVector().push_back(j);
		};
		*((AtributoFijo<int>*)registro.get(2))=i;
		if(not ((Almacenamiento&)cache).insertar(&registro))
			cout<<"Problema"<<endl;
	}
	cache.imprimir(cout);
	cache.cerrar();
	archivo.setEstrategia(&estrategia);
	archivo.abrir(nombre_archivo);
	archivo.imprimir(cout);
	archivo.cerrar();
	return 0;
}
Пример #2
0
int pruebaEstragiaCompresionAlmacenamiento(char nombre_archivo[]){
	AtributoFijo<char*> nombre("N",10);
	Registro registro(1,&nombre);
	EARegistros estrategia(&registro);
	Archivo archivo(&estrategia);
	/*archivo original*/
	archivo.crear(nombre_archivo);
	for(int i=0;i<200;i++){
		*(AtributoFijo<char*>*)registro.get(0)=Terminos::obtenerTermino(i).c_str();
		((Almacenamiento&)archivo).escribir(&registro);
	}
	cout<<"/***************COMPRIMIENDO************************/"<<endl;
	archivo.imprimir(cout);
	archivo.cerrar();
	EstrategiaCompresion compresion;
	archivo.abrir(nombre_archivo);
	compresion.compresion(&archivo,10);
	archivo.cerrar();
	/*creo un archivo para los descomprimidos*/
	cout<<endl<<"/***************DESCOMPRIMIENDO************************/"<<endl;
	remove(nombre_archivo);
	archivo.crear(nombre_archivo);
	compresion.descompresion(&archivo);
	archivo.imprimir(cout);
	archivo.cerrar();
	return 0;
}
Пример #3
0
int pruebaEstragiaCompresionAlmacenamiento1(char nombre_archivo[]){
	AtributoVariable<string> nombre("N");
	AtributoVariable<int> numeros("#");
	AtributoFijo<int> num("n");
	Registro registro(3,&nombre,&numeros,&num);
	Bloque bloque(&registro);
	Clave clave(&registro,1,"N");
	ComparadorRegistroVariable comparador;
	EstrategiaCompresion compresion;
	EABloques estrategia(&bloque,125,0.8f);
	estrategia.setClave(&clave);
	estrategia.setComparador(&comparador);
	Archivo archivo(&estrategia);
	/*archivo original*/
	archivo.crear(nombre_archivo);
	if(not compresion.descompresion(&archivo)){
		for(int i=0;i<5;i++){
			*(AtributoVariable<string>*)registro.get(0)=Terminos::obtenerTermino(i).c_str();
			((AtributoVariable<int>*)registro.get(1))->getVector().clear();
			for(int j=0;j< i%4+1;j++){
				((AtributoVariable<int>*)registro.get(1))->getVector().push_back(j);
			};
			*((AtributoFijo<int>*)registro.get(2))=i;
			if(not ((Almacenamiento&)archivo).insertar(&registro))
				cout<<"Problema"<<endl;
		}
		//archivo.imprimir(cout);
		compresion.compresion(&archivo,512);
		cout<<"/***************COMPRIMIENDO************************/"<<endl;
	}else{
		archivo.imprimir(cout);
		cout<<"/***************DESCOMPRIMIDO**********************/"<<endl;
	}
	archivo.cerrar();
	remove(nombre_archivo);
	return 0;
}
int main(void)
{
   
   system("color 0f");

	do{
		perm = 0;
		//-----------------------------MENU-------------------------------------------------------------
		system("cls");
	    printf("*********************************************\n");
	    printf("**   --------- ESTACIONAMENTO ----------   **\n");
	    printf("*********************************************\n");
		printf("_____________________________________________\n");
		printf("**                   -                     **\n");
		printf("**   1.Entrada       -       2.Saida       **                PIM IV\n");
		printf("**                   -                     **          *****************\n");
		printf("**-----------------------------------------**           UNIP INTERATIVA\n");
		printf("**                   -                     **          *****************\n");
		printf("**   3.Listar        -   4.Fechar Caixa    **\n");
		printf("**                   -                     **\n");
		printf("**-----------------------------------------**\n");
		printf("**                   -                     **\n");
		printf("**  5.Configuracoes  -       6.Sobre       **\n");
		printf("**                   -                     **\n");
		printf("**-----------------------------------------**\n");
		printf("**                 7.Sair                  **         %d Vagas Disponiveis\n",vagasDisponiveis);
		printf("**_________________________________________**    *****************************\n");
		
		printf("\n\n Digite a Opcao Desejada : ");
		scanf("%s", &perm);
		//-----------------------------MENU-------------------------------------------------------------
		
		//condicional switch para utilizar as funções de acordo com cada opção do menu
		switch(perm){
			case('1'):
				system("cls"); // Apaga todas informações da tela
				registro();  // Função que cadastra veiculos
				break;
			case('2'):
				system("cls"); //Apaga todas informações da tela
				saidaVeiculo(); // Função que registra a saida de um veiculo
				break;
			case('3'):
				system("cls"); //Apaga todas informações da tela
				lista();  // Função que lista todos veiculos cadastrados
				break;
			case('4'):
				system("cls");
				fecharCaixa();
				break;
			case('5'):
				system("cls");
				configurar();
				break;
			case('6'):
				sobre();
				break;
			case('7'):
				system("cls"); 
				perm = '7';
				break;
			default:
				system("cls");
				printf("Caractere invalido.");
				break;
				
			
				
		}
    }while(perm != '7');  
}