int pruebaAlmacenamientoBufferCache(char nombre_archivo[] ){ AtributoVariable<string> nombre("N"); AtributoVariable<int> numeros("#"); AtributoFijo<int> num("n"); Registro registro(3,&nombre,&numeros,&num); Bloque bloque(®istro); Clave clave(®istro,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(®istro)) cout<<"Problema"<<endl; } cache.imprimir(cout); cache.cerrar(); archivo.setEstrategia(&estrategia); archivo.abrir(nombre_archivo); archivo.imprimir(cout); archivo.cerrar(); return 0; }
int pruebaEstragiaCompresionAlmacenamiento(char nombre_archivo[]){ AtributoFijo<char*> nombre("N",10); Registro registro(1,&nombre); EARegistros estrategia(®istro); 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(®istro); } 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; }
int pruebaEstragiaCompresionAlmacenamiento1(char nombre_archivo[]){ AtributoVariable<string> nombre("N"); AtributoVariable<int> numeros("#"); AtributoFijo<int> num("n"); Registro registro(3,&nombre,&numeros,&num); Bloque bloque(®istro); Clave clave(®istro,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(®istro)) 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'); }