Форум программистов, компьютерный форум CyberForum.ru

Написать имитацию кассового аппарата для магазина - C++

Восстановить пароль Регистрация
 
Melany
21 / 4 / 0
Регистрация: 05.07.2015
Сообщений: 125
14.07.2015, 14:25     Написать имитацию кассового аппарата для магазина #1
Здравствуйте,
У меня задача написать имитацию кассового аппарата для магазина, я сделала, но к сожалению, никак не могу привести его в порядок с остатками, что нужно сделать, чтоб если остаток товара на складе был 0, чтоб не разрешало вводить количество, а то у меня вводиться и + еще и считает (,
Спасибо,

C++
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
#include<iostream>
#include<string>
using namespace std;
void main()
{
setlocale(LC_ALL,"Ukr");
const int size=5;
string Goods[size]={"Елка","Кубики","Звезда","Свечка","Шарик"};
double Price[size]={50,20,30,5,10};
int Qty[size]={5,10,10,10,10};
double Sum[size]={0};
for(int i=0;i<size; i++)
cout<<i+1<<"\t"<<Goods[i]<<"\t"<<Price[i]<<"\tгрн\t"<<Qty[i]<<"шт.\n";
cout<<"Выберите товар из списка:\n";
int n=0;
double balance=0;
for(int j=1; j<=3;j++)
{
cout<<"Покуnатель №"<<j<<"\n"; 
double sum=0;
for(int i=0;i<size; i++)
{    
     cout<<i+1<<"\t"<<Goods[i]<<"\t"<<Price[i]<<"\tгрн\t"<<"шт.\t";
     cin>>n;
     //if(Qty[i]==0)
        // continue;
      if(Qty[i]<n)
             {
                cout<<"Error"<<"В наличии только\t"<<Qty[i]<<"\n"<<"Введите количество заново\t\t";
                cin>>n;
                Qty[i]=Qty[i]-n;
                Sum[i]=Price[i]*n; 
                continue;
            }
                 
                          
             
      Qty[i]=Qty[i]-n;
     Sum[i]=Price[i]*n;
}
for(int i=0;i<size; i++)
{
    sum+=Sum[i];
}
cout<<sum;
if(sum>=600)
    {
        cout<<"У Вас 10% скидка!!!\n";
        cout<<"Вы должны заплатить - "<<sum-sum/100*10<<"грн\n";
    }
 
else if(400<=sum)
    {
        cout<<"У Вас 5% скидка!!!\n";
        cout<<"Вы должны заплатить - "<<sum-sum/100*5<<"грн\n";
   }
 else
    {
        cout<<"У Вас нет скидки!!!\n";
        cout<<"Вы должны заплатить - "<<sum<<"грн\n";
    }
balance+=sum;
cout<<"Остаток\n";
for(int i=0;i<size; i++)
cout<<i+1<<"\t"<<Goods[i]<<"\t"<<Price[i]<<"\tгрн\t"<<Qty[i]<<"шт.\n";
}
 
cout<<"Выручка магазина=\t"<<balance<<"\n\n";
 
cout<<"Остаток\n";
for(int i=0;i<size; i++)
cout<<i+1<<"\t"<<Goods[i]<<"\t"<<Price[i]<<"\tгрн\t"<<Qty[i]<<"шт.\n";
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2015, 14:25     Написать имитацию кассового аппарата для магазина
Посмотрите здесь:

нужно создать имитацию клика на галакси с2 с задаными координатами C++
Создайте имитацию входа в систему! C++
C++ написать программу для вычисления значений функции F(x) для х, изменяющегося в интервале от A до B с шагом DEL.
Двумерные массивы. Составить программу для расчета среднемесячного дохода третьего магазина C++
Написать программу для проверки работы процедуры ScalarProduct для вычисления скалярного произведения двух векторов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrunkProgrammer
37 / 27 / 6
Регистрация: 09.06.2015
Сообщений: 100
14.07.2015, 14:50     Написать имитацию кассового аппарата для магазина #2
Цитата Сообщение от Melany Посмотреть сообщение
C++
1
2
Qty[i]=Qty[i]-n;
    Sum[i]=Price[i]*n;
Вот это у тебя явно лишнее в 38-39 строке. Когда ты идешь по ветке условия, у тебя всё норм, continue не пустит. а когда проходишь мимо, у тебя всё равно считает

Не по теме:

Ну и

Цитата Сообщение от Melany Посмотреть сообщение
C++
1
Qty[i]=Qty[i]-n;
не лучше было бы оформить как
C++
1
Qty[i] -= n;

Melany
21 / 4 / 0
Регистрация: 05.07.2015
Сообщений: 125
14.07.2015, 15:18  [ТС]     Написать имитацию кассового аппарата для магазина #3
Нет, проблема к сожалению не в этом, остатки все равно неправильно считает(
DrunkProgrammer
37 / 27 / 6
Регистрация: 09.06.2015
Сообщений: 100
14.07.2015, 15:43     Написать имитацию кассового аппарата для магазина #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Попробуй так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   
    for(int j=1; j<=3;j++){
        cout<<"Покуnатель №"<<j<<"\n"; 
        double sum=0;
        for(int i=0;i<size; i++){    
            if(!Qty[i]){
                continue;
            }
             cout<<i+1<<"\t"<<Goods[i]<<"\t"<<Price[i]<<"\tгрн\t"<<"шт.\t";
             cin>>n;
             
             while(n > Qty[i]){
                cout<<"Error"<<"В наличии только\t"<<Qty[i]<<"\n"<<"Введите количество заново\t\t";
                cin>>n;          
                
             }
                
             Qty[i]=Qty[i]-n;
            Sum[i]=Price[i]*n; 
                    
        }
Melany
21 / 4 / 0
Регистрация: 05.07.2015
Сообщений: 125
14.07.2015, 16:08  [ТС]     Написать имитацию кассового аппарата для магазина #5
Спасибо огромное, а то еще не совсем понимала как cоntinue работает и как выкинуть те товары, остаток которых равен 0.

Спасибо еще раз!!!
DrunkProgrammer
37 / 27 / 6
Регистрация: 09.06.2015
Сообщений: 100
14.07.2015, 16:15     Написать имитацию кассового аппарата для магазина #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
смотри, у тебя есть цикл какой-либо, к примеру, for.

в нем есть несколько операций и условие

C++
1
2
3
4
5
6
7
8
for (условие цикла) {
    операция 1
    if (условие 1) {
        операция 2
        continue;
    }
    операция 3
}

так вот, у тебя при выполнении условия 1 операция 3 не выполняется, так как цикл уходит сразу на следующий шаг когда обрабатывает оператор continue.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2015, 10:49     Написать имитацию кассового аппарата для магазина
Еще ссылки по теме:

C++ Разработать имитацию функции parse
C++ Применение матричного аппарата в программном решении оптимизационных задач
C++ Зная стартовый капитал и месячный процент прироста, рассчитать необходимое количество лет для покупки магазина

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

Или воспользуйтесь поиском по форуму:
Melany
21 / 4 / 0
Регистрация: 05.07.2015
Сообщений: 125
15.07.2015, 10:49  [ТС]     Написать имитацию кассового аппарата для магазина #7
Спасибо за наглядное объяснение!!!
Yandex
Объявления
15.07.2015, 10:49     Написать имитацию кассового аппарата для магазина
Ответ Создать тему
Опции темы

Текущее время: 14:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru