A task: write a program to calculate the cost of electricity on the testimony of two-tariff electricity meter. There is a two-tariff electricity meter. Readings are taken at the end of the month. Data for calculating – the difference between the readings of the previous month and the current (day and night tariff.) Initial data:
- daily rate (with 7-00 am to 23-00);
- night charge (with 23-00 to 7-00 morning );
- The first tariff zone – to 100 kWh time: 0.456 UAH
- The second tariff zone – from 100 to 600 kWh time: 0.789 UAH
- A third tariff zone – over 600 kWh time: 1.479 UAH
- night charge – 50% of the value of each daily tariff zone
Decision:
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "rus"); cout << "Расчет стоимости электроэнергии двухтарифного электросчетчика" << endl; cout << "\t\t\t1.09.2015 " << endl; cout << "_____________________________________________________________" << endl; cout << " Ночной тариф 50% от стоимости каждой дневной тарифной зоны" << endl; cout << "\t________Стоимость по тарифным зонам_______ " << endl; cout << "" << endl; cout << "\t\tДо 100 кВт*час - 0.456 грн " << endl; cout << "" << endl; cout << "" << endl; cout << "\t\tОт 100-600 кВт*час - 0.789 грн " << endl; cout << "" << endl; cout << "" << endl; cout << "\t\tCвыше 600 кВт*час - 1.479 грн " << endl; cout << "____________________________________________________________ " << endl; char l; // переменная для продолжения или прекращения расчета int td1; // предыдущие показания День int td2; // настоящие показания День int qd; // разница показаний электросчетчика День int tn1; // предыдущие показания Ночь int tn2; // настоящие показания Ночь int qn; // разница показаний электросчетчика Ночь float q; // Суммарные показания День + Ночь float sd1; // Сумма до 100 кв День float sn1; // Сумма до 100 кв Ночь float sdn1; // Сумма до 100 кв День + Ночь float sd2; // Сумма от 100 до 600 кв День float sn2; // Сумма от 100 до 600 кв Ночь float sdn2; // Сумма от 100 до 600 кв День + Ночь float sd3; // Сумма более 600 кв День float sn3; // Сумма более 600 кв Ночь float sdn3; // Сумма более 600 кв День + Ночь float so; // сумма по всем тарифам float d = 0.456; // тариф до 100 кв float f = 0.789; // тариф от 100 до 600 кв float h = 1.479; // тариф от 600 кв do { cout << "Введите (День) предыдущие показания электросчетчика: "; cin >> td1; cout << "Введите (День) настоящие показания электросчетчика: "; cin >> td2; cout << "__________________________________________ " << endl; if (td2 == 0 || td2 <= td1) // Условие на проверку правильности ввода снятых показаний День { cout << "Проверьте показания электросчетчика !!!!" << endl; cout << "__________________________________________ " << endl; return 0; } cout << "__________________________________________ " << endl; cout << "Введите (Ночь) предыдущие показания электросчетчика: "; cin >> tn1; cout << "Введите (Ночь) настоящие показания электросчетчика: "; cin >> tn2; cout << "__________________________________________ " << endl; if (tn2 == 0 || tn2 <= tn1) // Условие на проверку правильности ввода снятых показаний Ночь { cout << "Проверьте показания электросчетчика !!!! " << endl; cout << "__________________________________________ " << endl; return 0; } qd = td2 - td1;// разница показаний электросчетчика День cout << "Всего День кВт*час : " << qd << endl; qn = tn2 - tn1;// разница показаний электросчетчика Ночь cout << "Всего Ночь кВт*час : " << qn << endl; q = qd + qn; cout << "Суммарные показания (День + Ночь ) кВт*час: " << q << endl; cout << "__________________________________________ " << endl; if (q > 600 && q != 600) // Тариф 3 { sd3 = (qd / q) * (q - 600) * h; // Сумма до 100 Кв День sn3 = (qn / q) * (q - 600) * (h / 2); // Сумма до 100 Кв Ночь sdn3 = sd3 + sn3; // Сумма до 100 кв День + Ночь cout << "Всего к оплате День + Ночь свыше 600 кВт*час (грн) : " << sdn3 << endl; cout << " " << endl; sd2 = (qd / q) * 500 * f; sn2 = (qn / q) * 500 * (f / 2); sdn2 = sd2 + sn2; cout << "Всего к оплате День + Ночь от 100 до 600 кВт*час (грн) : " << sdn2 << endl; cout << " " << endl; sd1 = (qd / q) * 100 * d; sn1 = (qn / q) * 100 * (d / 2); sdn1 = sd1 + sn1; cout << "Всего к оплате День + Ночь до 100 кВт*час (грн) : " << sdn1 << endl; cout << " " << endl; so = sdn3 + sdn2 + sdn1; cout << "__________________________________________ " << endl; cout << "Всего к оплате по всем тарифам !!! (грн) : " << so << endl; } if (q>100 && q <= 600) // Тариф 2 { sd2 = (qd / q) * (q - 100)*f; sn2 = (qn / q) * (q - 100)*(f / 2); sdn2 = sd2 + sn2; cout << "Всего к оплате День + Ночь от 100 до 600 кВт*час (грн) : " << sdn2 << endl; sd1 = (qd / q) * 100 * d; sn1 = (qn / q) * 100 * (d / 2); sdn1 = sd1 + sn1; cout << "Всего к оплате День + Ночь до 100 кВт*час (грн) : " << sdn1 << endl; so = sdn2 + sdn1; cout << "__________________________________________ " << endl; cout << "Всего к оплате по всем тарифам !!! (грн) : " << so << endl; } if (q <= 100 && q != 0) // Тариф 1 { sd1 = qd*d; sn1 = (qn*(d / 2)); sdn1 = sd1 + sn1; cout << "Всего к оплате День + Ночь до 100 кВт*час (грн.) : " << sdn1 << endl; so = sdn1; cout << "__________________________________________ " << endl; cout << "Всего к оплате по всем тарифам !!! (грн) : " << so << endl; } cout << "__________________________________________" << endl; cout << "Продолжить расчет дальше (y/n)? "; cin >> l; } while (l == 'y'); } |
The work program:
5.0
10
