Записи "Информация о детали" - Free Pascal
Формулировка задачи:
Всем привет,очень прошу помочь с программой.Заранее спасибо!
Информация о детали состоит из названия,веса экземпляра(в килограммах), количества экземпляров, имеющихся на складе (в штуках), статуса (заказана или нет). Написать программу для занесения в массив информации о N деталях. Найти общее количество экземпляров на складе; вывести названия и количество не заказанных деталей.
Решение задачи: «Записи "Информация о детали"»
textual
Листинг программы
type TElement = record name: String; weight: Single; quantity: Word; orderStatus: Boolean; end; TElementArray = Array Of TElement; procedure InputElements(var ar: TElementArray); var i, n: LongWord; c: Char; begin repeat Write('Input n(>0): '); ReadLn(n); until (n > 0); SetLength(ar, n); for i := 0 to n - 1 do with ar[i] do begin WriteLn; Write('name: '); ReadLn(name); Write('weight: '); ReadLn(weight); Write('quantity: '); ReadLn(quantity); repeat Write('Order (N/Y): '); ReadLn(c); until (c in ['Y', 'y', 'N', 'n']); orderStatus := c in ['Y', 'y']; end; end; function GetTotalQuantity(const ar: TElementArray): LongWord; var Result: LongWord = 0; i: LongWord; begin for i := 0 to Length(ar) - 1 do Inc(Result, ar[i].quantity); GetTotalQuantity := Result; end; procedure PrintUnordered(const ar: TElementArray); var i, sum: LongWord; begin sum := 0; WriteLn; WriteLn('List of unordered elements:'); for i := 0 to Length(ar) - 1 do with ar[i] do if (Not orderStatus) then begin WriteLn(#9, name, #9, #9, quantity); Inc(sum, quantity); end; WriteLn(#9, 'Total:', #9, #9, sum); WriteLn; WriteLn; end; var a: TElementArray; begin InputElements(a); WriteLn('Total quantity: ', GetTotalQuantity(a)); PrintUnordered(a); end.
Объяснение кода листинга программы
- Задача программы - ввод и обработка информации о деталях.
- Введенные данные сохраняются в массиве типа TElementArray.
- Тип TElement - это запись, содержащая поля name, weight, quantity, orderStatus.
- Процедура InputElements используется для ввода данных о деталях.
- Функция GetTotalQuantity вычисляет общее количество деталей.
- Процедура PrintUnordered выводит список деталей, которые не были заказаны.
- Переменная a используется как массив для хранения введенных данных.
- В конце программы выводится общее количество деталей и список неподтвержденных деталей.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д