Смекни!
smekni.com

Розробка комплексу програм автоматизації праці менеджера торгової фірми (стр. 4 из 5)

Виникає, коли користувач змінює кількість товару, виконує множення товару, що купляється, автоматично знаходить ціну товару, виконує множення на кількість і виводить результат у відповідне поле.

Таблиця 2.5.5

Параметри функції OnCloseupCombo2

Тип параметра Назва параметра Ім.’я параметра в програмі Тип даних Призначення
Локальний параметр Указателі *S0, *S1 Char Тимчасові змінні
Локальний параметр Змінна Decimal Int Для зберігання розділового знака (для числа з плаваючою точкою)
Локальний параметр Змінна Sign Int Для зберігання знака числа
Локальний параметр Указатель *buffer char Приймає в себе результати конвертації числа з float в string
Локальний параметр Стала Precision=10 Int Кількість значущих знаків після коми

void CTIMIDlg::OnButton3()

Виникає при спробі користувача вивести форму наряду. Спочатку перевіряє чи всі поля наряду правильно заповнені: чи є достатньою кількість заказаного товару на складі, провіряє борг (чи не перевищує він кредит 1000 грн.). Якщо всі попередні умови виконались, то виводиться форма наряду, автоматично зменшується кількість товару на складі на кількість замовлених одиниць товару, відповідно зменшується значення рахунку клієнта.

Таблиця 2.5.6

Тип параметра Назва параметра Ім.’я параметра в програмі Тип даних Призначення
Локальний параметр Стрічка S[80] Char Для конвертації даних(з int в string)
Локальний параметр Повідомлення S CString Зберігає різні повідомлення
Локальний параметр Параметр i Int Для зберігання ітерації циклу

void CTIMIDlg::OnMenuitem32775()

Визиває зовнішній файл "logo.exe" з заставкою.

void CTIMIDlg::OnMenuitem32776()

Виводить діалогове вікно про автора.

void CClientFrm::OnRowColChangeMsflexgrid1()

Виникає, коли користувач вибирає якусь стрічку з таблиці клієнтів (товарв) і заповнює даними з виборної стрічки поле для редагування.

void CClientFrm::OnButton3()

товару, відповідно зменшується значення рахунку клієнта.

Таблиця 2.5.7

Тип параметра Назва параметра Ім.’я параметра в програмі Тип даних Призначення
Локальний параметр Стрічка S[80] Char Для конвертації даних(з int в string)
Локальний параметр Параметр і Int Для зберігання ітерації циклу

2.6 Структура файлів бази даних

В програмі містяться файли, які представлені в таблиці 2.6.1:


Таблиця 2.6.1 Timi files:

Clients Файл клієнта
Font Допоміжний файл, який допомогає роботі програми
Msflexgrid Допоміжний файл, який допомогає роботі програми
Order Файл форми наряду (документу)
Picture Допоміжний файл, який малює форму наряду та ін.
Rowcursor Допоміжний файл, який підключає курсор до програми
stdAfx Допоміжний файл, який допомогає роботі програми
stockFrm Файл складу товару
TimiDlg Містить головну частину програми

Сама ж база даних складається з 2-х текстових файлів: Clients.txt та stock.txt.

Файл Clients.txt—це файл клієнта.

Аптека 32

Келецька 10

5432432

-949

Аптека 1

келецька 1

65653

0

Аптека 13

Келецька 13

654365

-15

Пилипенко

705-А

24849

-32

В даному файлі інформація та тип даних повторюється через кожні чотири стрічки. Перша стрічка—назва фірми-клієнта, має тип даних char[80],

друга стрічка—адреса фірми-клієнта, тип даних char[80],

третя—номер телефона фірми-клієнта, тип данихint,

четверта—стан рахунку, тип данихint.

Але розмір даного файла змінюється автоматично, коли ми дописуємо клієнтів в програмі.

Представимо це у вигляді таблиці 2.6.2

Таблиця 2.6.2 Структуру запису файла Clients.txt

№(п.п ) Фірма Адреса Телефон Рахунок
Тип значень Int Char Char Int int
Діапазон значень [80] [80] 1..8 -1000..1000

Файл stock.txt—це файл товарів

Даний уривок програми ілюструє, як читається файл товарів:

ifstream sfile;

sfile.open("stock.txt");

char s[80],next;

int i=0;

do

{

m_StockList.SetRows(++i+1);

m_StockList.SetTextMatrix(i,0,_itoa(i,s,10));

for (int j=1; j<=3;j++)

{

sfile.getline(s,80);

m_StockList.SetTextMatrix(i,j,s);

}

next=sfile.peek();

}

