需要帮助在C ++中创建一个方程来计算总数

时间:2015-06-14 23:50:07

标签: c++

我的更新代码。当我运行代码时,它会一直输出所有包的价格而不是我要求的价格。

#include <iostream>
using namespace std;

int main() {

// to keep it simple
int choice_a = 995;
int choice_b = 1995;
int choice_c = 3995;
char choice;
int message_units, x=1;
double price;
bool selected = false;

// this loop shows the options initially
do {
cout << "Which package do you choose (enter A, B or C)" << endl;
// you will need to check this
cin >> choice;
// keeping it simple
if (choice == 'A') { price = choice_a; selected = true; }
else if (choice == 'B') { price = choice_b; selected = true; }
else if (choice == 'C') { price = choice_c; selected = true; }
cout << endl;
}
// loops until something was selected
while (selected == false);

do{
cout << "How many message units (enter 1 - 672)" << endl;
// again check this
cin >> message_units;
x++;
}
while(x<2);

if(message_units > 5){
choice_a += 100 * (message_units - 5);
}
cout << "Your total cost is " << choice_a /100 << "." <<choice_a%100 endl
if(message_units > 15){
  choice_b += 50 * (message_units - 15);
 }
cout <<"Yourtotalcostis"<<choice_b /100 << "." << choice_b%100<<endl;

2 个答案:

答案 0 :(得分:0)

(你错过了一个“我”或两个,但对于非母语的人来说,英语很难。)

Atotalcost = 9.95;
if(messageunits>5)
  Atotalcost += 1.0 * (messageunits-5);

修改

有几种方法可以处理金额。其中之一是存储一定数量的美分,然后小心打印出来。例如,$ 2.34的金额存储为int price = 234,然后打印出来我们打印price/100(即2),然后是小数点,然后是price%100(即34, '%'是模运算符,你可以查找它。所以代码看起来像这样:

#include <iostream>
using namespace std;
int main()
{
  int messageunits;
  cout << "how many message units(enter 1 - 672)" << endl;
  cin >> messageunits;

  int Atotalcost = 995; // cost of package a, in cents
  if(messageunits > 5){
    Atotalcost += 100 * (messageunits - 5);
  }

  cout << "Your total cost is " << Atotalcost/100 << "." << Atotalcost%100 << endl;
}

还有很多工作要做,但这是一个好的开始。

答案 1 :(得分:0)

沿着这些方向,这个例子可能有一些小错误,我试图保持简单。

#include <iostream>
using namespace std;

int main() {
bool finished = false;



do {

    // to keep it simple
    double choice_a = 9.95;
    double choice_b = 19.95;
    double choice_c = 39.95;
    char choice;
    int message_units;
    double price;
    bool selected = false;





    // this loop shows the options initially
    do {
        cout << "Which package do you choose (enter A, B or C)" << endl;
        // you will need to check this
        cin >> choice
        // keeping it simple
        if (choice == 'A') { price = choice_a; selected = true; }
        else if (choice == 'B') { price = choice_b; selected = true; }
        else if (choice == 'C') { price = choice_c; selected = true; }
        cout << endl;
    }
    // loops until something was selected
    while (selected == false);






    // user enters how many units is wanted
    cout << "How many message units (enter 1 - 999)" << endl;
    // again check this (if homework requires checking input)
    cin >> message_units;

    // Calculating message units
    if (message_units > 5) price += message_units * 1;
    else price += message_units * 2; // if $2.00 normal?



    // Total Price Output
    cout << "Total: " << price << endl;



    // Is user done?
    char done;
    cout << "Do you want to enter another? press enter to continue. If you are done, type something and press enter.";
    cin >> done;

    // check
    if (done != '') {
        finished = true;
    }
} 
while (finished = false);

好吧,就是这样。两个做while循环和其余。在编译时可能会有一些轻微的错误,实际上,你应该尝试自己修复这些错误,因为这几乎就是整个任务......