Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define MAX 100
- void incluir(char cpf[], char nome[], char end[], char tel[], char site[]);
- int do_hash(char cpf[]);
- void popular();
- void imprimirTudo();
- void imprimir(int tmp);
- int consultar(char cpf[]);
- void imprimirColuna(int tmp, int col);
- char lista[MAX][4][30];
- int tab_hash[MAX];
- int itab_hash = 0;
- int main() {
- int op, col, tmp;
- char cpf[20];
- popular();
- do{
- printf("1-Consultar por CPF\n2-Imprimir Lista\n3-Escolha os campos a serem visualizados\n");
- scanf("%d", &op);
- switch(op) {
- case 1:
- system("clear");
- printf("Digite o CPF: ");
- scanf("%s", cpf);
- tmp = consultar(cpf);
- imprimir(tmp);
- break;
- case 2:
- system("clear");
- imprimirTudo();
- break;
- case 3:
- system("clear");
- do{
- printf("Escolha\n1-Nome\n2-Endereço\n3-Telefone\n4-Site\n");
- scanf("%d", &col);
- }while(col < 1 || col > 4);
- printf("Digite o CPF: ");
- scanf("%s", cpf);
- tmp = consultar(cpf);
- imprimirColuna(tmp, col);
- break;
- default:
- break;
- }
- }while(op != 4);
- imprimirTudo();
- printf("%d", consultar("189.128.982-11"));
- return 0;
- }
- void incluir(char cpf[], char nome[], char end[], char tel[], char site[]) {
- int iagenda=0;
- iagenda = do_hash(cpf);
- strcpy(lista[iagenda][0], cpf);
- strcpy(lista[iagenda][1], nome);
- strcpy(lista[iagenda][2], end);
- strcpy(lista[iagenda][3], tel);
- strcpy(lista[iagenda][4], site);
- tab_hash[itab_hash++] = iagenda;
- }
- int do_hash(char cpf[]) {
- int i, key=0;
- for(i=0; i<strlen(cpf); i++) {
- key += (cpf[i] - '1');
- }
- return key%100;
- }
- int consultar(char cpf[]) {
- int iagenda=0;
- iagenda = do_hash(cpf);
- return iagenda;
- }
- void imprimirTudo() {
- int i, tmp;
- for(i=0; i<itab_hash; i++) {
- tmp = tab_hash[i];
- imprimir(tmp);
- }
- }
- void imprimir(int tmp) {
- printf("ID: %d\n", tmp);
- printf("\tCPF: %s\n", lista[tmp][0]);
- printf("\tNome: %s\n", lista[tmp][1]);
- printf("\tEndereço: %s\n", lista[tmp][2]);
- printf("\tTelefone: %s\n", lista[tmp][3]);
- printf("\tSite: %s\n", lista[tmp][4]);
- }
- void imprimirColuna(int tmp, int col) {
- printf("ID: %d\n", tmp);
- printf("%s\n", lista[tmp][col]);
- }
- void popular() {
- incluir("189.128.982-11", "ricardo nunes", "rua esquilinho", "1234-1234", "www.esquilinho.com");
- incluir("123.346.858-33", "esquilinho nunes", "rua esquilinho", "1234-1234", "www.esquilinho.com");
- incluir("999.222.111-88", "artur linux", "rua linux", "1234-1234", "www.4linux.com");
- incluir("242.675.975-24", "esquilinho nunes", "rua esquilinho", "1234-1234", "www.esquilinho.com");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement