SHARE
TWEET

Untitled

a guest Jan 17th, 2019 58 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.     }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top