Beispiel #1
0
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);
}
Beispiel #2
0
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);
}
Beispiel #3
0
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;
}
Beispiel #4
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;
}