Аватар для crypt
1 / 1 / 1
Регистрация: 11.11.2013
Сообщений: 31

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

17.12.2013, 02:25. Показов 362. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru