Advertisement
Guest User

Untitled

a guest
Aug 16th, 2017
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. void anadir(tasignatura &a,talumno alumno)
  2. {
  3. nodo *nuevo,*ant=NULL,*aux=a.primero;
  4. char nombre_actual[50],nombre_nuevo[50];
  5. nombrebuscado(alumno,nombre_actual);
  6. nuevo=new(nodo);
  7. if (nuevo!=NULL)
  8. {
  9.  
  10. if(a.primero != NULL) nombrebuscado((*aux).dato,nombre_actual);//controlamos que entre en segunda posición
  11.  
  12. if (aux==NULL){//controlamos que la asignatura este vacia
  13. a.primero=nuevo;
  14. (*nuevo).sig=NULL;
  15. (*nuevo).dato=alumno;
  16. a.longitud=1;
  17. }
  18. else(strcmp(nombre_actual,nombre_nuevo)<0)
  19. {
  20. (*nuevo).sig=a.primero;
  21. a.primero=nuevo;
  22. (*nuevo).dato=alumno;
  23. a.longitud++;
  24. }
  25. else
  26. {
  27. nombrebuscado((*aux).dato,nombre_actual);
  28. while ((*aux).sig != NULL && strcmp(nombre_actual,nombre_nuevo)<0){//llegamos a la posición donde va el alumno
  29. ant=aux;
  30. aux=(*aux).sig;
  31. nombrebuscado((*aux).dato,nombre_actual);
  32. }
  33.  
  34. if ((*aux).sig==NULL && strcmp(nombre_actual,nombre_nuevo)<0){//controlamos que sea la ultima posición
  35. (*aux).sig=nuevo;
  36. (*nuevo).sig=NULL;
  37. }
  38. else{
  39. (*nuevo).sig=(*ant).sig;
  40. (*ant).sig= nuevo;
  41. }
  42. (*nuevo).dato=alumno;
  43. a.longitud++;
  44. }
  45.  
  46. }
  47. else
  48. {
  49. cout<<"No hay memoria suficiente"<<endl;
  50. }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement