Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- struct fecha
- {
- int dia;
- int mes;
- int anno;
- };
- struct dire
- {
- char calle[20];
- int num;
- char poblacion[20];
- char provincia[20];
- };
- struct alumno
- {
- char nombre[20];
- char apellidos[20];
- };
- struct datosAlumno
- {
- struct alumno alumno;
- struct dire dire;
- char NIF[8];
- int exp;
- struct fecha fecha;
- };
- int menu();
- void mostrar(struct datosAlumno al[]);
- void buscar(struct datosAlumno *al);
- int menu(){
- int opc;
- do{
- printf("\n1. Insertar alumno");
- printf("\n2. Buscar alumno");
- printf("\n0. Salir\n");
- scanf("%d", &opc);
- } while ((opc < 0) || (opc > 2));
- return opc;
- }
- void Insertar(struct datosAlumno *al){
- int i;
- for (i=0; i<5; i++)
- {
- printf("\n Nombre: ");
- scanf("%s", al[i].alumno.nombre);
- printf("\n Apellidos: ");
- scanf("%s", al[i].alumno.apellidos);
- printf("\n Direccion alumno ");
- printf("\n Calle: ");
- scanf("%s", al[i].dire.calle);
- printf("\n Numero: ");
- scanf("%d", al[i].dire.num);
- printf("\n Población: ");
- scanf("%s", al[i].dire.poblacion);
- printf("\n Provincia: ");
- scanf("%s", al[i].dire.provincia);
- do{
- printf("\n Expediente: ");
- scanf("%d", al[i].exp);
- } while((al[i].exp<100000)&&(al[i].exp>=10000));
- printf("\n Fecha de Nacimiento.");
- do{
- printf("\n Día:");
- scanf("%d", al[i].fecha.dia);
- }while((al[i].fecha.dia>=1)&&(al[i].fecha.dia<=31));
- do{
- printf("\n Mes:");
- scanf("%d", al[i].fecha.mes);
- }while ((al[i].fecha.mes>=1)&&(al[i].fecha.mes<=12));
- do{
- printf("\n Año:");
- scanf("%d", al[i].fecha.anno);
- }while((al[i].fecha.anno>=1900)&&(al[i].fecha.anno<=2000));
- }
- mostrar(al);
- }
- void mostrar(struct datosAlumno al[])
- {
- int j;
- printf("\n\n Mostrar Alumnos: \n");
- for (j=0; j<5; j++)
- {
- printf("Nombre y Apellidos: %s %s \n", al[j].alumno.nombre, al[j].alumno.apellidos);
- printf("Dirección: \n\n");
- printf("calle: %s\n", al[j].dire.calle);
- printf("numero: %s\n", al[j].dire.num);
- printf("poblacion: %s\n", al[j].dire.poblacion);
- printf("provincia: %s\n", al[j].dire.provincia);
- printf("NIF: %s\n", al[j].NIF);
- printf("expediente: %s\n", al[j].exp);
- printf("Fecha de Nacimiento: \n\n");
- printf("dia: %d\n", al[j].fecha.dia);
- printf("mes: %d\n", al[j].fecha.mes);
- printf("anno: %d\n", al[j].fecha.anno);
- }
- }
- void buscar(struct datosAlumno *al)
- {
- int j;
- int a;
- char nombre[20];
- char apellidos[20];
- printf("\n Nombre: ");
- scanf("%s", nombre);
- printf("\n Apellidos: ");
- scanf("%s", apellidos);
- a=0;
- for (j=0; j<5; j++)
- {
- if((strcmp(al[j].alumno.nombre, nombre)==0) && (strcmp(al[j].alumno.apellidos, apellidos)==0))
- {
- printf("Nombre y Apellidos: %s %s \n", al[j].alumno.nombre, al[j].alumno.apellidos);
- printf("Dirección: \n");
- printf("calle: %s\n", al[j].dire.calle);
- printf("num: %d\n", al[j].dire.num);
- printf("poblacion: %s\n", al[j].dire.poblacion);
- printf("provincia: %s\n", al[j].dire.provincia);
- printf("NIF: %d\n", al[j].NIF);
- printf("expediente: %d\n", al[j].exp);
- printf("Fecha de Nacimiento: \n");
- printf("dia: %d\n", al[j].fecha.dia);
- printf("mes: %d\n", al[j].fecha.mes);
- printf("anno: %d\n", al[j].fecha.anno);
- j=5;
- a=1;
- }
- }
- if(a==0) printf("Alumno no encontrado\n");
- }
- void main()
- {
- int opc;
- struct datosAlumno alu[5];
- do{
- opc=menu();
- switch(opc){
- case 1:
- Insertar(alu);
- break;
- case 2:
- buscar(alu);
- break;
- }
- } while(opc != 0);
- return 0;
- }
Add Comment
Please, Sign In to add comment