0.30025
#define RATE4 0.34025
#define BREAK1 360.0
#define BREAK2 468.0
#define BREAK3 720.0
#define BASE1(RATE1*BREAK1)
#define BASE2 (BASE1+(RATE2*(BREAK2-BREAK1)))
#define BASE3(BASE1+BASE2+(RATE3*(BREAK3-BREAK2)))
int main()
{ SetConsoleCP(1251);SetConsoleOutputCP(1251);
double kwh;
double bill;
printf("Введите обьем израсходованнной электроэнергии \n");
scanf("%lf",&kwh);
if(kwh <=BREAK1)
bill = RATE1*kwh;
else if(kwh<= BREAK2)
bill = BASE1 + (RATE2*(kwh-BREAK1));
else if (kwh<= BREAK3)
bill = BASE2 +(RATE3*(kwh-BREAK2));
else
bill = BASE3 + (RATE4*(kwh - BREAK3));
printf("Сумма к оплате за %.1f составляет $ %1.2f\n",kwh,bill);
return 0;
}
Вылезает ошибка error +not appear in macro parameter list
.раскройте макросы
Спасибо,как его раскрыть?
Пожалуйста. Либо руками, через поиск и замену Либо прогнать код через препроцессор
страшная потому что
Пробел между именем макроса и ( поставьте
Спасибо,все было намного проще)
А можно полностью ошибки прислать?
Ну и тут все макросы начиная от BASE1 не имеют смысле, надо просто писать выражения в коде
#define BASE1 RATE1*BREAK1 #define BASE2 (BASE1+(RATE2*(BREAK2-BREAK1))) #define BASE3 BASE1+BASE2+(RATE3*(BREAK3-BREAK2))
Это просто листинг программы из книги Стивена Прата по си)
Обсуждают сегодня