/* ----------------------------------------------------------------------------*/ char * preparaResposta(char *buf) { char *resposta; char *disc; if(buf[0] == 'l'){ return resposta = listaDisciplinas(); } else if(buf[0] == 'p'){ //Copia a disciplina disc= strndup(buf+1, 5); return resposta = programaDisciplina(disc); } else if(buf[0] == 'i'){ //Copia a disciplina disc = strndup(buf+1, 5); if(strcmp(disc, "") ==0){ //lista as informações de todas as disciplinas return resposta = infoDisciplinas(); } else{ //lista as informações de disc return resposta = infoDisciplina(disc); } } else if(buf[0] == 'w'){ char* comentario; //Copia a disciplina disc = strndup(buf+1, 5); comentario = strndup(buf+6, strlen(buf)); return resposta = escreveComentario(disc, comentario); } else if(buf[0] == 'c'){ //Copia a disciplina disc = strndup(buf+1, 5); return resposta = leComentario(disc); } else return resposta = "Algo errado..."; }
int main (void) { int escolha=1; TProfessor ListaProfessor[100]; TDisciplina ListaDisciplina[100]; int nDisciplinas=0; int nProfessores=0; while(escolha != 0) { escolha = menu(); switch(escolha) { case 1: { char nome[40]; printf("Nome do professor: "); scanf(" %[^\n]s", nome); if( 1 == insereProfessor (ListaProfessor, nProfessores, nome) ) { nProfessores++; } break; } case 2:{ listaProfessores(ListaProfessor, nProfessores); break; } case 3:{ char nome[40]; printf("Nome da disciplina: "); scanf(" %[^\n]s", nome); if( 1 == insereDisciplina (ListaDisciplina, nDisciplinas, nome) ) { nDisciplinas++; } break; } case 4:{ listaDisciplinas(ListaDisciplina, nDisciplinas); break; } case 0: { printf("Saindo do programa\n"); break; } case 1001:{ char arquivo[20]; printf("Funcionalidade teste - armazenamento -\ninforme o nome do arquivo: "); scanf("%s",arquivo); armazenaProfessores(ListaProfessor, nProfessores, arquivo); break; } case 1002:{ char arquivo[20]; printf("Funcionalidade teste - recuperação -\ninforme o nome do arquivo: "); scanf("%s",arquivo); recuperaProfessores(ListaProfessor, &nProfessores, arquivo); break; } default: { printf("Opcao invalida\n"); break; } case 2001:{ char arquivo[20]; printf("Funcionalidade teste - armazenamento -\ninforme o nome do arquivo: "); scanf("%s",arquivo); armazenaDisciplinas(ListaDisciplina, nDisciplinas, arquivo); break; } case 2002:{ char arquivo[20]; printf("Funcionalidade teste - recuperação -\ninforme o nome do arquivo: "); scanf("%s",arquivo); recuperaDisciplinas(ListaDisciplina, &nDisciplinas, arquivo); break; } case 2003:{ zeraUm(ListaProfessor, 1); break; } } system("pause"); system("cls"); } }