Agenda eletronica em pascal

352 palavras 2 páginas
#include
#include
#include #define STRING_INIT 50
#define LINES_INIT 25 struct item { char *nome; char *endereco; int telefone;
};

char* le_linha() { int i = 0, j = STRING_INIT; char c, *str; str = malloc(sizeof(char) * j); while ((c = getc(stdin)) && (c != '\n')) { if (c == EOF) return 0; if (i >= j) { str = realloc(str, j *= 2); } str[i++] = c; } str[i] = ''; return str;
}

char** le_texto() { int i = 0, j = LINES_INIT; char **txt, *tmp; txt = malloc(j * (sizeof(char*))); while ((tmp = le_linha())) { txt[i] = tmp; if (i >= j) txt = realloc(txt, j *= 2); i++; } return txt;
}

char** ordena_texto (char** txt) { int i = 0, j = 1; char **ret, *tmp; while (txt[i]) { while(txt[j]) { if (strcmp(txt[i], txt[j]) >= 0) { tmp = txt[i]; txt[i] = txt[j]; txt[j] = tmp; } j++; } i++; j = i; } return ret;
}

struct item* le_itens() { int i = 0, j = LINES_INIT; struct item *p; p = malloc (sizeof(*p) * j); while (1) { if (i >= j) p = realloc (p, j *= 2); p[i].nome = le_linha(); if (!p[i].nome) break; p[i].endereco = le_linha(); scanf("%d\n", &p[i].telefone); i++; } return p;
}

void imprime_itens (struct item *p) { int i = 0; while (p[i].nome) { printf ("Nome: %s\n", p[i].nome); printf ("Endereço: %s\n", p[i].endereco); printf ("Telefone: %d\n\n", p[i].telefone); i++; } } void imprime_texto (char** txt) { int i = 0; while (txt[i]) printf("%s\n",txt[i++]);
}

void troca (void *coisa1, void *coisa2) { void *tmp; tmp = &coisa1; coisa1 = &coisa2; coisa2 = &tmp;
}

struct item* ordena_itens (struct item *p) { int i = 0, j = 1, tmpi; char *tmp; while (p[i].nome) { while (p[j].nome) { if (strcmp(p[i].nome, p[j].nome) >= 0) { tmp = p[i].nome; p[i].nome = p[j].nome; p[j].nome = tmp; tmp =

Relacionados

  • A história do computador
    1944 palavras | 8 páginas
  • gerações computadores
    2002 palavras | 9 páginas
  • Evolução histórica das arquiteturas de computador
    2000 palavras | 8 páginas
  • Organização de computadores
    1301 palavras | 6 páginas
  • Estrutura de dados
    3285 palavras | 14 páginas
  • Resumo Estrutura de Dados
    3758 palavras | 16 páginas
  • Palavras em inglês utilizadas no dia-a-dia
    1002 palavras | 5 páginas
  • trabalho de informatica
    1502 palavras | 7 páginas
  • Origem e evolução dos computadores
    2605 palavras | 11 páginas
  • Trabalho informatica
    3976 palavras | 16 páginas