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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Melany
21 / 4 / 0
Регистрация: 05.07.2015
Сообщений: 126
#1

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

14.07.2015, 14:25. Просмотров 771. Ответов 6
Метки нет (Все метки)

Здравствуйте,
У меня задача написать имитацию кассового аппарата для магазина, я сделала, но к сожалению, никак не могу привести его в порядок с остатками, что нужно сделать, чтоб если остаток товара на складе был 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";
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2015, 14:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать имитацию кассового аппарата для магазина (C++):

Разработать имитацию функции parse - C++
Функция parse(s,t) - разделение строки s на две части, до символа t и после него. Прошу помощи в написании такой программы. Нужно...

Реализовать программно имитацию принтра - C++
Реализовать программно имитацию принтера, не замудрено (не пойму как). Что входит в имитацию?

Создайте имитацию входа в систему! - C++
Создайте имитацию входа в систему, которая будет запрашивать пароль и выводить приглашение только в случае совпадения введенного пароля с...

Класс для магазина - C++
Здравствуйте! Изучаю ООП и мне нужно создать класс для создание программы магазина, но не знаю какие классы и атрибуты создать помогите....

нужно создать имитацию клика на галакси с2 с задаными координатами - C++
у меня андройд и я работаю в сети недавно мне в голову ударило что мне нужен код который бы тыкал сам экран не прилогая сил со стороны...

Разобраться с функцией из библиотеки для кассового аппарата - C (СИ)
Есть вот такие функции из библиотеки для кассового аппарата int CZekaFP::SellFreeEx(const char* name, char taxgrp, double price, double...

6
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;

1
Melany
21 / 4 / 0
Регистрация: 05.07.2015
Сообщений: 126
14.07.2015, 15:18  [ТС] #3
Нет, проблема к сожалению не в этом, остатки все равно неправильно считает(
0
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; 
                    
        }
1
Melany
21 / 4 / 0
Регистрация: 05.07.2015
Сообщений: 126
14.07.2015, 16:08  [ТС] #5
Спасибо огромное, а то еще не совсем понимала как cоntinue работает и как выкинуть те товары, остаток которых равен 0.

Спасибо еще раз!!!
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.
1
Melany
21 / 4 / 0
Регистрация: 05.07.2015
Сообщений: 126
15.07.2015, 10:49  [ТС] #7
Спасибо за наглядное объяснение!!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2015, 10:49
Привет! Вот еще темы с ответами:

Работа 1С 8.2 Розница 2.0 для Белорусии и Кассового аппарата Гепард НТС-МФ 2.0 - 1С
Есть такой фискальный регистратор - Гепард НТС -МФ 20BY . Хочется застравить его работать с Розницей 2.0 для Белорусии (управляемые формы)....

Обнуление кассового аппарата - 1С
Здравствуйте! Помогите, пожалуйста! имеются кассовые аппараты. если кассовый аппарат был в ремонте, то после возврата счетчики данных...

1C 7.x Программирование кассового аппарата Штрих М LIGHT ПТК ФР - 1С
Приветствую знатоков. Может кто подскажет где поискать примеры программирования кассового аппарата Штрих М LIGHT ПТК ФР? Руководство...

Обновить цены в файле кассового аппарата в соответствии с ценами прайс-листа - MS Excel
Добрый день! Подскажите, пожалуйста, при помощи какой функции можно решить мою задачу в Excel. Имеется файл прайс-лист и файл для кодировки...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
15.07.2015, 10:49
Ответ Создать тему
Опции темы

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