#include <stdio.h>
int main() {
// Dichiarazione delle variabili
char tipo_cliente, tipo_offerta, tipo_residenza;
float kw_impegnati, kw_consumo, kw_annui, costo_kw, costo_trasporto = 1.69, accise, costo_commercializzazione, iva;
float totale, iva_totale, totale_con_iva;
// Chiedere se il cliente è privato o business
printf("Il cliente è privato o business? (P/B): "); scanf(" %c", &tipo_cliente
); // Nota lo spazio prima di %c per gestire il carattere di nuova linea
// Chiedere se è residente o non residente
if (tipo_cliente == 'P' || tipo_cliente == 'p') {
printf("Il cliente è residente o non residente? (R/N): "); scanf(" %c", &tipo_residenza
); // Nota lo spazio prima di %c } else {
tipo_residenza = 'N'; // I clienti business sono sempre non residenti
}
// Chiedere i kW impegnati
printf("Quanti kW ha impegnato il cliente? "); scanf("%f", &kw_impegnati
);
// Chiedere il consumo in kWh
printf("Qual è il consumo in kWh del cliente? "); scanf("%f", &kw_consumo
);
// Chiedere il consumo annuo in kWh
printf("Qual è il consumo annuo in kWh del cliente? ");
// Chiedere se si vuole un'offerta a prezzo fisso o variabile
printf("Vuoi un'offerta a prezzo fisso o variabile? (F/V): "); scanf(" %c", &tipo_offerta
); // Nota lo spazio prima di %c
// Calcolare il costo di commercializzazione
if (tipo_cliente == 'P' || tipo_cliente == 'p') {
costo_commercializzazione = 3.0; // Costo di commercializzazione per privato
} else {
costo_commercializzazione = 10.0; // Costo di commercializzazione per business
}
// Calcolare il costo per kWh in base all'offerta e al tipo di cliente
if (tipo_cliente == 'P' || tipo_cliente == 'p') {
if (tipo_offerta == 'f' || tipo_offerta == 'F') {
costo_kw = 0.193; // Costo per kWh fisso per privato
} else {
costo_kw = 0.14489; // Costo per kWh variabile per privato
}
} else {
if (tipo_offerta == 'f' || tipo_offerta == 'F') {
costo_kw = 0.185; // Costo per kWh fisso per business
} else {
costo_kw = 0.13489; // Costo per kWh variabile per business
}
}
// Aggiungere il costo della potenza impegnata
float costo_potenza_impegnata = 0;
if (kw_impegnati == 3) {
costo_potenza_impegnata = 8.452;
} else if (kw_impegnati == 4.5) {
costo_potenza_impegnata = 16.833;
} else if (kw_impegnati == 6) {
costo_potenza_impegnata = 25.214;
}
// Aggiungere il costo per il consumo annuo
float costo_consumo_annuo = kw_annui * 0.004245;
// Calcolare le accise
accise = kw_consumo * 0.0227;
// Aggiungere il costo di residenza
float costo_residenza;
if (tipo_cliente == 'P' || tipo_cliente == 'p') {
if (tipo_residenza == 'R' || tipo_residenza == 'r') {
costo_residenza = 9.0; // Costo per cliente privato residente
} else {
costo_residenza = 18.93; // Costo per cliente privato non residente
}
} else {
costo_residenza = 18.93; // Cliente business sempre non residente
}
// Calcolare il costo totale prima dell'IVA
totale = (kw_consumo * costo_kw) + costo_commercializzazione + costo_potenza_impegnata + costo_consumo_annuo + accise + costo_trasporto + costo_residenza;
// Aggiungere l'IVA
if (tipo_cliente == 'P' || tipo_cliente == 'p') {
iva = 0.10; // IVA per cliente privato
} else {
iva = 0.22; // IVA per cliente business
}
iva_totale = totale * iva;
totale_con_iva = totale + iva_totale;
// Stampa del risultato
printf("\nTotale della bolletta (senza IVA): %.2f Euro\n", totale
); printf("IVA applicata: %.2f Euro\n", iva_totale
); printf("Totale della bolletta (con IVA): %.2f Euro\n", totale_con_iva
);
return 0;
}