Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 6

Программа "Книжная полка"(подредактировать надо.)

05.12.2013, 00:01. Показов 637. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем: прога запускается и почти работает, файл biblioteka.txt есть, но и проблемки есть:
1. Когда запускаю заного программу, то все записи стриются
2. остальное наладил вродь))
Кликните здесь для просмотра всего текста
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
program igaZ10V1; {Ïðîãðàììà "Êíèæíûé ìàãàçèí"}
const
      AFileName = 'J:\Biblioteka.txt'; {Èìÿ ôàéëà}
      MaxRecordCount = 100; {Ìàêñèìàëüíîå ÷èñëî çàïèñåé â ñïðàâî÷íèêå}
type
     
      {Îïèñàíèå çàïèñè èç áèáëèîòåêè}
      liter = record
        Title: String[50];       {íàçâàíèå êíèãè}
        Author: String[50]; {Ôèî àâòîðà}
        God: integer;       {Ãîä èçäàíèÿ}
        KolichE: integer;   {Êëè÷åñòâî ýêçåìïëÿðîâ}
        Cena: integer;      {Öåíà êíèãè}
        Pol: Boolean;
end;
{Îáúÿâëåíèå òèïà-ìàññèâà çàïèñåé áèáëèîòåêè}
      bookspolka = array[1..MaxRecordCount] of liter;
    
    {Ïðîöåäóðà âûïîëíÿåò ñîõðàíåíèå ñïðàâî÷íèêà â ôàéë}
    procedure SaveToFile(const Abook: bookspolka; const ACount: Integer);
    var
      L: file of liter; {Îáúÿâëÿåì ôàéëîâóþ ïåðåìåíóþ}
      I: Integer;
    begin
      Assign(L, AFileName);   {Èíèöèàëèçèðóåì ôàéëîâóþ ïåðåìåííóþ}
      Reset(L);            {Îòêðûâàåì ôàéë äëÿ çàïèñè}
      for I := 1 to ACount do {Öèêë ïåðåáîðà çàïèñåé}
        Write(L, Abook[I]);  {Ñîõðàíÿåì çàïèñü â ôàéë}
      Close(L);               {Çàêðûâàåì ôàéë}
      Writeln('Ñïðàâî÷íèê óñïåøíî ñîõðàíåí â ôàéë ', AFileName);
    end;
    {Ïðîöåäóðà âûâîäèò íà ýêðàí çàïèñü ñ óêàçàííûì íîìåðîì}
    procedure ShowRecord(const Abook: bookspolka; Num: Integer);
    var
      L: file of bookspolka; {Îáúÿâëÿåì ôàéëîâóþ ïåðåìåíóþ}
      Aliter: liter;
      C: Char;
    begin
      Aliter := Abook[Num];
      if Aliter.Pol then {if Aliter.Pol = True}
        C := 'm'
      else
        C := 'f';
      Writeln('¹', Num, ': Author=', Aliter.Author, ', God=',
        Aliter.God, ', Pol=', C, ', KolichE=', Aliter.KolichE, ',cena=', Aliter.Cena);
    end;
    {Ïðîöåäóðà âûâîäèò íà ýêðàí ñïèñîê âñåõ çàïèñåé}
    procedure ShowAllRecords(const Abook: bookspolka; const ACount: Integer);
var
     L: file of liter; {Îáúÿâëÿåì ôàéëîâóþ ïåðåìåíóþ}
     I: Integer;
    begin
    Assign(L, AFileName);   {Èíèöèàëèçèðóåì ôàéëîâóþ ïåðåìåííóþ}
      Reset(L);            {Îòêðûâàåì ôàéë äëÿ çàïèñè}
      Writeln('Êàòîëîã âñåõ êíèã:');
      for I := 1 to ACount do
    ShowRecord(Abook, I);
    end;
    {Ïðîöåäóðà äîáàâëåíèÿ íîâîé çàïèñè â ñïðàâî÷íèê}
    procedure AddNewRecord(var Abook: bookspolka; var ACount: Integer);
    var
     L: file of  bookspolka; {Îáúÿâëÿåì ôàéëîâóþ ïåðåìåíóþ}
     Aliter: liter;
  C: Char;
    begin
    Assign(L, AFileName);   {Èíèöèàëèçèðóåì ôàéëîâóþ ïåðåìåííóþ}
      Reset(L);            {Îòêðûâàåì ôàéë äëÿ çàïèñè}
      Write('Ââåäèòå íàçâàíèå êíèãè: ');
      Readln(Aliter.Title);
      {write(l,Aliter.Title);}
      Write('Ââåäèòå ôèî àâòîðà: ');
      Readln(Aliter.author);
      Write('Ââåäèòå ïîë àâòîðà ("m" / "f"): ');
      Readln(C);
      if C = 'm' then
        Aliter.Pol := True   {Ìóæ÷èíà}
      else { if C = 'f' }
        Aliter.Pol := False; {Æåíùèíà}
      Write('Ââåäèòå ãîä èçäàíèÿ: ');
      Readln(Aliter.God);
      Write('Ââåäèòå êîëè÷åñòâî ýêçåìïëÿðîâ: ');
      Readln(Aliter.KolichE);
      Write('Ââåäèòå öåíó êíèãè: ');
      Readln(Aliter.Cena);
      Inc(ACount); {Óâåëè÷èâàåì ñ÷åò÷èê çàïèñåé íà 1}
      Abook[ACount] := Aliter; 
      Write('Äîáàâëåíà çàïèñü: ');
      ShowRecord(Abook, ACount); {Ïå÷àòàåì çàïèñü íà ýêðàí}
      close(L);
    end;
    {Ïðîöåäóðà îòûñêèâàåò çàïèñü ïî çàäàíîìó íàçâàíèþ êíèãè è ïå÷àòàåò íà ýêðàíå}
    procedure FindRecord(const Abook: bookspolka; const ACount: Integer);
    var
      L: file of bookspolka; {Îáúÿâëÿåì ôàéëîâóþ ïåðåìåíóþ}
      I: Integer;
      IsFind: Boolean;
      Title: string[50];
    begin
    Assign(L, AFileName);   {Èíèöèàëèçèðóåì ôàéëîâóþ ïåðåìåííóþ}
      Reset(L);            {Îòêðûâàåì ôàéë äëÿ çàïèñè}
      Write('Ââåäèòå íàçâàíèå êíèãè: ');
      Readln(Title);
  IsFind := False; {Ñáðàñûâàåì ôëàã ïåðåä ïîèñêîì}
      for I := 1 to ACount do
        if Abook[I].Title = Title then
        begin
          IsFind := True; {Óñòàíàâëèâàåì ôëàã "Óñïåøíûé ïîèñê"}
          Write('Çàïèñü íàéäåíà: ');
      ShowRecord(Abook, I);
          Break; {Âûõîä èç öèêëà}
        end;
      if not IsFind then {Åñëè çàïèñü íå íàéäåíà}
        Writeln('Çàïèñü íå íàéäåíà!');
    end;
    var
      MenuNum: Byte;
      tbookspolka: bookspolka; {Ïåðåìåííàÿ-ñïðàâî÷íèê}
  PhoneCount: Integer; {Òåêóùåå êîëè÷åñòâî çàïèñåé â ñïðàâî÷íèêå}
    L: file of bookspolka; {Îáúÿâëÿåì ôàéëîâóþ ïåðåìåíóþ}
    
