Создать массив записей о косметике - 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
происходит вывод списка магазинов, которые продают определенную косметику. Для каждого магазина выводится его название, если он продает указанную косметику. - В основной части программы происходит цикл, в котором пользователю предлагается выбрать действие (ввод, просмотр, стоимость товара, вывод списка магазинов) и вводится номер действия. В зависимости от номера действия выполняется соответствующая процедура.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д