mahmoud1998 Ответов: 3

(Финансовое приложение: Найти прибыль на единицу продукции)


Вы только что открыли новый стационарный магазин. Ваша прибыль на единицу товара зависит от общего количества проданного товара.
 Your profit-per-item depends on the total quantity of item sold.
The scheme shown below is used to determine the total profit:
Quantity      Profit-per-item
0–1000             $1
1001–5000          $2
5001 and above     $5

Обратите внимание, что это градуированная прибыль. Прибыль от продажи до 1000 предметов составляет $1, для следующих 4000 предметов - $2, а сверх этого - $5. Если общее количество проданного товара равно 10000, то прибыль составляет 1000 * $1 + 4000 * $2 + 5000 * $5 = $34000. Ваша цель-зарабатывать 50 000 долларов в год. Напишите программу, которая использует цикл do-while, чтобы узнать минимальное количество товара, которое вы должны продать, чтобы заработать 50 000 долларов.

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

#include <iostream>
#include<cmath>
#include<ctime>
#include<string>
#include <iomanip>
#include <fstream>

using namespace std;

int main()
{
	int profit = 0;
	int quantity = 0;
	int counter = 0;
	do
	{	
			if (quantity <= 1000)
						profit = quantity * 1;
					else if (quantity <= 5000)
						profit +=  quantity * 2;
					else if (quantity > 5000  )
						profit += quantity * 5;
				
			quantity+= 1000;

	} while (profit <= 50000);
	cout << quantity;
}

Dave Kreskowiak

...- и проблема в том, что...?

mahmoud1998

это не работает

jeron1

Не могли бы вы уточнить?

jeron1

Извините, я не собираюсь переходить по каким-либо ссылкам, похоже, вы получаете прибыль несколько раз за одни и те же товары. Только те элементы над 5000 имеют прибыль в размере 5 долларов, только предметы над 1000 и менее 5000 имеют прибыль в размере $2

mahmoud1998

Ваша прибыль на единицу товара зависит от общего количества проданного товара.
Приведенная ниже схема используется для определения общей прибыли:
Количество прибыли на единицу продукции
0–1000 $1
1001–5000 $2
5001 и выше $5

jeron1

Да, я понимаю, но не уверен, что ты это понимаешь. Поместите примерное значение 10000 и запустите его через свой цикл один раз, вы умножаете это значение (10000) на 5. соответствует ли это приведенному примеру?

jeron1

Попробуйте на листе бумаги дважды пройти через свой цикл и посмотреть, какую прибыль вы получите.

Patrice T

Этот файл находится на вашем компьютере, мы не можем его видеть.

mahmoud1998

я записал всю информацию в файл

mahmoud1998

Напишите программу, которая использует цикл do-while, чтобы узнать минимальное количество товара, которое вы должны продать, чтобы заработать 50 000 долларов.

Rick York

Нет, это ваша проблема.

Dave Kreskowiak

Хорошо, я написал приложение. И что теперь?

Dave Kreskowiak

Возможно, вы захотите изучить, почему вы добавляете 1000 к количеству проданных товаров. Вам также не нужен последний оператор if, потому что если количество не меньше или равно 5000, оно уже должно быть больше 5000.

mahmoud1998

ладно ребята я только что понял это спасибо что попытались помочь
Я оставлю код ниже

3 Ответов

Рейтинг:
6

mahmoud1998

#include <iostream>
#включить<cmath>
#включить<ctime>
#include<string>
#включить <iomanip>
#включить <fstream>

использование пространства имен std;

тап_п()
{

int firstprofit = 0 ;
количество int = 0;
int q3 = 1;

//целевая прибыль >> 50000
cout << "введите прибыль ";
инт endProfit;
cin >> endProfit;

//первые пять количеств 1 * 1000+2 * 4000
firstprofit += 9000;
делать
{
//оставшееся количество(q3), которое составляет 50000(endProfit) - 9000(firstProfit) / 5
if (q3 == (endProfit - firstprofit) / 5)
{
firstprofit += q3 * 5;
перерыв;
}
еще
3к++ ;

} while (firstprofit <= endProfit);

//все количество
количество += 1000 + 4000 + q3;

cout << количество;






}


Рейтинг:
24

CPallini

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

int compute_profit( int quantity )
{
  int profit = 0;
  if ( quantity < 1000)
    profit += quantity; // * 1
  else
  {
    profit += 1000;
    quantity -= 1000;
    if ( quantity < 4000)
      profit += quantity * 2;
    else
    {
      profit += 8000; // 4000 * 2
      quantity -= 4000;
      profit += quantity * 5;
    }
  }
  return profit;
}


В качестве примечания, вам действительно не нужно повторять. При альтернативном подходе ваша программа могла бы непосредственно вывести quantity ценность.


mahmoud1998

Я знаю, что мне не нужно повторять, но вопрос указывает do_while, который будет использоваться

CPallini

Так вы должен повторять. :-)

Рейтинг:
2

KarstenK

используйте отладчик, чтобы узнать, что происходит. Я думаю, что утверждение while вовсе не так умно.

чаевые:
1. Сделайте еще немного вывода
2. Запишите вычисление в функцию