Исправьте пожалуста ошибки в программеЗадание18 Обрисовать запись с именованием Price, содержащую
Исправьте пожалуста оплошности в программке
Задание18 Обрисовать запись с именованием Price, содержащую последующие поля: название товара, на- звание магазина, в котором продается продукт; цена товара в рублях. Написать программку, выполняющую последующие деяния О ввод данных с клавиатуры в массив, состоящий из восьми частей типа Price с упорядочением записей в алфавитном порядке по заглавиям товаров; вывод на экран инфы о товаре, название которого введено с клавиатуры, а если таких товаров нет, вывод на экран подходящего извещения запись массива в файл под данным с клавиатуры именованием.
Program Goods_Base;
uses crt;
const n=8;количество записей
type price=recordтип запись продукт
tov: string; названия товаров
mag: string; названия магазинов
stm: word; цена
end;
Base = array[1..n] of price; массив записей
Var
Goods : Base; для хранения базы данных
Goods_Number : word; для хранения размера базы
MenuItem : byte; номер пт меню
Procedure Base_Load(var A : Base; const n: word);
Var
x: price;переменная для считывания и сортировки записей
i, j:byte; счетчик
Begin
writeln('Введите данные о ',n,' товарах:');
for i:=1 to n do
with A[i] do пока очередная запись
writeln('Товар ',i);
write (' Заглавие товара: ');
readln (tov);
write (' Заглавие магазина: ');
readln (mag);
write (' Цена: ');
readln (stm);
for i:=1 to n-1 do отсортируем записи
for j:=i+1 to n do
if A[i].tovgt;A[j].tov thenпо алфавиту(возрастанию) заглавий товаров
begin
x:=A[i];
A[i]:=A[j];
A[j]:=x;
end;
Procedure Base_Search (const A : Base; const n);
var
i,j,k:byte; счетчики, фиксатор
t:string;переменная для ввода наименования продукта
x:price;переменная для считывания и сортировки записей
begin
write('Введите заглавие товара для поиска:');
readln(t);
k:=0;
for i:=1 to n do
if z[i].tov=t then если поле записи продукт совпало с введенным
begin
k:=1;
writeln(z[i].tov,' ',z[i].mag,' ',z[i].stm); выводим все поля записи
end;
if k=0 then writeln('Такого продукта нет!');
write('Press Enter...');
readln;
Procedure Base_Record (const A : Base; const n);
var
x: price;переменная для считывания и сортировки записей
i, j:byte; счетчик
f:file of price;типизированный файл записей
name:string;переменная для имени файла
begin
write('Введите имя файла для записи:');
readln(name);
assign(f,name); связываем переменную с файлом на диске
rewrite(f); раскрываем файл для записи
for i:=1 to n do по размеру массива
write(f,A[i]); заносим его элементы в файл записей
writeln('Содержание файла:');
reset(f); откроем файл для чтения
while not eof(f) do пока не конец файла
begin
read(f,x); читаем записи в переменную
writeln(x.tov,' ',x.mag,' ',x.stm); выводим на экран поля записи
end;
close(f); закрываем файл
write('Press Enter...');
readln;
end;
Begin
repeat цикл для работы с меню
Clrscr; чистка экрана
writeln('Меню:'); вывод меню программы
writeln('1. Ввод данных');
writeln('2. Поиск товара по наименованию');
writeln('3. Запись в файл');
writeln('4. Выход');
writeln;
write('Укажите пункт меню: ');
readln(MenuItem); ввод избранного пт меню
case MenuItem of
1 : Base_Load(Goods, Goods_Number); по пт 1 вызов процедуры ввод данных
2 : Base_Search (Goods, Goods_Number); по пункту 2 вызов процедуры поиска
3 : Base_Record (Goods, Goods_Number); по пункту 3 вызов процедуры запись в файл
end;
until MenuItem=4; по пт 4 окончание цикла работы с меню
End.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Физика.
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.