//crea el viaje y lo guarda en la lista de viajes comprados
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                //variable que indica el tipo de pasaje seleccionado
                string tipo;

                //variable que indica que se ingresaron todos los campos requeridos
                bool correcto = false;

                //controla que se hayan completado los campos correspondientes de acuerdo al tipo de pasaje
                if (comboBox2.Text != "" && comboBox3.Text != "" && comboBox1.Text != "" && comboBox5.Text != "")
                {
                    if (comboBox5.Text == "General")
                    {
                        correcto = true;
                    }
                    else
                    {
                        if (comboBox5.Text == "Estudiante")
                        {
                            if (textBox4.Text != "" && textBox5.Text != "" && textBox6.Text != "")
                            {
                                correcto = true;
                            }
                        }
                        else
                        {
                            if (textBox3.Text != "")
                            {
                                correcto = true;
                            }
                        }
                    }

                    //si los campos están completos, crea el viaje para el usuario
                    if (correcto == true)
                    {
                        ciudad o       = comboBox2.SelectedItem as ciudad;
                        ciudad d       = comboBox3.SelectedItem as ciudad;
                        viaje  elegido = comboBox1.SelectedItem as viaje;
                        tipo = comboBox5.Text;

                        //crea objeto viaje recogiendo datos del viaje elegido
                        viaje nuevo = new viaje(o, d, elegido.dev_fecha(), elegido.dev_hora(), elegido.recibir_empresa(),
                                                elegido.recibir_colectivo(), elegido.dev_categoria());

                        //guarda categoria del viaje comprado
                        nuevo.establecer_categoria(CATEGORIAtextBox2.Text);

                        //guarda precio del viaje comprado
                        nuevo.asignar_precio(elegido.devolver_precio());

                        //guarda el tipo de pasaje elegido
                        if (comboBox5.Text == "Estudiante")
                        {
                            nuevo.asignar_tipo(estudiante.devolver_datos());
                        }
                        else
                        {
                            if (comboBox5.Text == "Jubilado")
                            {
                                nuevo.asignar_tipo(jubilado.devolver_datos());
                            }
                            else
                            {
                                nuevo.asignar_tipo(general.devolver_datos());
                            }
                        }

                        string tipo_pasaje = comboBox5.Text;

                        double precio_descontado;

                        //recibe el precio del viaje
                        double precio_viaje = nuevo.devolver_precio();

                        //realiza el descuento correspondiente dependiendo del tipo de pasaje
                        if (tipo_pasaje == "General")
                        {
                            precio_descontado = general.aplicar_descuento(precio_viaje);
                        }
                        else
                        {
                            if (tipo_pasaje == "Estudiante")
                            {
                                precio_descontado = estudiante.aplicar_descuento(precio_viaje);
                            }
                            else
                            {
                                precio_descontado = jubilado.aplicar_descuento(precio_viaje);
                            }
                        }
                        nuevo.modificar_precio(precio_descontado);


                        //guarda el asiento elegido en el viaje del usuario, y lo quita de la lista de disponibles
                        int asiento_elegido = int.Parse(comboBox4.Text);
                        elegido.selec_asiento(asiento_elegido);
                        nuevo.cargar_asiento(asiento_elegido);

                        //agrega el viaje a la lista de viajes del usuario activo
                        usuario_gral usuario_activo = bd.usuario_activo;
                        bd.usuario_activo.viajes.Add(nuevo);

                        //guarda y cierra
                        bd.Save();
                        this.Close();
                    }
                    //si se ingresaron datos incorrectos, muestra mensaje de error
                    else
                    {
                        MessageBox.Show("Datos incorrectos", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            //si se ingresaron datos incorrectos, muestra mensaje de error
            catch
            {
                MessageBox.Show("Datos incorrectos", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }