Guest User

Untitled

a guest
Jan 17th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. void copiar(void *datos1, void *datos2) {
  2.  
  3. Alumnos *A1 = (Alumnos*)datos1;
  4. Alumnos *A2 = (Alumnos*)datos2;
  5.  
  6. int i, j;
  7.  
  8. //Lo primero que hacemos es liberar
  9.  
  10. for (i = 0; i < A1->numAsig; i++) {
  11. for (j = 0; j < A1->asignaturas[i].numParciales; j++) {
  12. free(A1->asignaturas[i].parciales);
  13. }
  14. free(A1->asignaturas);
  15. }
  16.  
  17. //creamos memoria
  18.  
  19.  
  20. A1->asignaturas = (Alumnos*)malloc(A2->numAsig * sizeof(Alumnos)); //memoria para el array de asignaturas
  21. for (i = 0; i < A2->numAsig; i++) {
  22. for (j = 0; j < A2->asignaturas[i].numParciales; j++) {
  23.  
  24. A1->asignaturas[i].parciales = (Parcial*)malloc(A2->asignaturas[i].numParciales * sizeof(Parcial)); //memoria para el array de parciales
  25. }
  26. }
  27.  
  28. //Datos estáticos:
  29.  
  30. A1->numAsig = A2->numAsig;
  31. strcpy(A1->nombre, A2->nombre);
  32. strcpy(A1->expediente, A2->expediente);
  33. /////
  34.  
  35. /*Copiamos datos*/
  36.  
  37.  
  38. for (i = 0; i < A2->numAsig; i++) {
  39. A1->asignaturas[i].codAsignatura = A2->asignaturas[i].codAsignatura;
  40. A1->asignaturas[i].notaAsignatura = A2->asignaturas[i].notaAsignatura;
  41. strcpy(A1->asignaturas[i].numParciales, A2->asignaturas[i].numParciales);
  42. strcpy(A1->asignaturas[i].nomAsignatura, A2->asignaturas[i].nomAsignatura);
  43. for (j = 0; j < A2->asignaturas[i].numParciales;j++) {
  44.  
  45. A1->asignaturas[i].parciales[j].notaParcial = A2->asignaturas[i].parciales[j].notaParcial;
  46. strcpy(A1->asignaturas[i].parciales[j].fecha, A2->asignaturas[i].parciales[j].fecha);
  47.  
  48. }
  49. }
  50.  
  51.  
  52. }
  53.  
  54. for (i = 0; i < A1->numAsig; i++) {
  55. for (j = 0; j < A1->asignaturas[i].numParciales; j++) {
  56. free(A1->asignaturas[i].parciales);
  57. }
  58. free(A1->asignaturas);
  59. }
Add Comment
Please, Sign In to add comment