Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для crypt
1 / 1 / 1
Регистрация: 11.11.2013
Сообщений: 31

Программирование задач с типом file

17.12.2013, 02:25. Показов 359. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, отладить программу: требуется создать файл, содержащий сведения о личной библиотеке книголюба. Структура записи: шифр книги, автор, название, год издания, местоположение (номер стелажа, шкафа, и т. п.). Количество записей – произвольное.
Написать программу выдающий, следующую информацию:
местонахождение книги автора Х название У. Значения Х и У ввести с клавиатуры.
Я написал код, все перепроверил уже раз 5, не понимаю, почему при поиске информации все врем выдает что нет книг с требуемым критерием поиска...
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
Program Lab9_10_V7;
  uses crt;
  type
    Books=record
          Kod,God,Mesto:integer;
          Avtor:string[20];
          Name:string[20];
          end;
  var
    otv:1..3;
    F:file of books;
    im:string[10];
    Info:books;
    
 procedure vvod; // Процедура ввода
  label 1,2;
  var
    otv:0..3;
    i:integer;
  begin
    i:=0;
    1:writeln('Введите имя файла: ');
    readln(im);
    if FileExists(im)=true then begin
                                writeln('Файл с таким именем существует');
                                writeln('Введите вариант работы: ');
                                writeln('________________________________________________________________________________');
                                writeln('1 - Удалить все данные и ввести новые');
                                writeln('2 - Дополнить существующий файл новыми данными');
                                writeln('3 - Задать новое имя');
                                writeln('________________________________________________________________________________');
                                readln(otv);
                                  case otv of
                                    1:begin
                                      assign(f,im);
                                      rewrite(f);
                                      goto 2;
                                      end;
                                    2:begin
                                      assign(f,im);
                                      reset(f);
                                      seek(f,FileSize(f));
                                      goto 2;
                                      end;
                                    3:goto 1;
                                  end;
                                end;
  assign (f,im);
  rewrite(f);
  2:writeln('Ввод сведений о книгах');
  writeln('________________________________________________________________________________');
  repeat
  i:=i+1;
  clrscr;
  writeln('Введите данные',i,' -ой книги');
  writeln('________________________________________________________________________________');
  writeln('Шифр книги: ');
  readln(info.kod);
  writeln('Автор: ');
  readln(info.avtor);
  writeln('Название: ');
  readln(info.name);
  writeln('Год издания: ');
  readln(info.god);
  writeln('Местоположение (номер шкафа): ');
  readln(info.mesto);
  write(f,info);
  writeln('________________________________________________________________________________');
  writeln('Исчерпан список ввода? 1 - нет, 0 - да: ');
  readln(otv);
  until otv=0;
 end; // Конец процедуры ввода
 
 procedure vivod; // Процедура вывода
  var
    Name1:string[20];
    Avtor1:string[20];
    prizn_poiska:0..1;
 begin
  clrscr;
  writeln('Введите имя файла: ');
  readln(im);
  if FileExists(im)=false then begin
                               writeln('Файла с таким именем не существует! Нажмите любую клавишу.');
                               readkey;
                               exit;
                               end;
  prizn_poiska:=0;
  writeln('Введите данные для вывода информации: ');
  write('Имя автора: ');
  read(avtor1);
  write('Название книги: ');
  read(name1);
  // Заголовок программы
  clrscr;
  writeln('________________________________________________________________________________');
  writeln;
  writeln('       Шифр книги : Год издания : Местоположение');
  writeln('________________________________________________________________________________');
  writeln;
  assign(f,im);
  reset(f);
  read(f,info);
  while not eof(f) do begin
                      with info do begin
                                   if (Avtor1=Avtor) and (Name1=Name) then begin
                                                                           prizn_poiska:=1;
                                                                           writeln(kod,god,mesto);
                                                                           end
                                                                      else prizn_poiska:=0;
                                   end;
                      read(f,info);
                      end;
  writeln('________________________________________________________________________________');
  if prizn_poiska=0 then begin
                         writeln('Книг с такими критериями поиска нет.');
                         writeln('________________________________________________________________________________');
                         end;
  writeln('Посмотрите результат и нажмите любую клавишу.');
  close(f);
  readkey;
  end; // Конец процедуры вывода
  
 begin // Начало основной программы
  repeat
  clrscr;
  writeln('Введите вариант работы с программой: ');
  writeln('________________________________________________________________________________');
  writeln('Формирование файла сведений о книгах - 1;');
  writeln('Поиск и вывод информации - 2;');
  writeln('Закончить работу с программой - 3;');
  writeln('________________________________________________________________________________');
  readln(otv);
    case otv of
      1:vvod;
      2:vivod;
      3:exit;
    end;
  until false;
 end.
Заранее благодарен.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.12.2013, 02:25
Ответы с готовыми решениями:

Программирование задач с использованием функций
Даны два массива А(10), В(10). В массивах А(10) и В(10) все элементы предшествующие первому нулевому элементу заменить на 0,5 Заранее...

программирование задач с использованием процерур и функции
опишите процедуры(или функции) позволяющие определить площадь треугольника по: а)трем сторонам б)двум сторонам и углу между ними ...

Программирование задач по обработке строковых переменных
Помогите с выполнением задачи, пожалуйста Введите предложение. Введите в переменную S какой-то согласный звук, а в переменную G –...

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

Нужно переменной с типом real присвоить выражение a1 mod 2, где a1 - это переменная с типом integer.
Такой вопрос . Мне нужно переменной с типом real присвоить выражение a1 mod 2 где a1 это переменная с типом integer. Выдает ошибку, т.к....

Программирование задач с использованием процедур или функций
Даны целые числа m и n, и последовательность действительных чисел X1,X2,...,Xm*n. Определить...

Программирование задач с использованием процедур или функций
Помогите написать!)

Алгоритмизация и программирование задач создания и обработки типованих и текстовых файлов
1.Создание и обработка типованого файла Обработать типований файл, вычислив среднее арифметическое индексов четных элементов массива ...

Программирование задач обработки графических структур Программирование задач обработки простейших графических структур. Программирование функций
Написать программу, которая вычерчивает на экране узор из 100 окружностей случайного диаметра и цвета.


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru