int deleteAlumno(BaseDeDatos *bd, long int DNI){ Alumno* alumno=buscarAlumno(bd,DNI); if (alumno!=NULL){ alumno->persona.campoValido=0; return 0; } else{ return 1; } }
int appendAlumno(BaseDeDatos *bd, Alumno *alumno){ if (buscarAlumno(bd,alumno->persona.DNI)==NULL){ struct AlumnoLista* nuevoAlumno= (struct AlumnoLista*) malloc(sizeof(struct AlumnoLista)); nuevoAlumno->alumno=*alumno; nuevoAlumno->alumno.persona.campoValido=1; nuevoAlumno->alumnoSiguiente=NULL; if (bd->alumnoBD==NULL) bd->alumnoBD=nuevoAlumno; else{ struct AlumnoLista* ultimoAlumno = buscarUltimoAlumno(bd); ultimoAlumno->alumnoSiguiente=nuevoAlumno; } return 0; } else{ return 1; } }
Persona solicitarPersona(const BaseDeDatos* bd){ Persona persona; system("CLS"); printf("Introduzca el DNI: "); scanf("%ld",&persona.DNI); if (buscarProfesor(bd,persona.DNI)!=NULL ||buscarAlumno(bd,persona.DNI)!=NULL){ printf("Ya hay una persona con este DNI\n"); system("PAUSE"); return; } printf("Introduzca el nombre: "); scanf(" %[^\n]",&persona.nombre); printf("Introduzca la dirección: "); scanf(" %[^\n]",&persona.direccion); printf("Introduzca el código postal: "); scanf("%d",&persona.codPostal); printf("Introduzca la ciudad: "); scanf(" %[^\n]",&persona.ciudad); persona.campoValido=1; return persona; }
int main(int argc, char** argv) { char input[INPUTSIZE]; while(fgets(input , INPUTSIZE , stdin) != NULL) { switch(input[0]){ case 'p': primerAlumno(); break; case 'u': ultimoAlumno(); break; case 'i': { char * id, *nom, *tel; strtok(input,","); id = strtok(NULL, ",\n\t"); nom = strtok(NULL, ",\n\t"); tel = strtok(NULL, ",\n\t"); insertarAlumno(atoi(id),nom,atoi(tel)); break; } case 'b': { char* id; strtok(input,",\n\t"); id = strtok(NULL, ",\n\t"); if (input[1] == 'u'){ //buscar buscarAlumno(atoi(id)); break; }else{ //borrar borrarAlumno(atoi(id)); break; } } case 'c': crearLista(); break; case 'l': { if(input[5] == 'r'){ listarAlumnos(); break; }else{ listaVacia(); break; } } case 'm': { char * id, *tel; strtok(input,",\n\t"); id = strtok(NULL, ",\n\t"); tel = strtok(NULL, ",\n\t"); modificarTelefono(atoi(id),atoi(tel)); break; } } } while( alumnos.primero != NULL ){ struct nodo *ptr; ptr = alumnos.primero; alumnos.primero = ptr->sig; free(ptr); } /* crearLista(); insertarAlumno(172799,"Arnau",685412152); insertarAlumno(175214,"PEPA",52341451); insertarAlumno(174521,"JOAQUIN",54548215); insertarAlumno(184521,"f1",9685485); insertarAlumno(114521,"g3",15641655); listarAlumnos(); ultimoAlumno(); borrarAlumno(184521); ultimoAlumno(); primerAlumno(); borrarAlumno(172799); buscarAlumno(174521); buscarAlumno(172799); primerAlumno(); listarAlumnos();*/ //HACER FREEEEE DE LA COLA ENTERA ******************************************************************************** #if DEBBUGPRIMERO primerAlumno(); borrarAlumno(114521); primerAlumno(); #endif #if DEBBUGBORRAR borrarAlumno(3652); //comprobamos que si no existe el nia no borra nada borrarAlumno(175214); listarAlumnos(); #endif #if DEBBUGULTIMO ultimoAlumno(); borrarAlumno(184521); ultimoAlumno(); #endif #if DEBBUGTELEFONO modificarTelefono(174521); listarAlumnos(); #endif return (EXIT_SUCCESS); }