Nodo *Lista::siguiente(int pos) { if(pos>=cont-1 || pos<0) return NULL; return recuperar(pos)->siguiente; }
bool Lista::eliminar(int pos) { if(pos<0 || pos>=cont) return false; if(pos==0) { Nodo *temp=inicio; inicio=temp->siguiente; } else { Nodo *temp=recuperar(pos); if(temp!=NULL) { Nodo *temp2=recuperar(pos-1); temp2->siguiente=temp->siguiente; } } cont--; return true; }
bool Arreglo::mover(int from, int to) { Empleado *temp=recuperar(from); if(temp!=NULL) { if(eliminar(from)) if(insertar(to,temp)) return true; } return false; }
bool Lista::mover(int from, int to) { Nodo *temp=recuperar(from); if(temp!=NULL) { if(eliminar(from)) if(insertar(to,temp)) return true; } return false; }
void analizarOpcion(int opcion, tJuego * juego) { switch (opcion) { case JUEGO_NUEVO: pedirDimensiones(juego); pedirNiveles(juego); juegoNuevo(juego); break; case JUEGO_BITACORA: juegoBitacora(); break; case RECUPERAR: recuperar(); break; case TERMINAR: // Permite continuar el programa para finalizar break; default: printf("Opcion invalida\n"); break; } }
int main() { Aluno meuAluno; Turma minhaTurma; int resultado,opcao,m; Aluno *pAluno; // Iniciar com a lista vazia minhaTurma.pPrimeiraCelula = NULL; // Menu principal do { system("cls"); printf("\n"); printf(" CADASTRO DE ALUNOS\n"); printf("\n"); printf(" 1 - INCLUIR UM NOVO ALUNO\n"); printf(" 2 - EXIBIR LISTA\n"); printf(" 3 - PESQUISAR ALUNO\n"); printf(" 4 - EXCLUIR ALUNO\n"); printf(" 5 - SAIR DO PROGRAMA\n"); printf("\n"); printf("OPCAO DESEJADA: "); scanf("%d",&opcao); // 1 - INSERIR NOVO ALUNO if (opcao == 1) { system("cls"); printf("\nINCLUIR NOVO ALUNO\n\n"); printf("Matricula: "); scanf("%d",&(meuAluno.matricula)); printf("Nome: "); scanf("%s",meuAluno.nome); printf("C.R.: "); scanf("%f",&(meuAluno.cr)); resultado = inserir(&minhaTurma,&meuAluno); if (resultado==0) printf("\n\nInclusao bem sucedida\n\n"); if (resultado==1) printf("\n\nErro 1: Lista cheia\n\n"); if (resultado==2) printf("\n\nErro 2: Matricula Duplicada\n\n"); } // 2 - EXIBIR LISTA if (opcao == 2) { listar(&minhaTurma); } // 3 - PESQUISAR ALUNO if (opcao == 3) { //system("cls"); printf("\nPESQUISAR ALUNO\n\n"); printf("Matricula: "); scanf("%d",&m); pAluno = recuperar(&minhaTurma,m); if (pAluno) { printf("\nNome = %s\n",pAluno->nome); printf( "C.R. = %4.1f\n\n",pAluno->cr); } else { printf("\n\n ERRO: Aluno nao encontrado\n\n"); } } // 4 - EXCLUIR ALUNO if (opcao == 4) { //system("cls"); printf("\nEXCLUIR ALUNO\n\n"); printf("Matricula: "); scanf("%d",&m); resultado = excluir(&minhaTurma,m); if (resultado==0) printf("\n\nExclusao bem sucedida.\n\n"); if (resultado==1) printf("\n\nAluno nao encontrado.\n\n"); if (resultado==2) printf("\n\nLista vazia.\n\n"); } //system("pause"); } while (opcao != 5); return 0; }
Nodo *Lista::fin() { return recuperar(cont-1); }