// Comparadores para ordenar viajes con qsort.
#ifndef COMPARE_H
#define COMPARE_H

typedef struct {
    char route[12];
    int passengers;
    double fare;
} Trip;

// Todos tienen la forma que pide qsort: reciben las direcciones de dos Trip y devuelven un
// número negativo si el primero va antes, positivo si va después y 0 si da igual.

// De menos a más pasajeros. Deben funcionar con cualquier int, incluidos INT_MIN e INT_MAX.
int compare_by_passengers(const void *first, const void *second);

// De la tarifa más alta a la más baja. 2.9 y 2.5 no dan igual.
int compare_by_fare_desc(const void *first, const void *second);

// Por ruta en orden alfabético. En la misma ruta, de más a menos pasajeros.
int compare_by_route_then_passengers(const void *first, const void *second);

#endif
