Как написать программу для кассы

Доброго времени суток, Уважаемые Знатоки. Сразу оговорюсь, помощь нужна не в решении задачи вместо меня. Просто не могу понять, как применить имеющиеся знания на практике. Если кто-нибудь поможет составить план действий, буду очень сильно благодарен. Итак, вот сама задача: Напишите программу, моделирующую кассы в магазине. Существует несколько касс, работающих одновременно.

Каждый покупатель — отдельный поток. Общее количество покупателей может быть больше, чем количество касс, но одновременно не может обрабатываться больше покупателей, чем имеется рабочих касс. У каждого покупателя есть набор товаров, которые должны быть выведены в процессе обслуживания.

Отслеживать

5,185 3 3 золотых знака 23 23 серебряных знака 48 48 бронзовых знаков

Источник: ru.stackoverflow.com

Cash Front. Программа для кассы. Обзор

Написание программы, моделирующей работу кассы приема платежей

Написать программу, моделирующую работу кассы приема платежей.

Количество работающих кассиров (1, 2 или 3) выбирается переключателем.

Работа каждого кассира моделируется отдельным потоком, время обслуживания каждого клиента определяется генератором случайных чисел

в диапазоне 30 – 200 сек.

На главной форме визуально должны динамически отображаться:

— количество обслуживаемых в данный момент клиентов;

— количество клиентов в общей очереди;

— состояние каждого кассира (занят-свободен);

если он занят – время, оставшееся до окончания

обслуживания очередного клиента (секунд).

Объекты синхронизации выбираются самостоятельно.

В качестве способа синхронизации была выбрана Критическая секция.

Принцип работы программы заключается в следующем:

Критическая секция (critical section) — это небольшой участок кода, требующий монопольного доступа к каким-то общим данным. Она позволяет сделать так, чтобы единовременно только один поток получал доступ к определенному ресурсу.

Читайте также:
Покупка машины по программе трейд ин отзывы

В своей программе при помощи кнопки Button3- «Пуск» и переключателя RadioGroup1 создаем потоки от 1 до 3-х, которые одновременно могут обслуживать только по одному клиенту.

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

Количество клиентов можно увеличить при помощи Button2-«Добавить людей в очередь».

Работу запущенных потоков можно приостановить кнопками PauseBtn1, PauseBtn2 и соответственно PauseBtn3.

Общая схема работы программы:

Описание основных функций:

Кассовая программа Frontol Simple. Обзор основных возможностей торговли в программе Frontol Simple.

Преимущество критических секций в том, что они просты в использовании и выполняются очень быстро, так как реализованы на основе Interlocked-функций.

Рис.1. Главная форма программы.

На данной форме осуществляется управление моделью «касс приема платежей».

— Функция FormCreate. Создаем критическую секцию, задаем интервал времени, указываем место нахождения картинок.

void __fastcall TBankForm::FormCreate(TObject *Sender)

PictureDir = WorkDir + AnsiString(«\pictures»);

— Функция отсчета окончания времени обслуживания клиента.

void __fastcall TBankForm::Timer1Timer(TObject *Sender)

//n1, n2, n3- счетчики, нужные для отсчета времени обслуживания

Источник: vunivere.ru

Как написать программу для кассы

Тебе русским языком написано, что ошибки произошли во время построения.
Найди в своей вижуал студии окошко с ошибками уже.

g++ main.cpp -o main
main.cpp:7:11: error: ‘NOD’ does not name a type
main.cpp:9:28: error: ‘NOD’ was not declared in this scope
main.cpp: In member function ‘void FirstClass::input_data()’:
main.cpp:23:17: error: ‘Name_of_dastination’ was not declared in this scope
main.cpp:23:38: error: ‘NOD’ was not declared in this scope
main.cpp: In member function ‘void SecondClass::show_input_data()’:
main.cpp:39:42: error: ‘Name_of_dastination’ was not declared in this scope
main.cpp: In function ‘int main()’:
main.cpp:56:19: error: ‘system’ was not declared in this scope
Читайте также:
Составить программу расчета значения функции z x 2 ctg 2y

Смотри по порядку:

main.cpp:7:11: error: ‘NOD’ does not name a type

ошибка в 7 строке, 11 символе — ты объявляешь константу типа NOD, но нет такого типа.

main.cpp:9:28: error: ‘NOD’ was not declared in this scope

9 строка, 28 символ. Ты опять пользуешься NOD

main.cpp:23:17: error: ‘Name_of_dastination’ was not declared in this scope

23 строка, 17 символ — ты используешь Name_of_dastination, но опять ничего с таким именем не объявлял.

И дальше в том же духе.

Регистрация: 04.10.2008
Сообщений: 2,618

static const int NOD=30;
#include
Соберется оно хотя бы, а как работать будет — я хз, не смотрел код.
Пользователь
Регистрация: 14.12.2013
Сообщений: 64
static const int NOD=30;
#include
Соберется оно хотя бы, а как работать будет — я хз, не смотрел код.

Благодарю! Работает.
Если не сложно, могли бы Вы еще подсказать, как исправить, что бы корректно отображало введенные данные.

Изображения

Wrong data.jpg (17.0 Кб, 160 просмотров)

Регистрация: 04.10.2008
Сообщений: 2,618

Если не сложно, могли бы Вы еще подсказать, как исправить, что бы корректно отображало введенные данные.

Ты не пытаешься «отображать введенные данные».

У тебя 2 разных объекта. В первый ты вводишь данные, а во втором — не инициализируешь их.
Выводишь ты данные второго объекта, которые не инициализировал, поэтому на экран вываливается мусор.

Ну то-есть ты не понял азы ООП и ожидаешь какого-то неправильного поведения.

Источник: www.programmersforum.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru