Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Maiklslott
0 / 0 / 0
Регистрация: 03.10.2015
Сообщений: 17
1

Добавить процедуры чтения/зписиси данных из/в файл

25.12.2015, 09:34. Просмотров 185. Ответов 0
Метки нет (Все метки)

Дана таблица абоненты, в ней есть имя абонента и его телефон (и еще некоторые другие процедуры они описываются в главной программе)
Нужно добавить процедуры чтения/зписиси данных из/в файл.
Болею высокая температура,т ему пропустил ничего не знаю, разбираться очень тяжело, от этого задания зависит будет у меня зачет или нет.
Процедура удаления кстати не работает, и если она мешает можно ее удалить.
Огромнейшее спасибо Человеку с ником Puporev. Он меня спас.
Сам код:
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
uses crt;
const N = 100;
type
   abonent = record
      name : string[30];
      number : string[11];
   end;
   phonebook=array[1..N] of abonent;
   
var
 
  
   p: phonebook;
   m: integer; {Количество записей введённых пользователем}
   ch : char;  {Вспомогательная переменная - нажатая клавиша}
   s : string; {Вспомагательная переменная}
 
procedure enter(var a:phonebook; var m:integer); {Процедура ввода записей в массив}
var
   ch : char;
begin
   clrscr;
   repeat
      m:=m+1;
      write('Введите имя абонента: ');
      readln(a[m].name);
      write('Введите номер абонента: ');
      readln(a[m].number);            
      writeln('Абонентов в книге ', m);
      writeln('Для окончания ввода записей в телефонную книгу нажмите N');
      ch := readkey;
   until upcase(ch) = 'N'  ;
end;
 
procedure head; {Процедура выводящая "шапку" таблицы}
begin
   writeln('|------------------------------|-----------|');
   writeln('|           Абонент            |   Номер   |');
   writeln('|------------------------------|-----------|');
end;
 
procedure sort(var a:phonebook; m:integer);
var i,j : integer;
    t:abonent;
begin
for i := 1 to m-1 do
for j:=1 to m-i do
if a[j].number>a[j+1].number then
 begin
  t:=a[j];
  a[j]:=a[j+1];
  a[j+1]:=t;
 end;
end;
 
procedure sort1(var a:phonebook; m:integer);
var i,j : integer;
    t:abonent;
begin
for i := 1 to m-1 do
for j:=1 to m-i do
if a[j].name>a[j+1].name then
 begin
  t:=a[j];
  a[j]:=a[j+1];
  a[j+1]:=t;
 end;
end;
 
                                                                                                                 
 
procedure del(var a: phonebook; var m:integer; s :string);
var i,j:integer;
begin
 
while i<=m do
if s =a[i].name  then
if i=m then
m:=m-1
else
 begin
  for j:=i to m-1 do
  a[j]:=a[j+1];
  m:=m-1;
end;
 
end;
 
procedure print(a:phonebook; m:integer); {Процедура вывода телефонной книги на экран}
var i : integer;
begin
   clrscr;
   writeln('Телефонная книга':28);
   head;
   for i := 1 to m do
   begin
     writeln('|', a[i].name:30, '|', a[i].number:11, '|');
     writeln('|------------------------------|-----------|');
   end;
   writeln('Нажмите любую клавишу');
   while not keypressed do ;
end;
 
procedure findnumber(a: phonebook; m:integer; s :string); {рпроцедура поиска номера абонента по имени}
var i : integer;
begin
   writeln('Найденные абоненты':29);
   head;
   for i := 1 to m do
      if s = a[i].name then
      begin
         writeln('|', a[i].name:30, '|', a[i].number:11, '|');
         writeln('|------------------------------|-----------|');
      end;
   writeln('Нажмите любую клавишу');
   while not keypressed do ;
end;
 
begin
   m := 0;
   repeat
       clrscr;
       {Вывод меню на экран}
       writeln('Выбирите необходимое действие:');
       writeln(' 1 - ввод записей в телефонную книгу.');
       writeln(' 2 - вывод телефонной книги на экран.');
       writeln(' 3 - поиск номера абонента.');
       writeln(' 4- сортировка по возрастанию номера.');
       writeln(' 5 - сортировка по возрастанию имени.');
       writeln(' 6- удаление');
       write('::> ');
       ch := readkey;
       {Действия в зависимости о выбора}
       case ch of
          '1' : enter(p, m);
          '2' : print(p, m);
          '3' : begin
                   clrscr;
                   write('Введите имя абонента: ');
                   readln(s);
                   findnumber(p, m, s);
                end;
           '4' : begin
                 sort(p,m);
                 print(p,m);
                end;
           '5' : begin
                 sort1(p,m);
                 print(p,m);
                end;
           '6' : begin
                   clrscr;
                   write('Введите имя абонента: ');
                   readln(s);
                   
                   del(p,m,s);
                
               end; 
        
       end;
   until ch = #27; {выход из программы по нажатию клавиши ESC}
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2015, 09:34
Ответы с готовыми решениями:

Добавить процедуры
Плиз помогите сделать( Мне по самому простому плиз вилы ваще( завтра сдавать(...

Добавить функции и процедуры в код
var a:array of integer; i,x,max,min,k:integer; SredMM:real; begin ...

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

Организация цикла чтения данных из файла
55 stroka в файле var f:text; надо вывести данные в программу. Как это сделать...

Разработать и добавить функции записи исходных данных в файл и чтения их из файла
Здраствуйте всем. Как хорошо что сайт заработал.) Ребята помогите с бинарными...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2015, 09:34

Напишите функции записи данных в файл, чтения данных из файла
Файл dаte.in содержит четырех значное число на каждой строке. Напишите функции...

Запись данных в файл, и чтения этих данных
Есть 3 текстовые поля и один RadioButton. Надо записать их значения в текстовый...

Добавить процедуру поиска максимального количества остановок и сохранения/чтения данных из файла
Помогите пожалуйста!нужно добавить процедуру поиска максимального количества...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru