Enviado em 15/04/2016 - 16:53h
Estou precisando adicionar em uma agenda varios compromissos, sendo que cada agenda pertence a um professor. Entao para fazer isso criei uma lista de compromissos e depois uma lista de agenda sendo que a lista de agenda tem um ponteiro para prox, ant e para baixo que sera onde encadeara os compromissos para cada agenda. So que estou tendo problemas com isso, abaixo coloquei o pedaço do codigo que estou tendo problemas. Desde ja agradeço o/typedef struct Compromisso{
int idTipoComp; // id de um tipo de compromisso
char nomeComp[tam]; // nome de um compromisso
char data[tam]; // data de um compromisso
char hora[tam]; // hora de um compromisso
char duracao[tam]; // duracao de um compromisso
int grauPrio; // grau de prioridade de um compromisso
char status[tam]; // status do compromisso
char nomecComp[tam]; // nome de algo contido em um compromisso
char flag[tam]; // checa se o compromisso e adiavel ou nao
struct Compromisso *prox;
struct Compromisso *ant;
}compromisso;
typedef struct Agenda{
int idTipoAgenda;
char nomeProf[tam];
char ano[tam];
compromisso *inicioComp; // meio de acessar a struct compromisso
struct Agenda *prox;
struct Agenda *ant;
struct Agenda *down;
}agenda;
typedef struct AgComp{
compromisso *head; // cabeça da lista compromisso
agenda *headAg; // cabeça da lista agenda
int id;
int idAg;
int cont;
}agComp;
void criaAgenda(agComp *pheadAg){
agenda *new = (agenda *)malloc(sizeof(agenda));
new->down = NULL;
if(pheadAg->headAg == NULL){
new->prox = NULL;
new->ant = NULL;
}else{
new->prox = pheadAg->headAg;
pheadAg->headAg->ant = new;
}
pheadAg->headAg = new;
printf("Digite o nome do professor\n");
scanf("%s", new->nomeProf);
printf("Digite o ano\n");
scanf("%s", new->ano);
new->idTipoAgenda = pheadAg->idAg++;
}
void insereCompromisso(agComp *pheadAg, agComp *phead){
agenda *aux = NULL;
compromisso *aux1 = NULL;
int id, id1;
printf("Digite o id de uma agenda para inserir um compromisso\n");
scanf("%d", &id);
procuraIdAgenda(pheadAg, id, &aux);
if(aux == NULL){
printf("Id de agenda nao encontrado\n");
}else{
printf("Digite o id de um compromisso para inserir na agenda de id %d\n", id);
scanf("%d", &id1);
procuraId(phead, id1, &aux1);
if(aux1 == NULL){
printf("Id de compromisso nao encontrado\n");
}else{
compromisso *new;
new = (compromisso *)malloc(sizeof(compromisso));
if(aux->down == NULL){
new->prox = NULL;
aux->down = new; // parte que o eclipse da uma aviso de incompatibilidade
}else{
while(aux != NULL){
aux = aux->down;
}
new->prox = new;
new->prox = NULL;
}
//copyCompForAg(phead, &new, &aux1);
strcpy(new->data, aux1->data);
strcpy(new->hora, aux1->hora);
strcpy(new->duracao, aux1->duracao);
strcpy(new->flag, aux1->flag);
new->grauPrio = aux1->grauPrio;
new->idTipoComp = aux1->idTipoComp;
strcpy(new->nomeComp, aux1->nomeComp);
strcpy(new->nomecComp, aux1->nomecComp);
strcpy(new->status, aux1->status);
}
}
}
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta