Example #1
0
/***************
	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");
	}
}
Example #2
0
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);
}