Guest User

Untitled

a guest
Oct 21st, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. /****** Inicio programa ******/
  2.  
  3.  
  4. #include <stdio.h>
  5.  
  6. #include <stdlib.h>
  7.  
  8.  
  9. typedef struct {
  10.  
  11. char *nombre;
  12.  
  13. char *apellido;
  14.  
  15. int edad;
  16.  
  17. }struct_alum;
  18.  
  19.  
  20. int reservaMemoria (struct_alum **alu,int num);
  21.  
  22. void leerAlumno(char **alu);
  23.  
  24. void listarDatos(struct_alum *alu,int num);
  25.  
  26.  
  27. main()
  28.  
  29. {
  30. int num,i;
  31.  
  32. char str[10];
  33.  
  34. struct_alum *alu;
  35.  
  36.  
  37. printf("Cuantos alumnos van a entrar en tu agenda?: ");
  38.  
  39. gets(str);
  40.  
  41. sscanf(str,"%d",&num);
  42.  
  43. reservaMemoria(&alu,num);
  44.  
  45.  
  46. printf("\nLectura de datos de los alumnos\n");
  47.  
  48. printf("-------------------------------\n\n");
  49.  
  50.  
  51. for (i=0;i<num;i++)
  52.  
  53. {
  54. printf("\n");
  55.  
  56. printf("Datos del alumno %d: \n",i+1);
  57.  
  58. printf("Nombre: ");
  59.  
  60. leerAlumno(&alu[i].nombre);
  61.  
  62. printf("Apellido: ");
  63.  
  64. leerAlumno(&alu[i].apellido);
  65.  
  66. printf("Edad: ");
  67.  
  68. gets(str);
  69.  
  70. sscanf(str,"%d",&alu[i].edad);
  71. }
  72.  
  73. listarDatos(alu,num);
  74.  
  75. getchar();
  76.  
  77. }
  78.  
  79. int reservaMemoria (struct_alum **alu,int num)
  80.  
  81. {
  82.  
  83. *alu=(struct_alum *)malloc(sizeof(struct_alum)*num);
  84.  
  85. if (*alu==NULL)
  86.  
  87. printf("Error reservando memoria\n");
  88.  
  89. else
  90.  
  91. printf("Reserva de memoria realizada\n");
  92.  
  93. }
  94.  
  95. void leerAlumno(char **alu)
  96.  
  97. {
  98.  
  99. char str[30];
  100.  
  101.  
  102. gets(str);
  103.  
  104. *alu=(char *)malloc(strlen(str)+1);
  105.  
  106. strcpy(*alu,str);
  107.  
  108. }
  109.  
  110. void listarDatos(struct_alum *alu,int num)
  111.  
  112. {
  113.  
  114. int i;
  115.  
  116.  
  117. printf("\nListado de datos de los alumnos\n");
  118.  
  119. printf("-------------------------------\n\n");
  120.  
  121.  
  122. for (i=0;i<num;i++)
  123.  
  124. {
  125.  
  126. printf("\n");
  127.  
  128. printf("Datos del alumno %d: \n",i+1);
  129.  
  130. printf("Nombre: %s\n",alu[i].nombre);
  131.  
  132. printf("Apellido: %s\n",alu[i].apellido);
  133.  
  134. printf("Edad: %d\n\n",alu[i].edad);
  135.  
  136. }
  137.  
  138. }
  139.  
  140. /****** Fin programa******/
Add Comment
Please, Sign In to add comment