struct, memoria dinamica, voids
Publicado por ÚNAM (1 intervención) el 02/02/2020 01:30:01
Tengo un problema con mi código o quiero que haga algo pero no se cono hacerlo y necesito ayuda de alguien que sepa como hacerlo.
Lo que quiero que pase es que el struct, usando memoria dinámica, que haga los arreglo con un void y que imprima el arreglo, también con void.
Para imprimir con void no tengo problema pero lo que no puedo hacer que que guarde en el arreglo usando el void, espero que puedan ayudarme y gracias por su tiempo si es que me ayudan con el código.
Lo que quiero que pase es que el struct, usando memoria dinámica, que haga los arreglo con un void y que imprima el arreglo, también con void.
Para imprimir con void no tengo problema pero lo que no puedo hacer que que guarde en el arreglo usando el void, espero que puedan ayudarme y gracias por su tiempo si es que me ayudan con el código.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <stdio.h>
#include <stdlib.h>
typedef struct Alumno{
char *nombre;
int matricula;
int promedio;
}Alumno;
//void iniciar_arre_alumnos(int *cant,int * arre_alumnos);
void imprimir_arre(int * cant,const Alumno *a);
int main(void)
{
Alumno * arre_alumnos;
int * cant;
srand (time(NULL));
cant = 5+rand() % 30 - 5;
printf("El numero aleatorio es: %d\n",cant);
arre_alumnos = (Alumno *)malloc(sizeof(Alumno)*30);
for(int i = 0; i < cant; i++){
int a = rand() % 11;
arre_alumnos[i].nombre = "Alan";
arre_alumnos[i].matricula = i+1;
arre_alumnos[i].promedio = a;
}
//iniciar_arre_alumnos(&cant,&arre_alumnos);
imprimir_arre(cant,arre_alumnos);
free(arre_alumnos);
return 0;
}
/*void iniciar_arre_alumnos(int * cant,int * arre_alumnos){
for(int i = 0; i < cant; i++){
int matricula = i+1;
arre_alumnos[i];matricula = matricula;
int promedio = rand() % 10;
arre_alumnos[i];promedio = promedio;
}
}*/
void imprimir_arre(int * cant,const Alumno *a){
for(int i = 0; i < cant;i++){
printf("_______________\n");
printf("Nombre: %s\n", a[i].nombre);
printf("matricula: %d\n", a[i].matricula);
printf("Promedio: %d\n", a[i].promedio);
}
}
Valora esta pregunta


0