/*************** Programa Principal ***************/ void main() { char *aux; char opcao=' '; int num = 0; /***** Inicia Arquivo *****/ FILE *registro; registro = fopen("matriculas.dat", "r +"); if (registro == NULL) { printf("----------------------------------\n"); printf("Erro 101 - Arquivo Inexistente\n"); printf("----------------------------------\n"); } else { Lista* matriculas;//Cria agenda do tipo lista agenda = inicializa(); //Inicializa lista if (fgetc(registro) != EOF) { rewind(registro); fgets(aux, 30*sizeof(char), registro); num = atoi(aux); printf("%d", num); copiaLista(matriculas, registro, &num); } else { fprintf(registro, "%d", num); } /***** Menu *****/ while (opcao != 'q') { opcao = imprime_menu(); //Imprime o menu switch (opcao) { case 'i': matriculas = insere(matriculas, registro); num++; break; case 'b': busca(matriculas); getchar(); break; case 'p': imprime_tudo(matriculas); getchar(); break; } } rewind(registro); fprintf(registro, "%d \n", num); //Coloca numero de contatos no inicio do arquivo printf("---------------------------\n"); printf("Salvando e saindo\n"); printf("---------------------------\n"); } }
void inverteLista2(lista *l){ no *aux; no *pega; lista *l2; l2 = criaLista(); aux = l->ini; pega = aux; while(aux != NULL){ pega = criaNo(aux -> conteudo); if (l2 -> tam != 0) { pega -> prox = l2 -> ini; } else l2 -> fim = pega; l2 -> ini = pega; l2 -> tam++; aux = aux->prox; } copiaLista(l,l2); }