C я запутался в том, как написать формулу для кода c и I

#visual-c

#visual-c

Вопрос:

  1. Напишите программу, которая отображает счета за воду. Ваша программа должна предложить пользователю ввести целочисленный номер счета, символьный код использования и действительное число, представляющее использованные галлоны воды. Выходные данные вашей программы должны включать номер счета, сообщение, указывающее тип использования, и сумму денег, причитающуюся от пользователя. Нарисуйте блок-схему для вашей программы.

Расход воды варьируется в зависимости от типа использования. Код H означает домашнее использование, код C означает коммерческое использование, а код I означает промышленное использование. Любое другое значение кода следует рассматривать как ошибку. Расходы воды вычисляются следующим образом:

Код H: 5,00 долларов плюс 0,005 доллара за галлон

Код C: 1000,00 долларов за первые 4 миллиона использованных галлонов плюс 0,025 доллара за каждый дополнительный использованный галлон

Код I: 1000,00 долларов США, если объем использования не превышает 4 миллионов галлонов 200,00 долларов США — это объем использования от 4 до 10 миллионов галлонов 300,00 долларов США — это 10 миллионов галлонов или более

 cout << " Enter your account number" << endl;
cin >> account;

cout << " Enter your code (h, c or i): h means home, c means commercial use and i means industrial use" << endl;
cin >> code;

cout << " Enter the number of gallons of water used" << endl;
cin >> gallon;


return 0;
} 

void company() { 
    switch (code) {

        case 'H': case 'h':
            total = (0.0005*gallon)   5;
            cout, , " your total gallons of water is" << endl;

            break;

        case 'C': case 'c':


        case 'I': case 'i':
  

Комментарии:

1. Итак, где вы застряли? В чем ваша конкретная проблема?

2. Я запутался в коде c, я действительно не знаю, как его написать, так же хорошо, как код i

3. Отредактируйте свой код в вопросе, а не в комментариях.

4. хорошо, я исправлю это сейчас, это в основном то, что у меня есть на данный момент

5. Спасибо, что исправили это для меня, я новичок на этом сайте, да, я как бы застрял в случае C, и я знаю, что должен написать оператор if в случае I, но я не знаю, как это сделать, но для случая c я действительно не знаю, что делать

Ответ №1:

Это простой перевод текста, читаемого человеком.

для кода c, :

 total = 1000; // 1000 dollars in any case
int remaining_gallons_to_pay = gallon - 4000000; // the first 4 million are already paid for
if(remaining_gallons_to_pay > 0) {  // maybe they used less than 4 million, if so, their problem
    total = total   (remaining_gallons_to_pay * 0.025);
}
break;
  

для кода i:

 if (gallon <= 4000000) { // 'does not exceed' means less or equal
    total = 1000;
}
else if (gallon <= 10000000) { // cannot be 4 million or less, already checked, but "between 4 million and 10 million", is this inclusive 10 million? I assumed so for this statement...
    total = 2000;
}
else { // so, it must be over 10 million
    total = 3000;
}
break;
  

Поскольку вы используете инструкцию switch … case, в вашем распоряжении есть другой вариант: default . Все дела, с которыми вы не разобрались — и которыми закончили break , — заканчиваются здесь. Итак, вам остается добавить

 default : cout << "Code error"
  

в вашем блоке переключения.