Concetti Chiave
- Il garage offre un costo minimo di 2,00 per le prime tre ore di parcheggio.
- Ogni ora o frazione oltre le tre iniziali costa un extra di 0,50.
- L'addebito massimo per un periodo di 24 ore è di 10,00.
- Non è previsto che le auto restino parcheggiate per più di 24 ore consecutive.
- Il calcolo degli addebiti utilizza una funzione che aggiunge costi extra per le ore aggiuntive e limita l'addebito massimo.
Gestione garage
/* * Un garage addebita un importo minimo di $2,00 per un parcheggio * fino a tre ore. * Il garage addebita un'addizionale di $0,50 per ogni ora o frazione * di essa che ecceda le tre di base. L'addebito massimo per ogni dato * periodo di 24 ore è $10,00. * Assumete che nessuna auto parcheggi per più di 24 ore per volta. * Scrivete un programma che calcoli e visualizzi gli addebiti * per ognuno dei tre clienti che hanno parcheggiato le proprie * auto in questo garage ieri. * Dovrete immettere le ore di parcheggio per ogni cliente. * Il vostro programma dovrà visualizzare i risultati in un formato * tabulare ordinato e dovrà calcolare e visualizzare il totale delle * ricevute di ieri. Il programma dovrà utilizzare la funzione * calculateCharges per determinare l'addebito di ogni cliente. * I vostri risultati dovranno apparire nel seguente formato: * * Car Hours Charge * 1 1.5 2.00 * 2 4.0 2.50 * 3 24.0 10.00 * TOTAL 29.5 14.50 **/ #include <math.h> #include <stdio.h> float calculateCharges(float); int main(void) { float hours1, hours2, hours3, hoursTotal = 0; float charge1, charge2, charge3, chargesTotal; printf("Enter hours for car 1: "); scanf("%f", &hours1); hoursTotal += hours1; charge1 = calculateCharges(hours1); printf("Enter hours for car 2: "); scanf("%f", &hours2); hoursTotal += hours2; charge2 = calculateCharges(hours2); printf("Enter hours for car 3: "); scanf("%f", &hours3); hoursTotal += hours3; charge3 = calculateCharges(hours3); printf("\n%-8s%8s%8s\n", "Car", "Hours", "Charge"); printf("%-8d%8.2f%8.2f\n", 1, hours1, charge1); printf("%-8d%8.2f%8.2f\n", 2, hours2, charge2); printf("%-8d%8.2f%8.2f\n", 3, hours3, charge3); chargesTotal = charge1 + charge2 + charge3; printf("%-8s%8.2f%8.2f\n\n", "TOTAL", hoursTotal, chargesTotal); return 0; } float calculateCharges(float _hours) { float charges = 2.00; /* fixed */ if (_hours > 3.00) { /* more than 3 hours */ charges += 0.50 * ceil(_hours - 3.00); } if (charges > 10.00) { charges = 10.00; } return charges; }
Domande da interrogazione
- Qual è la tariffa minima per il parcheggio nel garage?
- Come viene calcolato l'addebito per le ore di parcheggio che superano le tre ore?
- Qual è l'addebito massimo per un periodo di 24 ore?
La tariffa minima per il parcheggio fino a tre ore è di $2,00.
Per ogni ora o frazione di essa che eccede le tre ore di base, viene addebitato un costo aggiuntivo di $0,50.
L'addebito massimo per ogni periodo di 24 ore è di $10,00.