parte 6 – várias funções em C para manipulação de ficheiros e estruturas dinâmicas
Assunto deste post: várias funções em C para manipulação de ficheiros (de texto para binários e de binários para texto e estruturas dinâmicas (lista ligada e vector dinâmico de estruturas)
//ficheiro parte1.c #include "parte1Comum.h" int menu(){ int i; puts("1 - adiciona grupo"); puts("2 - remove grupo"); puts("3 - lista grupo"); puts("4 - pesquisa grupo"); puts("5 - "); puts("6 - "); puts("7 - carregar grupo de um ficheiro binario"); puts("8 - terminar"); puts("Escolha uma opcao: "); do{ scanf(" %d", &i); }while(i <0 || i >8); return i; } void main() { int escolha; pGrupo listaGrupo=NULL; pMesa listaMesa[TAM]={NULL}; int totalMesas=0; int h, m, pessoas; char mesa[20]; do{ printf("\ntotal de mesas: %d\n\n", totalMesas); escolha = menu(); switch(escolha){ case 1: printf("\nA que horas e minutos vem a reserva? (formato h m)\n"); scanf(" %d", &h); scanf(" %d", &m); printf("\nQuantas pessoas?\n"); scanf(" %d", &pessoas); printf("\nQual a mesa?\n"); scanf(" %99[^\n]", mesa); adicionaGrupo(listaMesa[TAM], &totalMesas, &listaGrupo, h, m, pessoas, mesa); break; case 2: break; case 3: listagemGrupo(listaGrupo); break; case 4: break; case 5: break; case 6: break; case 7: break; } }while(escolha != 8); }
//ficheiro parte1Comum.h #ifndef PARTE1COMUM_H #define PARTE1COMUM_H #include <stdio.h> #include <stdlib.h> #include <string.h> #define TAM 20 typedef struct tipoA mesa, *pMesa; typedef struct tipoB grupo, *pGrupo; struct tipoA{ char id[20]; int conta, valorTot; }; struct tipoB{ struct hora{int h, m;} in, out; int num, valor; pMesa ptr; pGrupo prox; }; pGrupo adicionaGrupo(pMesa v, int *tot, pGrupo *lista, int h, int m, int pessoas, char *idM); void adicionaGrupoAux(); pGrupo listagemGrupo(pGrupo lista); #endif /* PARTE1COMUM_H */
//ficheiro parte1Comum.c #include "parte1Comum.h" //funções //receber um grupo: dados do grupo e preenhcer os dados da mesa pGrupo adicionaGrupo(pMesa v, int *tot, pGrupo *lista, int h, int m, int pessoas, char *idM){ printf("\nvamos la ver se apanho os dados\n"); printf("%d\t%d\t%d\t%d\t%s\t", *tot, h ,m ,pessoas, idM); pGrupo novo; novo = malloc(sizeof(grupo)); if(novo==NULL){ printf("\nerro: nao foi possivel reservar memoria"); return NULL; }else{ if(*tot==0){ //primeira reserva mesa novo->in.h = h; novo->in.m = m; novo->num = pessoas; novo->prox = NULL; (*tot)++; //v[0].id = idM; //strcpy(v[0].id, idM); printf("\n\n%s",v[0].id); return novo; } } return novo; free(novo); } pGrupo listagemGrupo(pGrupo lista){ printf("entrei"); return NULL; }
Tags : C, Learn C, linguagem C
0 thoughts on “parte 6 – várias funções em C para manipulação de ficheiros e estruturas dinâmicas”