Ejemplo n.º 1
0
// Programa principal
int main(int argc, char *argv[])
{	
    void* objeto;	
	int valor1 = 156;
	int valor2 = 188;	
	Hash* willy;
	Pessoa* p_ricardo;
	Pessoa* p_antonio;
	Hash* deInteiros;
	
	p_ricardo = inicializa_pessoa();
	p_antonio = inicializa_pessoa(); 
	
	p_ricardo = cria_pessoa(304050, 13640043);
	p_antonio = cria_pessoa(306050, 13740012);
	
	willy = inicializa(100, &compara_pessoas);
	
	insere(willy, "RicardoChave", p_antonio);
	insere(willy, "RicardoChave", p_ricardo);
	
	objeto = busca(willy, "RicardoChave", p_antonio);
	
	if(objeto == NULL) {
		printf("Objeto nao encontrado!\n");
	} else {
		Pessoa* pessoa = (Pessoa*) objeto;
		printf("RG com cast: %d\n", pessoa->rg);
		printf("CPF com cast: %d\n", pessoa->cpf);
	}
		
	printf(" \n");
	printf("Criando uma tabela hash agora de inteiros..\n");
	printf(" \n");
	deInteiros = inicializa(100, compara_inteiros);
	insere(deInteiros, "Inteiro", (void*)(&valor1));
	insere(deInteiros, "Inteiro", (void*)(&valor2));
	objeto = busca(deInteiros, "Inteiro", (void*)(&valor1));
	if( objeto == NULL ) {
		printf("Objeto encontrado\n");
	} else {
		int* int_ = (int*)objeto;
		printf("Inteiro: %d\n", *int_);
	}
	objeto = busca(deInteiros, "Inteiro", (void*)(&valor1));
	if(objeto == NULL)
		printf("Ele nao existe na tabela!");
	
		
	
	libera(willy);
	free(willy);
	libera(deInteiros);
	free(deInteiros);	
	return 0;
}
//Funcao para login no sistema
int login(){
    
    //Declara variaveis de controle
    Cliente *pessoa = cria_pessoa();
    char *cpf, *senha;

    system("cls");
    
    //Recebe CPF do usuario
    fflush(stdin);
    printf("\nDigite seu CPF: ");
    gets(pessoa->cpf);
    
    //Busca esse CPF no arquivo
    cpf = busca_informacao(pessoa->cpf, "cpf");
    
    //Recebe Senha do usuario
    fflush(stdin);
    printf("\nDigite sua senha: ");
    gets(pessoa->senha);

    //Busca esse SENHA no arquivo
    senha = busca_informacao(pessoa->senha, "senha");
    
    //Compara se o CPF e a SENHA sao iguais a digitas 
    if((comparaStrings(pessoa->senha, senha) == 1 ) && (comparaStrings(pessoa->cpf, cpf) == 1)) //Preciso alterar essa comparacao 
        return 1;
    else
        return 0;
}
//Cadastra informacoes digitadas pelo usuario no arquivo
void cadastra_cliente(){
    Cliente *pessoa = cria_pessoa();

    fflush(stdin);
    printf("\nDigite seu CPF: ");
    gets(pessoa->cpf);
    registra_informacao(pessoa->cpf, "cpf", pessoa->cpf);

    fflush(stdin);
    printf("\nDigite seu nome: ");
    gets(pessoa->nome);
    registra_informacao(pessoa->cpf, "nome", pessoa->nome);

    fflush(stdin);
    printf("\nDigite sua senha: ");
    gets(pessoa->senha);
    registra_informacao(pessoa->cpf, "senha", pessoa->senha);

    fflush(stdin);
    printf("\nDigite um valor inicial: ");
    gets(pessoa->valor);
    registra_informacao(pessoa->cpf, "valor", pessoa->valor);
}