Разделить каталог на два отдельных для газет и для журналов - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Задание: В один каталог внесены и газеты, и журналы. Поля записи: название издания, газета или журнал, дата издания. Розделить этот каталог на два отдельных для газет и для журналов. Вот что у меня вышло (это еще не вся программа, только считывание данных):
Вот здесь вылетает ошибка (Error 26: type mismatch): date:=Data.Day+'.'

+D

ata.Month+'.'+Data.Year; Прошу помочь исправить ошибку и дописать программу, то есть разделить каталоги. P.S.: Думала записывать строчки для газет в KatalogNP : array [1..100] of string и строчки для журналов в KatalogM : array [1..100] of string, а потом их добавлять в два массивы: один для газет и один для журналов, таким образом сформировать списки, но не могу понять как записывать строчки в эти переменные и потом в массив, что бы был список. Может есть другие решения, буду благодарна.

Решение задачи: «Разделить каталог на два отдельных для газет и для журналов»

textual
Листинг программы
program test;
 
type
Typ = (Newspaper, Magazine);
  P = record
Name: string[50];
NM: Typ;
Data: record
      Day:  1..31;
Month: 1..12;      Year: 1980..2015;
    end;
  end;
var
Katalog, KatalogNP, KatalogM: array [1..100] of P;
Ncommon, Nnewspaper, Nmagazine: integer;
  I, J: integer;
  NPorMag: 1..2;
begin
  writeln('Enter the amount of editions: ');
  readln(Ncommon);
  for I := 1 to Ncommon do
with Katalog[I] do    begin
      writeln('Enter Name of the edition: ');
readln(Name);
      Writeln('Enter Type of the edition: Newspaper = 1, Magazine = 2: ');
readln(NPorMag);
case NPorMag of
1: NM := Newspaper; 2: NM := Magazine;
      end;
    end;
end.

Объяснение кода листинга программы

  1. В программе объявляется тип Typ, который представляет собой перечисление из двух значений: Newspaper и Magazine.
  2. Затем объявляется переменная P, которая представляет собой запись с полями Name, NM и Data. Поле Name является строковым массивом длиной 50 символов.
  3. Далее объявляются три переменные Katalog, KatalogNP и KatalogM, которые представляют собой массив записей типа P. Эти переменные будут использоваться для хранения данных о каталоге.
  4. Также объявляются три переменные Ncommon, Nnewspaper и Nmagazine, которые представляют собой целые числа. Они будут использоваться для обработки общего количества изданий и для определения типа издания.
  5. Затем в цикле считывается количество изданий от пользователя.
  6. В цикле для каждого издания считывается имя и тип издания.
  7. Используется конструкция case для определения типа издания. Если введенное значение равно 1, то типом издания будет Newspaper, а если равно 2, то типом издания будет Magazine.
  8. После окончания цикла данные о каталоге сохраняются в соответствующих переменных.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы