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

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

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

Отчет о производственной практике

Задание на практику
Производственная практика студентов по специальности «Программное обеспечение вычислительной техники и автоматизированных систем» является неотъемлемой частью учебно-воспитательного процесса и имеет целью приобретение студентами практических навыков и умений производственной деятельности на предприятиях, в учреждениях и организациях, на основе применения теоретических знаний, полученных бизнес-колледже. Производственная практика завершает 2‑й курс обучения студентов.
Объектами профессиональной деятельности техника по специальности «Программное обеспечение вычислительной техники и автоматизированных систем» являются информационные системы и сети, а также программное обеспечение и сопровождение.
В процессе производственной (профессиональной) практики техник информационных систем должен закрепить и углубить знания, полученные в процессе обучения, приобрести умения и навыки работы по всем видам профессиональной деятельности. Должен закрепить навыки и овладеть умениями адаптации программного продукта к конкретной системе автоматизированной обработки информации, работы в заданном операционном и / или телекоммуникационном окружении, практических средств конкретных технических средств информатизации.

Введение
Необходимо сделать программу для старших менеджеров казино «Тамбовский Волк», рассчитывающую результаты всех игровых столов за рабочий день, независимо от количества клиентов и количества дилеров. Программа должна рассчитывать полученные результаты и сохранять их в отдельные файлы, которые легко можно будет распечатывать через принтер. Результаты каждого дилера должны сохраняться отдельно, для расчета заработной платы, и премий за крупные выигрыши. Необходимо, чтобы через программу можно было, как добавить нового дилера (при подачи заявления на работу), так и удалить уже имеющегося (при увольнении), по возможности желательно учесть то, что при восстановлении старого дилера, его результаты и категория не должны быть утеряны.

Описание деятельности предприятия
В 1994-ом году было принято решение построить (арендовать) помещение для нового развлекательного центра г. Тамбова. Появилось казино «Тамбовский Волк» в 1999 году Директором данного заведения является Сидоров В.В. Через пол года открылось казино «Атлантида». В обоих центрах находились казино, ресторан и танцпол. В каждом казино находился дополнительный бар. Остановимся более подробно на казино «Тамбовский Волк». Данное заведение сразу после открытия составило конкуренцию остальным игорным домам г. Тамбова и области за счет отличного обслуживания клиентов и разновидности предлагаемых азартных игр. Казино предлагает своим клиентам 7 видов покера (пяти карточный с обменом Oasis Poker, шести карточный Oasis Poker, русский покер, техасский покер, семи карточный Oasis Poker, и два Oasis покера для дорогих столов), Blackjack и Американскую рулетку. На данный момент казино «Тамбовский Волк» имеет большое количество постоянных клиентов, несмотря на открытие нового казино.
Описание индивидуальной работы
Моя программа написана специально для казино «Тамбовский волк» и предназначена для постоянного расчета расчёта денежных средств на игровых столах.
Принцип работы программы
В меню new/del Dealer вводятся данные дилеров (фамилия и имя) после чего они вводятся в общий список дилеров. Здесь же вы нашли данный help‑файл. Меню exit – есть ни что иное как выход из программы. В ComboBox’e выбираются дилера, пришедшие на работу, они автоматически попадают в список и по окончании рабочего дня их результаты будут сохранены в файле (С rez…).
Посмотреть список дилеров можно нажатием на кнопку Checkbox «View dealer’s list». В начале рабочего дня запускается программа, по нажатию на кнопку «Money» появляется таблица для ввода данных (денежных средств) с расчетом на каждые 20 минут.
По нажатию на кнопку «Dealers» появляется такая же таблица, но с номерами дилеров которые вводятся по порядку в зависимости от того, как были выбраны в начале смены. По ходу всего рабочего дня заполняются обе таблицы после полного заполнения нажимается кнопка «Total», при нажатии рассчитывается результат каждого дилера, записывается в файл с его фамилией и расширением «.rez». Общий итог дня записывается в ту же папку но в файл без названия так же с расширением».rez».

Приложение 1
Программа использует два юнита (fil и Unit2) первый – главный, второй используется только при добавлении нового дилера или при его увольнении
Код программы и интерфейс программы
unit fil;

interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids, XPMan, ComCtrls, Menus;
type
TForm1 = class(TForm)
BitBtn1 TBitBtn;
StringGrid1 TStringGrid;
Button2 TButton;
StringGrid2 TStringGrid;
StringGrid3 TStringGrid;
ComboBox3 TComboBox;
CheckBox1 TCheckBox;
Button4 TButton;
Button3 TButton;
MainMenu1 TMainMenu;
menu1 TMenuItem;
newDealer1 TMenuItem;
eXIt1 TMenuItem;
ExitProgramm1 TMenuItem;
Memo1 TMemo;
Button1 TButton;
Help1 TMenuItem;
procedure BitBtn1Click (Sender TObject);
procedure Button2Click (Sender TObject);
procedure Button4Click (Sender TObject);
procedure CheckBox1Click (Sender TObject);
procedure ComboBox3Click (Sender TObject);
procedure FormCreate (Sender TObject);
procedure Button3Click (Sender TObject);
procedure ExitProgramm1Click (Sender TObject);
procedure newDealer1Click (Sender TObject);
procedure FormClose (Sender TObject; var Action TCloseAction);
procedure FormClick (Sender TObject);
procedure Help1Click (Sender TObject);
procedure Memo1Click (Sender TObject);
procedure Button1Click (Sender TObject);
procedure FormDblClick (Sender TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1 TForm1;
implementation
uses Math, Unit2;
{$R *.dfm}
Var
*здесь вводится глобальная переменная для хранения количества дилеров на данный день
z integer=1;
procedure TForm1. BitBtn1Click (Sender TObject);
begin
StringGrid1. Visible = true;
StringGrid2. Visible = false;
end;
procedure TForm1. Button2Click (Sender TObject);
begin
StringGrid1. Visible = False;
StringGrid2. Visible = True;
end;
procedure TForm1. FormClick (Sender TObject);
begin
if StringGrid2. Cells [5,5]=’fil’ then Button4. Visible = true;
end;
end.
procedure TForm1. Button4Click (Sender TObject);
*делаем проверку программы, данное событие возможно только в том случае, если в stringGrid2 в ячейке [5,5] написано слово «fil» и «клик» по форме (появляется кнопка «GO!!!»)

*при нажатии на которую «рандомно» заполняются поля «Dealers» и «Money»

var
h, l, p, f, x, a integer;
begin
p = 1;
Randomize;
for f = 1 to 37
do begin
for x = 1 to 5 do begin
a = (Random((49)+1)*100+Random(200)*50);
StringGrid1. Cells [f, x] = IntToStr(a);
end;
end;
for l = 1 to 37 do begin
for h = 1 to 5 do begin
StringGrid2. Cells [l, h] = IntToStr(p);
inc(p);
if p > z‑1 then p = 1;
end;
end;
end;
procedure TForm1. CheckBox1Click (Sender TObject);
begin

*данная процедура используется для показа (скрытия) листа дилеров и их результатов

if CheckBox1. Checked
then StringGrid3. Visible = true
else StringGrid3. Visible = false
end;
Procedure TForm1. ComboBox3Click (Sender TObject);
Begin
StringGrid3. Cells [0, z] = ComboBox3. Text;
Inc (z);
End;
Procedure TForm1. FormCreate (Sender TObject);
Var
o, x, i, q integer;
Begin
Button4. Visible = false;
*здесь заполняем строки ComboBox загрузкой из файла «File.txt», расположенного в корне диска С
Form1. ComboBox3. Items. LoadFromFile (‘c file.txt’);
i = 0;
for q =1 to 40
do begin
*озаглавливаем String Grid 1, 2, 3.
StringGrid3. Cells [1, q] = ‘0’;
end;
StringGrid3. Cells [1,0] = ‘total’;
StringGrid2. Cells [0,0] = ‘Dealers’;
StringGrid1. Cells [0,0] = ‘money’;
StringGrid2. ColCount = 38;
StringGrid2. Cells [0,1] = ‘AR’;
StringGrid2. Cells [0,2] = ‘BJ’;
StringGrid2. Cells [0,3] = ‘OP1’;
StringGrid2. Cells [0,4] = ‘OP2’;
StringGrid2. Cells [0,5] = ‘OP3’;
StringGrid1. ColCount =38;
StringGrid1. Cells [0,1] = ‘AR’;
StringGrid1. Cells [0,2] = ‘BJ’;
StringGrid1. Cells [0,3] = ‘OP1’;
StringGrid1. Cells [0,4] = ‘OP2’;
StringGrid1. Cells [0,5] = ‘OP3’;
for o = 8 to 20 do begin
for x = 0 to 2 do begin
Inc(i);
StringGrid1. Cells [i, 0] = IntToStr (o) + ‘ ‘ + IntToStr (x*2) + ‘0’;
StringGrid2. Cells [i, 0] = IntToStr (o) + ‘ ‘ + IntToStr (x*2) + ‘0’;
end;
end;
end;
procedure TForm1. Button3Click (Sender TObject);
var
dl integer;
st, y string;
fl TextFile;
sav TextFile;
q, w, c, s, f, d, r, t, l, p integer;
begin
w = 0;
for c = 1 to 36
do begin
for s = 1 to 5
do begin
*в переменную «d» берём № дилера
d = StrToInt (StringGrid2. Cells [c, s]);
*в переменную «f» берём сколько денег было до него
f = StrToInt (StringGrid1. Cells [c, s]);
*в переменную «t» берём сколько денег осталось после него
t = StrToInt (StringGrid1. Cells [c+1, s]);
*в находим разницу, и получаем сумму работы дилера
r = t-f;
*в переменную «l» берём сколько денег было в ячейке StringGrid3 данного дилера до данного момента времени
l = StrToInt (StringGrid3. Cells [1, d]);
*здесь просто перезаписываем результат
p = r+l;
*…и перезаписываем этот результат в ту же ячейку
StringGrid3. Cells [1, d] = IntToStr(p);
Button3. Enabled = false;
Button4. Enabled = false;
end;
end;
for q = 1 to 40 do begin
w = w + StrToInt (StringGrid3. Cells [1, q]);
end;
*сохраняем полученные результаты каждого дилера в отдельном файле в каталоге «Rez» на диске С
For dl = 1 to z do begin
st = StringGrid3. Cells [0, dl];
y = StringGrid3. Cells [1, dl];
assignfile (fl, ‘c rez’ + st +’.txt’);
if not fileexists (‘c rez’ + st +’.txt’) then
rewrite(fl)
else append(fl);
writeln (fl, y);
closefile(fl);
end;
assignfile (sav, ‘c rez.txt’);
if not fileexists (‘c rez.txt’) then
rewrite(sav)
else append(sav);
writeln (sav, IntToStr(w));
closefile(sav);

*после расчета выводим сообщение о результате дня

ShowMessage (‘Результат дня ‘ + IntToStr(w));
end;
*процедура выхода из программы
procedure TForm1. ExitProgramm1Click (Sender TObject);
begin
ShowMessage (‘Good Luck!!!’);
Hide;
Form1. Close;
Form2. Close;
end;
*процедура создания нового дилера, использующая Unit 2
procedure TForm1.newDealer1Click (Sender TObject);
begin
Form1. Visible = False;
form2. Visible = true;
Form2. ComboBox1. Items. LoadFromFile (‘c file.txt’);
end;
procedure TForm1. FormClose (Sender TObject; var Action TCloseAction);
begin
ShowMessage (‘Good Luck!!!’);
form1. Hide;
end;

*при закрытии программы выводится сообщение

procedure TForm1. Memo1Click (Sender TObject);
begin
Button1. Visible = true;
end;
procedure TForm1. Button1Click (Sender TObject);
begin
Memo1. Visible = false;
Button1. Visible = false;
end;
procedure TForm1. FormDblClick (Sender TObject);
begin
Button3. Visible = false;
end;

unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, CheckLst;
type
TForm2 = class(TForm)
Button1 TButton;
Button2 TButton;
Button3 TButton;
ComboBox1 TComboBox;
Edit1 TEdit;
Edit2 TEdit;
Label1 TLabel;
Label2 TLabel;
procedure Button2Click (Sender TObject);
procedure FormHide (Sender TObject);
procedure FormClose (Sender TObject; var Action TCloseAction);
procedure Button3Click (Sender TObject);
procedure Button1Click (Sender TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Form2 TForm2;
implementation
uses fil, Math;
{$R *.dfm}
*процедура создания нового дилера
procedure TForm2. Button2Click (Sender TObject);
var
q string;
w TextFile;
begin
q = Edit1. Text + ‘ ‘ + Edit2. Text;
Form2. ComboBox1. Items. Add(q);
Form2. Close;
Form1. ComboBox3. Items. Add(q);
AssignFile (w, ‘c file.txt’);
If not FileExists (‘c file.txt’)
Then Rewrite(w)
else Append(w);
Writeln (w, Edit1. Text + ‘ ‘ + Edit2. Text);
CloseFile(w);
end;
procedure TForm2. FormHide (Sender TObject);
begin
Form1. Visible = true;
end;
procedure TForm2. FormClose (Sender TObject; var Action TCloseAction);
begin
Form1. Visible = true;
end;
procedure TForm2. Button3Click (Sender TObject);
begin
Hide;
end;
procedure TForm2. Button1Click (Sender TObject);
*процедура удаления дилера
begin
ComboBox1. Items. Delete (ComboBox1. ItemIndex);
ComboBox1. Items. SaveToFile (‘c file.txt’);
form1. ComboBox3. Items. LoadFromFile (‘c file.txt’);
ComboBox1. Items. LoadFromFile (‘c file.txt’);
hide;
end;
end.