|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.04.2021, 11:30 | #1 |
Пользователь
Регистрация: 28.03.2021
Сообщений: 24
|
Каким образом можно написать эту программу с помощью процедуры вместо goto?
Создать файл, содержащий сведения об ассортименте обуви в мага-зине. Каждая запись содержит поля – артикул, наименование, коли-чество, стоимость одной пары. Количество записей – произвольное.
Артикул начинается с буквы Ж для женской обуви, М – для муж-ской, Д – для детской. Написать программу, выдающую следующую информацию: - наличие, стоимость обуви, артикул Х (Х вводится с клавиа-туры), - список женской обуви с указанием наименования и имеющего-ся в наличии числа пар каждой модели. uses crt; type Shoes = record Art: string[15]; Name: string[20]; Kol: integer; Price: real; end; var Boty: Shoes; F: file of Shoes; q: integer; Art1: string; label 0, 1, 2, 3, 4,5; begin 0: begin clrscr; writeln('Введите 1 - создание файла'); writeln('2 - ввод обуви'); writeln('3 - поиск по артикулам'); writeln('4 - поиск среди женской обуви'); writeln('5 - просмотр ассортимента'); readln(q); case q of 1: goto 1; 2: goto 2; 3: goto 3; 4: goto 4; 5: goto 5; else goto 0; end; end; 1: begin clrscr; assign(F,'ЫЫЫ'); rewrite(F); writeln('Файл создан'); readln; goto 0; end; 2: begin clrscr; assign(F,'ЫЫЫ'); reset(F); while q <> 0 do begin Seek(F,FileSize(F)); writeln('Введите артикул'); readln(Boty.Art); writeln('Введите название обуви'); readln(Boty.Name); writeln('Введите количество пар'); readln(Boty.Kol); writeln('Введите цену за пару'); readln(Boty.Price); write(F,Boty); writeln('Желаете продолжить?Если да, введите 1,если нет - введите 0'); readln(q); end; close(F); goto 0; end; 3: begin clrscr; assign(F,'ЫЫЫ'); Reset(F); writeln('Введите нужный вам артикул'); readln(Art1); clrscr; writeln('Введенный вами артикул: ',Art1); while Eof(F) <> True do begin read(F, Boty); if Art1 = Boty.Art then writeln('Наименование: ',Boty.Name,' Количество пар: ',Boty.Kol,' Цена: ',Boty.Price); end; writeln('Желаете продолжить? Если да, введите 1,если нет - введите 0'); readln(q); Close(F); if q = 1 then goto 3 else goto 0; end; 4: begin clrscr; assign(F,'ЫЫЫ'); reset(F); while Eof(F) <> True do begin read(F,Boty); if ('Ж' = Boty.Art[1]) or ('ж' = Boty.Art[1]) then begin writeln('Наименование: ',Boty.Name, ' Количество пар ', Boty.Kol); end; end; writeln('Желаете продолжить? Если да, введите 1,если нет - введите 0'); readln(q); Close(F); if q = 1 then goto 4 else goto 0; end; 5:begin clrscr; assign(F,'ЫЫЫ'); reset(F); while Eof(F) <> True do begin read(F,Boty); writeln('Артикул: ',Boty.Art,'; Наименование: ',Boty.Name,'; Количество пар: ',Boty.Kol,'; Цена: ',Boty.Price); end; readln; goto 0; end; end. |
12.04.2021, 13:55 | #2 |
Новичок
Джуниор
Регистрация: 01.02.2021
Сообщений: 0
|
LevMark, пишите pressanykeynow@yandex.ru
|
12.04.2021, 18:30 | #3 |
Недо
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,394
|
ТЗ, срок, бюджет: larbossfreelance@yandex.ru Метка: freelance. Указывайте ссылку на тему форума.
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Каким образом можно нарисовать прямоугольник, C# | Gogent | Помощь студентам | 2 | 19.08.2010 11:14 |
Каким образом можно замедлить выполнение программы? | vedro-compota | Мультимедиа в Delphi | 4 | 08.06.2010 15:40 |
Каким образом можно доработать таймер? | makcdrom | JavaScript, Ajax | 2 | 23.09.2009 22:29 |
Каким образом можно установить предел?? | Xander | Общие вопросы Delphi | 4 | 23.11.2008 10:27 |
найти, каким образом можно получить длину строки. | igroman | Общие вопросы Delphi | 2 | 25.05.2008 17:52 |