Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void copiar(void *datos1, void *datos2) {
- Alumnos *A1 = (Alumnos*)datos1;
- Alumnos *A2 = (Alumnos*)datos2;
- int i, j;
- //Lo primero que hacemos es liberar
- for (i = 0; i < A1->numAsig; i++) {
- for (j = 0; j < A1->asignaturas[i].numParciales; j++) {
- free(A1->asignaturas[i].parciales);
- }
- free(A1->asignaturas);
- }
- //creamos memoria
- A1->asignaturas = (Alumnos*)malloc(A2->numAsig * sizeof(Alumnos)); //memoria para el array de asignaturas
- for (i = 0; i < A2->numAsig; i++) {
- for (j = 0; j < A2->asignaturas[i].numParciales; j++) {
- A1->asignaturas[i].parciales = (Parcial*)malloc(A2->asignaturas[i].numParciales * sizeof(Parcial)); //memoria para el array de parciales
- }
- }
- //Datos estáticos:
- A1->numAsig = A2->numAsig;
- strcpy(A1->nombre, A2->nombre);
- strcpy(A1->expediente, A2->expediente);
- /////
- /*Copiamos datos*/
- for (i = 0; i < A2->numAsig; i++) {
- A1->asignaturas[i].codAsignatura = A2->asignaturas[i].codAsignatura;
- A1->asignaturas[i].notaAsignatura = A2->asignaturas[i].notaAsignatura;
- strcpy(A1->asignaturas[i].numParciales, A2->asignaturas[i].numParciales);
- strcpy(A1->asignaturas[i].nomAsignatura, A2->asignaturas[i].nomAsignatura);
- for (j = 0; j < A2->asignaturas[i].numParciales;j++) {
- A1->asignaturas[i].parciales[j].notaParcial = A2->asignaturas[i].parciales[j].notaParcial;
- strcpy(A1->asignaturas[i].parciales[j].fecha, A2->asignaturas[i].parciales[j].fecha);
- }
- }
- }
- for (i = 0; i < A1->numAsig; i++) {
- for (j = 0; j < A1->asignaturas[i].numParciales; j++) {
- free(A1->asignaturas[i].parciales);
- }
- free(A1->asignaturas);
- }
Add Comment
Please, Sign In to add comment