while (next!=EOF);

sfile.close();

Наприклад частина файлу stock..txt клієнта має такий вигляд:

Йод

234

1.12

Бинт

221

0.13

Аспирін

17

1

Панадол

32

2.3

Аскорбинова кислота

2036

3.6

Новокаїн

129

2

В даному файлі інформація та тип даних повторюється через кожні три стрічки. Перша стрічка—назва ліків, має тип даних char[80],

друга стрічка—кількість товару на складі, тип даних int,

третя—ціна товару, тип даних float

Але розмір даного файла змінюється автоматично, коли ми дописуємо новий товар на складі.

Представимо це у вигляді таблиці 2.6.3

Таблиця 2.6.3 Структуру запису файла

№(п.п) Назва товару Кількість Ціна
Тип даних int char int float
Діапазон значень 50 1..80

2. Лістинг програми

Лістинг головної програми TIMIDlg, яка з’єднує всі функції:

// TIMIDlg.cpp : implementation file


4 Тестування програм

4.1 Опис тестів

При запуску програми запуститься заставка, потім з’явиться головне вікно програми.

Тест 1:

Відкриємо пункт меню Файл, за допомогою якого можна вийти з програми.

Тест 2:

Відкриємо пункт меню „Редактор”, в якому спочатку виберемо підменю Клієнти. Отримаємо всю інформацію про клієнтів.

Тест 3:

Дозапишемо нових клієнтів у список і відповідно їз номера телефонів та початковий рахунок. Це зробимо за допомогою кнопки вставити але попередньо потрібно заповнити відповідні поля.

Тест 4:

Видалимо якихось клієнтів зі списку. Це робимо за допомогою кнопки видалити, попередньо натиснувши на той рядок, який хочемо видалити.

Тест 5:

Виправимо деяку інформацію про клієнта, наприклад, змінимо їхню адресу. Для цього натиснемо на відповідне поле, стираємо та виправляємо те що потрібно, потім натискуємо на кнопку застосувати.

Тест 6:

Відкриємо пункт меню „Редактор”, в якому спочатку виберемо підменю Товари. Отримаємо всю інформацію про товари.

Як із клієнтами, можемо виконувати аналогічні дії з товарами: дописувати нові товари, видаляти їх зі списку, змінювати їх кулькість, ціну.

Тест 7:

Виберемо пункт меню Справка та підменю Про автора, де можна дізнатись про самого автора програми.

Тест 8:

Правильно заповнимо всі поля програми. Це будуть такі поля:

Дата замовлення, номер замовлення, клієнт, номер постачальника, покупець, опис товару, оплата рахунку.

Тест 9:

Отримаємо документ покупцеві, в якому буде міститися інформація про весь придбаний товар.

Тест 10:

Залишемо одне поле незаповненим.

Тест 11:

Подивимось, скільки одиниць деякого товару є на складі та у полі кількості замовленого товару напишемо навмисно більше товару.

Тест 12:

У полі виплат клієнта перевищемо встановлений кредит, який становить 100 грн.

4.2 Аналіз результатів тестування

Дана программа реагує як на курсори та клавішу Tab, так і на мишу.

Якщо ми відкриємо пункт меню файл, то за допомогою нього ми можемо вийти з даної програми.

Рисунок 4.2.1

Якщо ми перейдемо на пункт меню редактор, то там ми можемо відкрити файл клієнтів або товарів, які відповідно матимуть такі вигляди:

Рисунок 4.2.2

Рисунок 4.2.2

Тест 3 : Дозапис клієнтів

Дописали 4-х нових клієнтів і отримали тепер уже такий вигляд файлу „Клієнтів”, який зображений на рисунку 4.2.3

Рисунок 4.2.3 Дозапис клієнтів

Тест 4: Видалення клієнтів

При видаленні зі списку 2-х клієнтів Лікарня 1 та Аптека 1 отримаємо відповідно такий файл клієнтів, який зображений на рисунку 4.2.4

Рисунок 4.2.4Видалення клієнтів

Тест 5: Змінення інформації

Змінимо адресу Аптеки 13 Келецька 13 на Барське шоссе 56 та запишемо новий їхній телефон. Одержаний результат представлений на рисунку 4.2.5

Рисунок 4.2.5 Змінення інформації

А склад товарів матиме такий вигляд:


Якщо вибрати пункт меню „Справка”, то можемо обрати заставку під іменем Logo, або інформацію про автора. Про заставку було описано в пункті 2.4 даної курсової роботи, а „Про автора” матиме такий вигляд: