cthln lmd Ответов: 1

Как сложить все цены?


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

Что я уже пробовал:

int main()
    {
        int choice;
        int purchase;
        int quantity;
        double totalChoice1;
        double totalChoice2;
        char view;
        char confirm;
        char buyMore;
        char look;
        double alloy, apex, kraken, aorus;
        double oppo, alpha, rog, huawei;
        double ps4, nintendo, xbox, wii;

        alloy = 69.99;
        apex = 199;
        kraken = 90;
        aorus = 60;

do {
    cout << "What type of items would you like to view?" << endl;
    cout << " [1] Peripherals" << endl;
    cout << " [2] Mobile Phones" << endl;
    cout << " [3] Consoles" << endl;
    cout << " [4] Exit" << endl;
    cout << "Enter your choice: ";
    cin >> choice;


    if (choice == 1) {
        cout << "--------------------" << endl;
        cout << "What peripherals would you like to purchase?" << endl;
        cout << "[1] HyperX Alloy FPS PRO - $69.99" << endl;
        cout << "[2] SteelSeries APEX PRO - $199" << endl;
        cout << "[3] Razer Kraken X - $90" << endl;
        cout << "[4] AORUS K7 - $60" << endl;
        cout << "[5] BACK TO MENU"  << endl;
        cout << "Enter your choice: ";
        cin >> purchase;
        cout << "--------------------" << endl;


        if (purchase == 1) {
            cout << "How many would you like to purchase? ";
            cin >> quantity;
            totalChoice1 = quantity * alloy;

            cout << "The total price for that is " << totalChoice1 << endl;
            cout << "Confirm the Purchase? [Y]/[N]: ";
            cin >> confirm;

            if (confirm == 'Y') {
                totalChoice1; // This is just a trial code.
                cout << "Would you like to buy more items? [Y]/[N]: ";
                cin >> buyMore;
            }
            else if (confirm == 'N') {
                cout << "Do you still want to look for items? [Y]/[N]: ";
                cin >> look;

                if (look == 'N') {
                    break;
                }
            }
            else {
                break;
            }
        }
}
while (purchase == 5 || buyMore == 'Y' || look == 'Y');
cout << "The total price for your items is: " << totalChoice1; // This is also a trial code (totalChoice1)
}

1 Ответов

Рейтинг:
2

OriginalGriff

Проблема, которую вы заметили, проста:

totalChoice1 = quantity * alloy;
Каждый раз, когда вы выполняете это, вы отбрасываете все предыдущие покупки.
Возможно, то, что вы хотели, было
totalChoice1 = totalChoice1 + quantity * alloy;
Или
totalChoice1 += quantity * alloy;


Но... вам лучше подумать о том, что происходит, когда вы действительно ходите по магазинам: они ведут список всего, что вы покупаете, а не просто суммируют сумму - если ваш чек в супермаркете просто сказал "$406,99", то вы, вероятно, не будете счастливы, особенно если вам нужно что-то вернуть...


CPallini

:-)