0 / 0 / 0
Регистрация: 20.05.2012
Сообщений: 57
1

Программа по подсчёту стоимости товара

10.10.2013, 00:40. Показов 826. Ответов 0
Метки нет (Все метки)

Нужно написать программу, которая будет вычислять самую оптимальную цену, которую надо заплатить за n дискет. Одна дискета стоит 11 руб. 50 коп. Коробка дискет содержит 12 дискет и стоит 114 руб. 50 коп. Ящик содержит 12 коробок и стоит 1255 руб. Я написал программу, но она вышла громоздкой и не высчитывает реально оптимальную цену, то есть выгоднее купить ящик, если надо купить 143 дискеты, но моя программа такого результата не выдаст. Что посоветуете сделать, как её написать не используя тысячу и один if? Можно ли оптимизировать этот код или проще заново всё писать?
Вот мой вариант на данный момент:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
program Bisness_v1_1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
var
  n,a,b:integer;
  x,y,z:double;
 
const
  p1=11.5;
  p2=114.5;
  p3=1255;
  k1=144;
  k2=12;
 
begin
  x:=0;
  y:=0;
  z:=0;
  try
  writeln('vvedite chislo disket, kotorie nado kypit');
  read(n);
  x:=n*p1;
  writeln('maksimalnaia cena: ',x:0:1);
  if n>=k1 then
  begin
    a:=n div k1;
    x:=a*p3;
    if n mod k1=0 then
      writeln('minimalnaia cena: ', x:0:1,'; chislo iashikov: ',a);
    if n mod k1>=12 then
    begin
      n:=n-a*k1;
      b:=n div k2;
      y:=b*p2;
      if n mod k2=0 then
        writeln('minimalnaia cena: ',x+y:0:1,'; chislo iashikov: ',a,', korobok: ',b)
      else
      begin
        n:=n-b*k2;
        z:=n*p1;
        writeln('minimalnaia cena: ',x+y+z:0:1,'; chislo iashikov: ',a,', korobok: ',b,', odinoxnih: ',n);
      end;
    end
    else
    begin
      n:=n-a*k1;
      z:=n*p1;
      writeln('nimimalnaia cena: ',x+z:0:1,'; chislo iashikov: ',a,', odinochnih: ',n);
    end;
    readln;
  end
  else
  begin
    if n>k2 then
    begin
      a:=n div k2;
      x:=a*p2;
      if n mod k2=0 then
        writeln('minimalnaia cena: ',x:0:1,'; chislo korobok: ',a)
      else
      begin
        n:=n-a*k2;
        z:=n*p1;
        writeln('minimalnaia cena: ',x+z:0:1,'; chislo korobok: ',a,', odinochnih: ',n);
      end;
    end
    else
    begin
      z:=n*p1;
      writeln('minimalnaia cena: ',z:0:1);
    end;
  readln;
  end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
  readln;
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.10.2013, 00:40
Ответы с готовыми решениями:

Программа для вычисления стоимости товара с учетом скидки
ПРОГРАММА В Delphi. Ввести цену товара, количество его проданных единиц и %скидки. Вычислить...

В массиве записана информация о стоимости 30 видов товара. Определить стоимость двух самых дорогих видов товара
В массиве записана информация о стоимости 30 видов товара. Определить стоимость двух самых дорогих...

В группе 7 видов товара. Известны данные о стоимости каждого.Определить общая сумма товара больше 1500 рублей или нет???
I need help! Тема "Цикл с параметром!" В группе 7 видов товара. Известны данные о стоимости...

В массиве записана информация о стоимости 20 видов товара. Определить, сколько видов товара имеют стоимость меньшую, чем средняя стоимость всех вид
В массиве записана информация о стоимости 20 видов товара. Определить, сколько видов товара имеют...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.10.2013, 00:40

Программа по подсчету форменных элементов
Добрый день,кто может помочь с написанием программы для обработки изображения. Суть-нужно...

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

Программа по подсчету краски для покраски комнаты
Нужно, чтобы программа считала, сколько краски потребуется только для покраски стен. Без окон и...

Расчет стоимости товара
помогите реализовать расчет стоимости товара. пример с сайта...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.