Guest User

Untitled

a guest
Jan 23rd, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.31 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5.  
  6.  
  7.  
  8. struct fecha
  9. {
  10. int dia;
  11. int mes;
  12. int anno;
  13. };
  14.  
  15. struct dire
  16. {
  17. char calle[20];
  18. int num;
  19. char poblacion[20];
  20. char provincia[20];
  21. };
  22.  
  23. struct alumno
  24. {
  25. char nombre[20];
  26. char apellidos[20];
  27. };
  28.  
  29. struct datosAlumno
  30. {
  31. struct alumno alumno;
  32. struct dire dire;
  33. char NIF[8];
  34. int exp;
  35. struct fecha fecha;
  36. };
  37.  
  38. int menu();
  39. void mostrar(struct datosAlumno al[]);
  40. void buscar(struct datosAlumno *al);
  41.  
  42. int menu(){
  43.  
  44. int opc;
  45. do{
  46. printf("\n1. Insertar alumno");
  47. printf("\n2. Buscar alumno");
  48. printf("\n0. Salir\n");
  49. scanf("%d", &opc);
  50. } while ((opc < 0) || (opc > 2));
  51. return opc;
  52. }
  53.  
  54. void Insertar(struct datosAlumno *al){
  55.  
  56. int i;
  57. for (i=0; i<5; i++)
  58. {
  59. printf("\n Nombre: ");
  60. scanf("%s", al[i].alumno.nombre);
  61. printf("\n Apellidos: ");
  62. scanf("%s", al[i].alumno.apellidos);
  63. printf("\n Direccion alumno ");
  64. printf("\n Calle: ");
  65. scanf("%s", al[i].dire.calle);
  66. printf("\n Numero: ");
  67. scanf("%d", al[i].dire.num);
  68. printf("\n Población: ");
  69. scanf("%s", al[i].dire.poblacion);
  70. printf("\n Provincia: ");
  71. scanf("%s", al[i].dire.provincia);
  72. do{
  73. printf("\n Expediente: ");
  74. scanf("%d", al[i].exp);
  75. } while((al[i].exp<100000)&&(al[i].exp>=10000));
  76.  
  77. printf("\n Fecha de Nacimiento.");
  78. do{
  79. printf("\n Día:");
  80. scanf("%d", al[i].fecha.dia);
  81. }while((al[i].fecha.dia>=1)&&(al[i].fecha.dia<=31));
  82. do{
  83. printf("\n Mes:");
  84. scanf("%d", al[i].fecha.mes);
  85. }while ((al[i].fecha.mes>=1)&&(al[i].fecha.mes<=12));
  86. do{
  87. printf("\n Año:");
  88. scanf("%d", al[i].fecha.anno);
  89. }while((al[i].fecha.anno>=1900)&&(al[i].fecha.anno<=2000));
  90. }
  91. mostrar(al);
  92. }
  93.  
  94.  
  95. void mostrar(struct datosAlumno al[])
  96. {
  97.  
  98. int j;
  99. printf("\n\n Mostrar Alumnos: \n");
  100. for (j=0; j<5; j++)
  101. {
  102. printf("Nombre y Apellidos: %s %s \n", al[j].alumno.nombre, al[j].alumno.apellidos);
  103. printf("Dirección: \n\n");
  104. printf("calle: %s\n", al[j].dire.calle);
  105. printf("numero: %s\n", al[j].dire.num);
  106. printf("poblacion: %s\n", al[j].dire.poblacion);
  107. printf("provincia: %s\n", al[j].dire.provincia);
  108. printf("NIF: %s\n", al[j].NIF);
  109. printf("expediente: %s\n", al[j].exp);
  110. printf("Fecha de Nacimiento: \n\n");
  111. printf("dia: %d\n", al[j].fecha.dia);
  112. printf("mes: %d\n", al[j].fecha.mes);
  113. printf("anno: %d\n", al[j].fecha.anno);
  114. }
  115.  
  116. }
  117.  
  118.  
  119. void buscar(struct datosAlumno *al)
  120. {
  121. int j;
  122. int a;
  123. char nombre[20];
  124. char apellidos[20];
  125. printf("\n Nombre: ");
  126. scanf("%s", nombre);
  127. printf("\n Apellidos: ");
  128. scanf("%s", apellidos);
  129. a=0;
  130. for (j=0; j<5; j++)
  131. {
  132. if((strcmp(al[j].alumno.nombre, nombre)==0) && (strcmp(al[j].alumno.apellidos, apellidos)==0))
  133. {
  134. printf("Nombre y Apellidos: %s %s \n", al[j].alumno.nombre, al[j].alumno.apellidos);
  135. printf("Dirección: \n");
  136. printf("calle: %s\n", al[j].dire.calle);
  137. printf("num: %d\n", al[j].dire.num);
  138. printf("poblacion: %s\n", al[j].dire.poblacion);
  139. printf("provincia: %s\n", al[j].dire.provincia);
  140. printf("NIF: %d\n", al[j].NIF);
  141. printf("expediente: %d\n", al[j].exp);
  142. printf("Fecha de Nacimiento: \n");
  143. printf("dia: %d\n", al[j].fecha.dia);
  144. printf("mes: %d\n", al[j].fecha.mes);
  145. printf("anno: %d\n", al[j].fecha.anno);
  146.  
  147. j=5;
  148. a=1;
  149. }
  150.  
  151. }
  152. if(a==0) printf("Alumno no encontrado\n");
  153.  
  154. }
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163. void main()
  164. {
  165. int opc;
  166. struct datosAlumno alu[5];
  167. do{
  168. opc=menu();
  169. switch(opc){
  170. case 1:
  171. Insertar(alu);
  172. break;
  173. case 2:
  174. buscar(alu);
  175. break;
  176. }
  177.  
  178. } while(opc != 0);
  179. return 0;
  180. }
Add Comment
Please, Sign In to add comment