void menu_principal(int opc, char *id, Usuarios *ListaUsuarios, int *numUser) { int x, numVehiculos = 0, numViajes = 0, numPasos = 0, numIncidencias = 0, pos; int o, i; char *id_new, *matricula, c; Vehiculos* L_Vehiculos; Viajes* L_Viajes; Pasos* L_Pasos; Incidencias* L_Incidencias; printf("\nCargando información en el programa.\n"); L_Vehiculos = obtenerVehiculos(&numVehiculos); L_Viajes = obtenerViajes(&numViajes); L_Pasos = obtenerPasos(&numPasos); L_Incidencias = obtenerIncidencias(&numIncidencias); printf("\nInformación cargada.\n"); printf("\nActualizando información\n"); autoFinalizarViaje(L_Viajes, numViajes); printf("\nInformación actualizada\n"); if (opc == 1) { do { printf("Bienvenido al menu de administración\n" "Introduzca la opcion que desea\n\n " "1: Menú usuarios\n " "2: Menú vehiculos\n " "3: Menú viajes\n " "4: Menú incidencias\n " "0: salir\n"); x = leer_numero("Indica la opción"); switch (x) { case 0: break; case 1: do { printf("Bienvenido al menu de administración\n" "Introduzca la opcion que desea\n\n " "1: Alta usuario\n " "2: Baja usuario\n " "3: Modificar usuario\n " "4: Mostrar usuarios\n " "0: salir\n"); o = leer_numero("Indica la opción"); switch (o) { case 0: break; case 1: id = altaUsuario(ListaUsuarios, numUser); printf("\n\tDado de alta usuario nuevo con el id : %s\n", id_new); break; case 2: bajaUsuario(ListaUsuarios, numUser); break; case 3: modificaAdmin(ListaUsuarios, numUser); break; case 4: listarUsuario(ListaUsuarios, numUser); break; default: printf("Error al elegir la opcion.\t"); break; } } while (o != 0); break; case 2: do { printf("Introduzca la opcion que desea\n\n " "1: Alta vehiculo\n " "2: Baja vehiculos\n " "3: Listar vehiculos\n " "4: Modificar vehiculos\n " "5: Listar los viajes de un vehiculo" "0: salir\n"); o = leer_numero("Indica la opción"); switch (o) { case 0: break; case 1: alta_vehiculo(L_Vehiculos,&numVehiculos,id); break; case 2: baja_vehiculo(L_Vehiculos,numVehiculos); break; case 3: vehiculos_user(id,L_Vehiculos,numVehiculos); break; case 4: vehiculos_user(id,L_Vehiculos,numVehiculos); matricula = leer_campo(TAM_ID_VEI, "Escriba la matricula del vehiculo a modificar"); pos = buscar_vehiculo(matricula,L_Vehiculos,numVehiculos); modificar_vehiculo(L_Vehiculos,pos); break; case 5: listar_viajes_coche(L_Viajes,matricula,numVehiculos); default: printf("Error al elegir la opcion.\t"); break; } } while (o != 0); break; case 3: do { printf("Introduzca la opcion que desea:\n1.- Publicar viaje.\n2.- Eliminar viaje.\n3.- Modificar viaje.\n4.- Listar viajes.\n0.- Salir."); scanf("%d", &o); switch (o) { case 0: exit(0); break; case 1: publicar_viaje(L_Viajes,&numViajes,id); break; case 2: eliminar_viaje(L_Viajes,&numViajes); break; case 3: modificar_viaje(L_Viajes); break; case 4: listar_viaje(L_Viajes,numViajes,L_Pasos,&numPasos); break; default: printf("ERROR: Opcion invalida."); break; } } while (o != 0); break; case 4: do { printf("Introduzca la opcion que desea:\n" "1.- Publicar incidencia.\n" "2.- Eliminar incidencia.\n" "3.- Modificar incidencia.\n" "4.- Listar incidencia.\n" "5.- Validar incidencia.\n" "0.- Salir."); scanf("%d", &o); char *usuario,*conductor,*viaje; if(o == 1 || o == 2 || o == 3){ usuario = leer_campo(TAM_ID_USER,"Introduce el id del usuario que realiza la incidencia"); viaje = leer_campo(TAM_ID_VIA,"Introduce el id dek viaje de la incidencia"); conductor = leer_campo(TAM_ID_USER,"Introduce el id del conductor de la incidencia"); } switch (o) { case 0: exit(0); break; case 1: crearIncidencias(L_Incidencias, &numIncidencias,usuario,viaje,conductor); break; case 2: eliminarIncidencias(L_Incidencias, &numIncidencias,usuario,viaje,conductor); break; case 3: modificarIncidencias(L_Incidencias,numIncidencias,usuario,viaje,conductor); break; case 4: listarIncidencias(L_Incidencias,numIncidencias,"Admin"); break; case 5: validarIncidencias(L_Incidencias,numIncidencias); break; default: printf("ERROR: Opcion invalida."); break; } } while (o != 0); break; default: printf("Error al elegir la opcion.\t"); break; } } while (x != 0); } else { pos = buscar_usuario(id, ListaUsuarios, *numUser); do { printf("Bienvenido al menú de la aplicación %s\n " "Introduzca la opcion que desea\n\n " "1: Perfil\n " "2: Menú vehiculos\n " "3: Menú viajes\n " "4: Menú incidencias\n " "0: salir\n", ListaUsuarios[pos].Nomb_usuario); x = leer_numero("Indica la opción"); switch (x) { case 0: break; case 1: do { printf("Bienvenido al menú del usuario, administra tu cuenta %s\n " "Introduzca la opcion que desea\n\n " "1: Mostrar datos\n " "2: Modificar datos\n " "0: salir\n", ListaUsuarios[pos].Nomb_usuario); o = leer_numero("Indica la opción"); switch (o) { case 0: break; case 1: mostrarUsuario(ListaUsuarios, pos); break; case 2: modificaUsuario(ListaUsuarios, pos); break; default: printf("Error al elegir la opcion.\t"); break; } } while (o != 0); break; case 2: do { printf("Bienvenido al menú de la aplicación \n " "Introduzca la opcion que desea\n\n " "1: Alta vehiculo\n " "2: Baja vehiculos\n " "3: Listas vehiculos(propios)\n " "4: Modificar vehiculo\n " "0: salir\n"); o = leer_numero("Indica la opción"); switch (o) { case 0: break; case 1: alta_vehiculo(L_Vehiculos,&numVehiculos,id); break; case 2: baja_vehiculo(L_Vehiculos,numVehiculos); break; case 3: vehiculos_user(id,L_Vehiculos,numVehiculos); break; case 4: vehiculos_user(id,L_Vehiculos,numVehiculos); matricula = leer_campo(TAM_ID_VEI, "Escriba la matricula del vehiculo a modificar"); pos = buscar_vehiculo(matricula,L_Vehiculos,numVehiculos); modificar_vehiculo(L_Vehiculos,pos); break; default: printf("Error al elegir la opcion.\t"); break; } } while (x != 0); break; case 3: printf("Bienvenido al menú de viajes. Estos son los viajes que hay abiertos actualmente.\n"); for (i = 0; i < numViajes; i++) { if (!strcmp(L_Viajes[i].Estado, "Abierto")) { listar_viaje(L_Viajes, numViajes, L_Pasos, &numPasos); if (!strcmp(id, L_Vehiculos[i].Id_usuario) && !strcmp(L_Vehiculos[i].Num_plazas, L_Viajes[i].Plazas_libre)) { printf("¿Desea modificar algún viaje que usted haya publicado? s/n"); scanf("%s", &c); if (c == 's') { modificar_viaje(L_Viajes); } } } } printf("Introduzca la opcion que desea:\n" "1.- Publicar viaje.\n" "2.- Incorporarse a un viaje.\n" "3.- Visualizar viaje.\n" "0.- Salir."); switch(o){ case 0: exit(0); break; case 1: publicar_viaje(L_Viajes, &numViajes, id); break; case 2: unirse_viaje(L_Viajes, &numViajes,id); break; case 3: listar_viaje(L_Viajes, numViajes, L_Pasos, &numPasos); break; default: printf("ERROR: Opcion invalida."); break; } break; case 4: do { printf("Introduzca la opcion que desea:\n" "1.- Publicar incidencia.\n" "2.- Listar incidencia.\n" "0.- Salir."); scanf("%d", &o); char *conductor,*viaje; switch (o) { case 0: exit(0); break; case 1: viaje = leer_campo(TAM_ID_VIA,"Introduce el id dek viaje de la incidencia"); conductor = leer_campo(TAM_ID_USER,"Introduce el id del conductor de la incidencia"); crearIncidencias(L_Incidencias, &numIncidencias,id,viaje,conductor); break; case 2: listarIncidencias(L_Incidencias,numIncidencias,id); break; default: printf("ERROR: Opcion invalida."); break; } } while (o != 0); break; default: printf("Error al elegir la opcion.\t"); break; } } while (x != 0); } printf("\nGuardando información del programa.\n"); guardarDatosVehiculos(L_Vehiculos, numVehiculos); guardarDatosViajes(L_Viajes, numViajes); guardarDatosPasos(L_Pasos, numPasos); guardarDatosIncidencias(L_Incidencias, numIncidencias); printf("\nInformación guardada.\n"); }
/** * 1. los datos de la serie que ve cada usuario 2. por cada serie todos los usuarios que la ven 3. por cada serie cuantos usuarios la ven * */ int main() { eSerie series [5]; eUsuario usuarios [3]; eUsuarioSerie relaciones [9]; int i; int j; int h; int opcion; ////////////// harcodeos CrearListadoSeries(series, 5); CrearListadoDeTresUsuarios(usuarios); CrearListadoUsuariosYSeries(relaciones); ////////////// listados de muestran printf("\n\=======================================================\n"); listarSerie(series, 5); printf("\n\=======================================================\n"); listarUsuario(usuarios,3); printf("\n\=======================================================\n"); for (i=0; i<9;i++) //recorro usuarioseries { printf("idSerie %d -- IdUser %d \n", relaciones[i].idSerie,relaciones[i].idUsuario); } printf("\n\=======================================================\n"); do { opcion =displayMenuABM("\nMenu de Consulta\n 1- que series ve cada usuario \n 2- Mostrar por cada serie, los usuarios que la ve \n 3- mostrar las series menos populares \n 4- ingresar usuario y listar sus series \n 5- Ingresar Serie y listar sus usuarios \n 6- top 3 de series \n 9- Para salir! \n \n \t Ingrese la Opcion Elegida: "); switch (opcion) { case 1: printf("\n============ Serie por Usuarios ============\n"); allSerieForUser(relaciones, usuarios, series); break; case 2: printf("\n============ Usuarios por Serie ============\n"); allUserforSeries (relaciones, usuarios, series); break; case 3: printf("\n============ Series Menos Populares ============\n"); contarUsuariosPorSerie(relaciones, usuarios, series); break; case 4: printf("\n============ Buscar Un Usuario ============\n"); searchUser (relaciones, usuarios, series); break; case 5: printf("\n============ Buscar Una Serie ============\n"); searchSerie (relaciones, usuarios, series); break; case 6: printf("\n============ TOP 3 ============\n"); top3series (relaciones, usuarios, series); break; case 9: printf("\n============ SALIR ============\n"); opcion= 9; break; } printf("---------------------------------------------"); cleanScreen(); } while (opcion != 9); ////////////////// printf("\n \n \n Chau\n \n"); printf("\n \n \n Lucila Rizzi\n \n"); return 0; }