void opcion2(){ char * nombre; char * apellido; int edad; char * rol; printf("Especifica el nombre del tripulante: "); scanf("%ms",&nombre); printf("\nEspecifica el apellido del tripulante: "); scanf("%ms", &apellido); printf("\nCuál es la edad del tripulante: "); scanf("%d",&edad); printf("\nCuál es el rol del tripulante: "); scanf("%ms",&rol); Persona tripulante = crearPersona(nombre, apellido, edad, rol); int agregado = 0; while (agregado == 0){ char * nombreDelBarco; printf("\nCuál es el nombre del barco (Case sensitive): "); scanf("%ms",&nombreDelBarco); agregado = buscarBarcoYAgregar(nombreDelBarco, &tripulante); free(nombreDelBarco); } printf("\n"); free(nombre); free(apellido); free(rol); //free(nombreDelBarco); }
void opcion1(){ char * nombrePropietario; char * apellidoPropietario; int edad; printf("Especifica el nombre del propietario: "); scanf("%ms",&nombrePropietario); printf("\nEspecifica el apellido del propietario: "); scanf("%ms", &apellidoPropietario); printf("\nCuál es la edad del propietario: "); scanf("%d",&edad); Persona propietario = crearPersona(nombrePropietario,apellidoPropietario, edad, "Propietario"); char * nombreBarco; int eslora; char * manga; int maxTripulacion; printf("\nCuál es el nombre del barco: "); scanf("%ms", &nombreBarco); printf("\nCuál es la eslora del barco: "); scanf("%d", &eslora); printf("\nCuál es la manga del barco: "); scanf("%ms", &manga); printf("\nCuál es la capacidad del barco: "); scanf("%d", &maxTripulacion); printf("\n"); Barco barco = crearBarco(nombreBarco, eslora, manga, maxTripulacion, &propietario); free(nombrePropietario); free(apellidoPropietario); free(nombreBarco); free(manga); agregarBarco(&barco); }
int main(int argc, char const *argv[]) { puerto = (Barco *)malloc(tamanioPuerto * sizeof(Barco)); //menu(); Persona persona = crearPersona("Cesar","Millan",22,"Propietario"); Persona prop = crearPersona("CC","MM",34,"Propietario"); Persona persona2 = crearPersona("Pablo","Cardenas",22,"Capitan"); Persona persona3 = crearPersona("Pablo","Cardenas",22,"Capitan"); Persona persona4 = crearPersona("Pablo","Cardenas",22,"Capitan"); Persona persona5 = crearPersona("Pablo","Cardenas",22,"Capitan"); Barco barco = crearBarco("Titanic", 5, "5:3", 12, &persona); Barco barco2 = crearBarco("Poseidon", 5, "5:3", 12, &prop); agregarPersonaABarco(&barco, &persona2); agregarPersonaABarco(&barco, &persona3); agregarPersonaABarco(&barco, &persona4); agregarPersonaABarco(&barco, &persona5); agregarBarco(&barco); agregarBarco(&barco2); imprimirPuerto(puerto); eliminarPuerto(puerto); return 0; }
int main(int argc, char **argv) { int opcion = -1; int c_embar = 0; struct embarcacion * embarcaciones = NULL; while(opcion != 0) { printf("Menu:\n1. Agregar Embarcacion\n2. Agregar Persona\n3. Listar embarcaciones\n"); printf("4. Listar personas de una embarcacion\n0. Salir\n"); scanf("%d", &opcion); switch(opcion) { case 1: { crearEmbarcacion(&embarcaciones, &c_embar); printf("Nombre de la embarcacion: "); scanf("\n%[^\n]", (embarcaciones+c_embar-1)->nombre); printf("Eslora: "); scanf("%f", (embarcaciones+c_embar-1)->eslora); printf("Manga: "); scanf("%f", (embarcaciones+c_embar-1)->manga); printf("Ocupantes maximos: "); scanf("%d", (embarcaciones+c_embar-1)->max); printf("Nombre del dueno: "); scanf("\n%[^\n]", (embarcaciones+c_embar-1)->propietario->nombre); printf("Apellidos del dueno: "); scanf("\n%[^\n]", (embarcaciones+c_embar-1)->propietario->apellidos); printf("Edad del dueno: "); scanf("%d", (embarcaciones+c_embar-1)->propietario->edad); *((embarcaciones+c_embar-1)->ocupados) = 0; break; } case 2: { if(c_embar == 0) { printf("No hay embarcaciones en el puerto.\n"); } else { int num; printf("Numero de embarcacion al que se le va a crear el tripulante: "); scanf("%d", &num); if(num >= c_embar) { printf("No existe esa embarcacion.\n"); } else { struct embarcacion * e = (embarcaciones+num); int oc = *(e->ocupados); if(oc >= *(e->max)) { printf("Ya no hay lugares disponibles.\n"); } else { crearPersona(&(e->tripulantes), &oc); printf("Nombre del tripulante: "); scanf("\n%[^\n]", ((e->tripulantes)+oc)->nombre); printf("Apellidos del tripulante: "); scanf("\n%[^\n]", ((e->tripulantes)+oc)->apellidos); printf("Rol del tripulante: "); scanf("\n%[^\n]", ((e->tripulantes)+oc)->rol); printf("Edad del tripulante: "); scanf("%d", ((e->tripulantes)+oc)->edad); ++(*(e->ocupados)); } } } break; } case 3: { printf("Hay %d embarcaciones.\n\n", c_embar); int i; for(i = 0; i < c_embar; ++i) { printf("Embarcacion %d:\n", i); printf("Nombre: %s\n", (embarcaciones+i)->nombre); printf("Manga: %f\n", *(embarcaciones+i)->manga); printf("Eslora: %f\n", *(embarcaciones+i)->eslora); printf("Ocupantes Maximos: %d\n", *(embarcaciones+i)->max); printf("Cantidad de tripulantes: %d\n", *(embarcaciones+i)->ocupados); printf("Lugares disponibles: %d\n", *(embarcaciones+i)->max-(*(embarcaciones+i)->ocupados)); printf("Nombre del dueno: %s\n", (embarcaciones+i)->propietario->nombre); printf("Apellidos del dueno: %s\n", (embarcaciones+i)->propietario->apellidos); printf("Edad del dueno: %d\n\n", *(embarcaciones+i)->propietario->edad); } break; } case 4: { if(c_embar == 0) { printf("No hay embarcaciones.\n"); } else { int num; printf("Ingrese el numero de embarcacion para cual desea conocer los tripulantes: "); scanf("%d", &num); if(num >= c_embar) { printf("No existe la embarcacion numero %d.\n", num); } else { struct persona * man = (embarcaciones+num)->tripulantes; int cant = *((embarcaciones+num)->ocupados); printf("Hay %d tripulantes en la embarcacion %d:\n", cant, num); int i; for(i = 0; i < cant; ++i) { printf("Tripulante %d:\n", i); printf("Nombre: %s\n", (man+i)->nombre); printf("Apellidos: %s\n", (man+i)->apellidos); printf("Edad: %d\n", *(man+i)->edad); printf("Rol: %s\n\n", (man+i)->rol); } } } break; } case 0: { if(c_embar > 0) { liberarMemoria(embarcaciones, &c_embar); } } } } return 0; }