1

Тема: C++ кількість одиниць

Hello everybody.
Допустимо людина вводить з клавіатури число 50 - це ціна за 1 кг м'яса, але я не знаю наперед яке число напише  людина, а всього є 150 грн, як в програмі відобразити скільки всього м'яса людина зможе купити на введену суму з клавіатури?
Умова задачі:
З клавіатури вводяться ціни трьох товарів та суму грошей користувача. Визначати кількість одиниць кожного виду товару, які користувач може купити, або вивести на екран повідомлення про неможливість здійснення покупки
Код:

Прихований текст
#include <iostream>;
using namespace std;
int main(int argc, char* argv[])
{
    const int uah = 100;
    int myaso, moloko, rus;

    cout << "myaso=";
    cin >> myaso;
    cout << "moloko=";
    cin >> moloko;
    cout << "rus=";
    cin >> rus;
    {
        if (myaso >= 60)
            cout << "1 mjaso\n";
            if (moloko <= 15)
                cout << "1 moloko\n";
                if (rus <= 25)
                    cout << "1  rus\n";
        if (myaso + moloko + rus > 100)
            cout << "neVustachulo\n";
    }
    system("pause");
    return 0;
}

2

Re: C++ кількість одиниць

AnderS0N

скільки всього м'яса людина зможе купити на введену суму з клавіатури?

Хм, я не впевнений але спробуйте поділити суму грошей, що є в наявності у покупця, на ціну м’яса.

Подякували: koala1

3 Востаннє редагувалося 0x9111A (08.11.2016 17:17:31)

Re: C++ кількість одиниць

Думаю в умові задачі мається на увазі що пацієнт буде купляти тільки один товар, і треба порахувати цю кількість для кожного товару окремо.
В інакшому випадку, в задачі буде багато розвьязків.
Наприклад: грошей - 2 шекеля, масло - 1 шекель, молоко - 2 шекеля. Можна купити два масла або 1 молоко.
В загальному випадку це задача на дп, що, я боюсь, складнувато.
От вам симетрична задача з такою умовою - coin-change

Код зовсім поломаний, що то за 60, 15, 25? Чому ви не считуєте "суму грошей користувача"?

4

Re: C++ кількість одиниць

0x9111A написав:

Думаю в умові задачі мається на увазі що пацієнт буде купляти тільки один товар, і треба порахувати цю кількість для кожного товару окремо.
В інакшому випадку, в задачі буде багато розвьязків.
Наприклад: грошей - 2 шекеля, масло - 1 шекель, молоко - 2 шекеля. Можна купити два масла або 1 молоко.
В загальному випадку це задача на дп, що, я боюсь, складнувато.
От вам симетрична задача з такою умовою - coin-change

Код зовсім поломаний, що то за 60, 15, 25? Чому ви не считуєте "суму грошей користувача"?

60 ціна м'яса
15 ціна молока
25 ціна риса

5 Востаннє редагувалося 0x9111A (08.11.2016 17:57:16)

Re: C++ кількість одиниць

AnderS0N написав:

60 ціна м'яса
15 ціна молока
25 ціна риса

AnderS0N написав:

Умова задачі:
З клавіатури вводяться ціни трьох товарів та суму грошей користувача.

Так вони з клавіатури вводяться чи як?

6

Re: C++ кількість одиниць

0x9111A написав:
AnderS0N написав:

60 ціна м'яса
15 ціна молока
25 ціна риса

AnderS0N написав:

Умова задачі:
З клавіатури вводяться ціни трьох товарів та суму грошей користувача.

Так вони з клавіатури вводяться чи як?

Так, з клавіатури.

7 Востаннє редагувалося Reinterpret (08.11.2016 23:15:40)

Re: C++ кількість одиниць

На швидку руку якось так:

#include <iostream>
#include <string>
#include <map>

int main()
{
    std::map<std::string, int> products {
        {"meat", -1},
        {"milk", -1},
        {"bread", -1}
    };

    std::cout << "Enter prices for products:\n";
    for (auto &product : products)
    {
        std::cout << product.first << "-> ";
        std::cin >> product.second;
    }

    double total_sum = 0;
    std::cout << "Enter total sum of money: -> ";
    std::cin >> total_sum;

    std::cout << "You can buy:\n";
    std::size_t prod_size = products.size();
    for (auto &product : products)
    {
        std::cout << product.first << ": "
                  << (total_sum / product.second) << (--prod_size != 0 ? " or" : "")
                  << std::endl;
    }
}

Хоча рішень може бути безліч.

Подякували: AnderS0N1

8

Re: C++ кількість одиниць

AnderS0N написав:
0x9111A написав:
AnderS0N написав:

60 ціна м'яса
15 ціна молока
25 ціна риса

AnderS0N написав:

Умова задачі:
З клавіатури вводяться ціни трьох товарів та суму грошей користувача.

Так вони з клавіатури вводяться чи як?

Так, з клавіатури.

Ви робите програму яка працює тільки якщо користувач ввів певні конкртені значення?

9

Re: C++ кількість одиниць

0x9111A написав:
AnderS0N написав:
0x9111A написав:


Так вони з клавіатури вводяться чи як?

Так, з клавіатури.

Ви робите програму яка працює тільки якщо користувач ввів певні конкртені значення?

Цілком правильно.