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