Visto che il problema si presenta saltuariamente, direi che è colpa della randomizzazione. Sei sicuro che tutti i parametri che imposti siano corretti?
Ad esempio
clienti = rand() % ((2 * (domanda_tot_sistema / slot) - (domanda_tot_sistema / slot)) + 1)
+ (domanda_tot_sistema / slot);
e
domanda_cliente = rand() % (slot - (slot / 2) + 1) + (slot / 2);
Queste cose le devi guardare tu perché non hanno a che fare con la sintassi del linguaggio, ma proprio con la logica di quello che vuoi fare.