Разработка программного приложения на языке с
Od. orders, od. order_date, od. customer_code od. organization_name, od. mtr_code, od. mtr_name, od. time); fclose (MN); Создание меню для выполнения всех указанных в задании пунктов. Выделяем память под структуры struct customer cus; struct order od; struct c_materials cm; Printf («I (Use the number operation! — «); printf («—————————————————- «); Приложение должно обеспечить выполнение… Читать ещё >
Разработка программного приложения на языке с (реферат, курсовая, диплом, контрольная)
Требуется разработать программное приложение «Формирование заказов на использование строительных механизмов».
Приложение должно обеспечить выполнение следующих действий.
- 1. Создание входных файлов; требуется создать файлы:
- • Справочник строительных механизмов, содержащий поля: Код механизма, Наименование, Стоимость одного машииочаса работы;
- • Заказчики, содержащий поля: Код заказчика, Наименование организации, Форма оплаты.
- 2. Получение выходного файла Заказы на основе входных файлов и данных, введенных с клавиатуры. С клавиатуры вводятся Номер заказа, Дата заказа, Код заказчика, Код механизма и Объем работы в часах. Выходной файл Заказы должен содержать поля: Номер заказа, Дата заказа, Код заказчика, Наименование организации заказчика, Код механизма, Наименование механизма, Объем работы в часах.
- 3. Вывод Стоимости заказа по введенному с клавиатуры Номеру заказа.
- 4. Создание меню для выполнения всех указанных в задании пунктов.
Создание приложения осуществляется с помощью следующего программного кода:
#include.
#include.
// объявляем структуры structc_materials {.
int mtr_code; char mtr_name[20]; int cash;
};
struct customer.
{.
int customer_code;
char organization_name[20];
char form_payment[20];
Instruct order {.
int orders;
char order_date[15] ;
int customer_code;
char organization_name[20];
int mtr_code;
char mtr_name[20];
int time;
> ;
int main ().
{.
int operation = 0, quantity, pos = 0;
char selection;
int mark_code, summ, ord;
// Объявляем указатели на файлы.
FILE *MN = NULL, *AB = NULL, *IR = NULL;
printf («—————————————————- «) ;
printf («I Good day, user! | «);
printf («I Please, select action: l «);
printf («I 1) Add customer l «);
printf («I 2) Add order l «);
printf («I 3) Search by brand l «);
printf («I 4) Exit from the program | «);
printf («I (Use the number operation! | «); printf («—————————————————- «) ;
// выделяем память под структуры struct customer cus; struct order od; struct c_materials cm;
// запускаем цикл проверки введенного значения while (operation ≠ 4).
{.
printf («Operation: «);
scanf («%d», ^operation);
// запускаем выбор действия по введенному значению switch (operation).
{.
case 1:
{.
printf («Enter the number of customers: «);
scanf («%d», ^quantity);
for (int i = 0; i < quantity; i++).
{.
printf («Enter the customer code: «);
scanf («%d», &cus.customer_code);
printf («Enter the organization name: «);
scant («%s», &.cus. organization_name) ;
printf («Enter the form of payment: «); scanf («%s», &cus.form_payment);
IR = fopen («customer.txt», «a»);
fprintf (IR, «%d %s %s «, cus. customer_code, cus. organization_name, cus. form_payment); fclose (IR);
}.
break;
case 2:
{.
// вводим данные с клавиатуры для формирования // заказа.
printf («Enter the quantity of order: «);
scanf{" %d", ^quantity);
for (int i = 0; i < quantity; i++).
{.
printf («Enter the order number: «);
scanf («%d», &od.orders) ;
printf («Enter the order date: «);
scanf («%s» / &od.order_date);
printf («Enter the customer code: «);
scanf («%d» / &od.customer_code);
printf («Enter the materials code: «);
scanf («%d», &od.mtr_code);
printf («Enter the time in hours: «);
scanf («%d», &od.time);
MN = fopen («order.txt», «a»);
IR = fopen («customer.txt», «r»);
AB = fopen («c_materials.txt», «r»);
// цикл поиска нужного значения while (!feof (IR)).
{.
fscanf (IR, «%d%s%s», &cus.customer_code, &cus.organization_name, &cus.form__payment); if (od.customer_code == cus. customer_code) strcpy (od.organizationjame, cus. organization_name);
}.
// цикл поиска нужного значения while ('feof (AB)).
{.
fscanf (AB/ «%d %s %d», &cm.mtr_code, &cm.mtr_name/ &cm.cash); printf («%s», cm. mtr_name);
if (od.mtr_code == cm. mtr_code) s t rcpy{od.mt r_name, cm. mt r_name);
}.
fclose{IR);
fclose (AB);
fprintf (MN, «%d %s %d %s %d %s %d.
od.orders, od. order_date, od. customer_code od. organization_name, od. mtr_code, od. mtr_name, od. time); fclose (MN);
}.
printf («Done!»);
break;
case 3:
{ // вывод стоимости перевозок по номеру заказа printf («Enter the number of order: «); scanf («%d», &ord);
MN = fopen («order.txt», «r»);
AB = fopen («c_materials.txt», «r»);
while (!feof (MN)).
{.
// поиск заказа.
fscanf (MN, «%d %s %d %s %d %s %d «,.
od.orders, od. order_date, od. customer_code od. organization_name, od. mtr_code, od. mt r_name, od. t ime);
if (ord == od. orders).
{.
while (!feof (AB)).
{// поиск стоимости перевозки по машине fscanf (AB, «%d%s%d», &cm.mtr_code, &cm.mtr_name, &cm.cash); if (od.mtr_code == cm. mtr_code).
{.
summ = cm. cash*od.time;
} } } }.
printf («Cost by order number: %d», summ); fclose (AB); fclose (MN); break;
case 4: break;
default:
printf («Use number 1−4!!1! «); break;
}.
if (operation >= 1 && operation < 4).
{.
printf («Select another operation? (yllln):»); scanf («%c», deselection); scanf («%c» / deselection); if (selection == 'n') operation = 4;
} }.
printf («Good bye! Have a nice day!»);
return 0;
}.