В програмі містяться файли, які представлені в таблиці 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
Тестування програм
Опис тестів
При запуску програми запуститься заставка, потім з’явиться головне вікно програми.
Тест 1:
Відкриємо пункт меню Файл, за допомогою якого можна вийти з програми.
Тест 2:
Відкриємо пункт меню „Редактор”, в якому спочатку виберемо підменю Клієнти. Отримаємо всю інформацію про клієнтів.
Тест 3:
Дозапишемо нових клієнтів у список і відповідно їз номера телефонів та початковий рахунок. Це зробимо за допомогою кнопки вставити але попередньо потрібно заповнити відповідні поля.
Тест 4:
Видалимо якихось клієнтів зі списку. Це робимо за допомогою кнопки видалити, попередньо натиснувши на той рядок, який хочемо видалити.
Тест 5:
Виправимо деяку інформацію про клієнта, наприклад, змінимо їхню адресу. Для цього натиснемо на відповідне поле, стираємо та виправляємо те що потрібно, потім натискуємо на кнопку застосувати.
Тест 6:
Відкриємо пункт меню „Редактор”, в якому спочатку виберемо підменю Товари. Отримаємо всю інформацію про товари.
Як із клієнтами, можемо виконувати аналогічні дії з товарами: дописувати нові товари, видаляти їх зі списку, змінювати їх кулькість, ціну.
Тест 7:
Виберемо пункт меню Справка та підменю Про автора, де можна дізнатись про самого автора програми.
Тест 8:
Правильно заповнимо всі поля програми. Це будуть такі поля:
Дата замовлення, номер замовлення, клієнт, номер постачальника, покупець, опис товару, оплата рахунку.
Тест 9:
Отримаємо документ покупцеві, в якому буде міститися інформація про весь придбаний товар.
Тест 10:
Залишемо одне поле незаповненим.
Тест 11:
Подивимось, скільки одиниць деякого товару є на складі та у полі кількості замовленого товару напишемо навмисно більше товару.
Тест 12:
У полі виплат клієнта перевищемо встановлений кредит, який становить 100 грн.