Создать массив записей о косметике - Turbo Pascal
Формулировка задачи:
Помогите кто может...я понимаю как ввести часть там где Косметика(духи\шампунь), а вот как ввести все остальное...
Создать массив записей, структура которого:
Решение задачи: «Создать массив записей о косметике»
textual
Листинг программы
- type
- kosmetika=record
- dyxu,shampyn:string[50];
- end;
- tovar=record
- data:string[20];
- firma:string[50];
- cena:integer;
- Kol:integer;
- Kosm:kosmetika;
- end;
- mas=array [1..20] of tovar;
- var
- a:mas ;
- I,N,w:integer;
- procedure vvod(var a:mas; var N:Integer);
- begin
- Writeln('Kol vvodimix firm = ');
- Readln(n);
- for i:=1 to n do
- begin
- write('data -> ');readln(a[i].data);
- write('Firma -> '); readln(a[i].Firma);
- Write('Cena -> ');readln(a[i].cena);
- write('Kol -> ');readln(a[i].kol);
- write('Dyxu -> ');readln(a[i].Kosm.Dyxu);
- write('Shampyn -> ');readln(a[i].Kosm.Shampyn);
- writeln;
- end;
- Writeln('Vvod dannix zaverchen! To Enter ...');
- readln;
- end;
- procedure pros(a:mas; n:integer);
- begin
- for I:=1 to n do
- begin
- writeln('Data -> ',a[i].data);
- writeln('Firma -> ',a[i].firma);
- writeln('Cena ->',a[i].cena);
- writeln('Kol -> ',a[i].kol);
- writeln('Dyxu -> ',a[i].Kosm.Dyxu);
- writeln('Shampyn ->',a[i].Kosm.Shampyn);
- writeln;
- writeln('To Ente ...');
- readln;
- end;
- end;
- procedure StoimTovar(a:mas; n:integer);
- var sto:integer;
- s:string[50];
- Begin
- Write('Vvedite nazvanie firma -> '); readln(s);
- for i:=1 to n do
- if a[i].firma=s then sto:=a[i].cena*a[i].kol;
- writeln('Symmarnai stoimost tovarov -> ',sto);
- writeln('To Enter ...');
- readln;
- end;
- procedure PostKosmet(a:mas; n:integer);
- var dy,sham:string[50];
- begin
- write('Vvedite nazvanie dyxov -> ');readln(dy);
- write('Vvedite nazv shampyn -> ');readln(sham);
- writeln('Spisok magazinov:');
- for i:=1 to n do
- if (dy=a[i].kosm.dyxu) or (sham=a[i].kosm.Shampyn) then writeln(a[i].firma);
- writeln('To Enter ...');
- readln;
- end;
- begin
- w:=10;
- while w<>0 do
- begin
- writeln('1 Vvod');
- writeln('2 prosmotr');
- writeln('3 Stoimost tovara v veden firma');
- writeln('4 Vivod firm gde est iskom kosmetika');
- writeln('0 vixod');
- readln(w);
- case w of
- 1:vvod(a,n);
- 2:pros(a,n);
- 3:StoimTovar(a,n);
- 4:PostKosmet(a,n)
- end;
- end;
- end.
Объяснение кода листинга программы
- В процедуре
vvod
происходит чтение данных из файла и заполнение массиваmas
записями о косметике. Каждая запись содержит информацию о фирме, данных, цене, количестве и соответствующих полях записи о косметике. - В процедуре
pros
происходит вывод данных из массиваmas
. Для каждой записи выводятся поля данных, фирмы, цены, количества и соответствующие поля записи о косметике. - В процедуре
StoimTovar
происходит поиск в массивеmas
записи, у которой название фирмы совпадает со введенным пользователем. Затем вычисляется стоимость этого товара и выводится на экран. - В процедуре
PostKosmet
происходит вывод списка магазинов, которые продают определенную косметику. Для каждого магазина выводится его название, если он продает указанную косметику. - В основной части программы происходит цикл, в котором пользователю предлагается выбрать действие (ввод, просмотр, стоимость товара, вывод списка магазинов) и вводится номер действия. В зависимости от номера действия выполняется соответствующая процедура.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д