begin
    {Assign(L, AFileName);   {Èíèöèàëèçèðóåì ôàéëîâóþ ïåðåìåííóþ}
     { Rewrite(L);}             {Îòêðûâàåì ôàéë äëÿ çàïèñè}
      PhoneCount := 0; {Ïðè çàïóñêå ïðîãðàììû ñïðàâî÷íèê åùå ïóñò}
      Writeln('Êíèæíàÿ ïîëêà. Àâòîð Ùåðáàêîâ È.Ñ.');
 repeat
        Writeln(' ');
        Writeln('Ââåäèòå öèôðó äëÿ âûïîëíåíèÿ äåéñòâèÿ:');
        Writeln('1 - Íîâàÿ çàïèñü');
        Writeln('2 - Ñïèñîê âñåõ çàïèñåé');
        Writeln('3 - Ïîèñê çàïèñè ïî íàçâàíèþ êíèãè');
        Writeln('4 - Ñîõðàíåíèå ñïðàâî÷íèêà â ôàéë');
        Writeln('5 - Âûõîä èç ïðîãðàììû');
        Write('>>> ');
     Readln(MenuNum);
        case MenuNum of
        {1: LoadFromFile(bookspolka, PhoneCount);}
          1: AddNewRecord(tbookspolka, PhoneCount);
          2: ShowAllRecords(tbookspolka, PhoneCount);
          3: FindRecord(tbookspolka, PhoneCount);
          4: SaveToFile(tbookspolka, PhoneCount);
 end;
 until MenuNum = 5;
end.


Добавлено через 42 секунды
почему русский шрифт не отображается?

Добавлено через 11 часов 16 минут
эхх
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.12.2013, 00:01
Ответы с готовыми решениями:

Массив,немного подредактировать надо
Привет всем! В процедуре тут подсчитывается количество четных элементов,а надо,чтоб подсчитывал количество элементов с отриц. значениями....

Программа "Книжная полка"
Помогите пожалуйста с написанием программы. В основном всё получилось, осталось только удаление Программа “Книжная полка”. 1. Класс...

Создать класс Книжная Полка
Делегаты, лямбды, события Задача 2: Задан класс Книжная Полка. Описать свойства для получения состояния объекта. Когда...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.12.2013, 00:01
Помогаю со студенческими работами здесь

Что здесь надо подредактировать чтобы выводило с оценкой ниже 4
Доброе время суток господа. Столкнулся я с проблемой редактирования кода. Подскажите что тут подправить для вывода на экран учащихся с...

Записи. Программа готово нужно подредактировать
Приняв способ изображения рационального числа в виде записи с двумя полями: числ, знам : integer, написать программу, позволяющую,...

В описании дана программа. Что она делает? Она создает список с полем ключа и полем данных. Что надо сделать? Надо чтобы программа работала бесконечно
Вообщем нужно чтобы было так: Vvedite key: 1 Vvedite stroku: 11111 Key=1 Stroka=11111 Vvedite key: 2 Vvedite stroku:

Треугольная полка
Книжная полка имеет треугольную форму: на ее верхней полке помещается одна книга, на второй — две, на третьей — три и т.д. (на i-ой...

Книжная печать
Всем привет! Как напечатать на принтере документ книжным и чтоб он был маленькой книжкой типа есть же книжки шпаргалки мне бы также...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru