Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/67: Рейтинг темы: голосов - 67, средняя оценка - 4.60
Andry-93
1 / 1 / 0
Регистрация: 05.04.2011
Сообщений: 8
#1

База данных в Pascal...

05.04.2011, 17:03. Просмотров 12196. Ответов 4
Метки нет (Все метки)

Просто Paskal я напроч забыл, я работаю с другими языками программирования, а это задание очень важно для меня
На свое усмотрение создать меню для выбора основных действий работы с программой, таких как:
1) загрузка имеющейся базы данных:
а) добавление новой записи;
б) удаление записи;
в) сохранение данных;
г) вывод данных на экран;
д) корректировка записи;
е) фильтрация данных;
ж) поиск данных по некоторому критерию;
з) справка;
и) выход.
2)создание новой базы данных.
При создании меню использовать модули Crt и Graph.
Каждое действие меню реализовать с помощью функции или процедуры (на выбор).

ЗАДАНИЕ: Предметная область ИС: Городской транспорт
Минимальный список характеристик:
Вид транспорта, номер маршрута, дата введения маршрута, начальная остановка, конечная остановка, время в пути, примечание.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2011, 17:03
Ответы с готовыми решениями:

Курсовая pascal, База данных.
НЕ могу понять где и чем ошибка

База данных "Функции Pascal"
я в программировании не очень , вот так уж сложилось, помогите кто может мне...

База данных
Написать программу заполнения базы данных с клавиатуры и выполнения одного...

Turbo Pascal, Pascal ABC, Free Pascal, PascalABC.NET - в чем разница?
Всем привет, решил изучать Паскаль, но на форуме увидел 4 его версии - Turbo...

База данных магазина
здравствуйте, мне срочно нужна курсовая работа на тему база данных магазина....

4
Давид
Программист 1С
856 / 644 / 187
Регистрация: 03.03.2009
Сообщений: 1,154
06.04.2011, 10:07 #2
Andry-93, Вот вам пример, написанный мною когда то!...думаю переделать под свои данные труда не составит!
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
Program baza;
Uses crt;
label 10;
type spisok=record
     imja:string;
     fam:string;
     nomer:integer;
     gorod:string;
     end;
FT= file of spisok;
Var a:ft;
    i,z:integer;
    s:real;
Procedure Sozd (var a:ft);
Var i,j:integer;
    zk:spisok;
begin
rewrite (a);
j:=1;
 while j<>80 do
          begin
          write ('vvedite imja ');
          readln (zk.imja);
          write ('Vvedite familiIo ');
          readln (zk.fam);
          write ('vvedite nomer telefona ');
          Readln (zk.nomer);
          write ('vvedite gorod ');
          readln (zk.gorod);
          write (a,zk);
          writeln ('Esli konec zapisi to nazhmite 80 ');
          readln (j);
          end;
close (a);
end;
Procedure vyvod (var a:ft);
Var i:integer;
    zk:spisok;
begin
reset (a);
 writeln ('=================================');
 writeln ('| imja| familija| telefon| gorod|');
 writeln ('=================================');
  while not eof(a) do
   begin
    read (a,zk);
    write ('|',zk.imja:6,'|');
    write ('|',zk.fam:9,'|');
    write ('|',zk.nomer:6,'|');
    write ('|',zk.gorod:9,'|');
    writeln;
    writeln ('-------------------------------');
   end;
close (a);
end;
procedure delete (var a:ft);
Var n,m:longint;
      i:byte;
      mas:array [1..20] of spisok;
begin
 i:=1;
 reset(a);
 writeln ('vvedite nomer zapisi dlja udalenija ');
 readln(n);
 m:=filesize(a)-n;
 seek (a,n);
 while not eof(a) do
           begin
            read (a,mas[i]);
            i:=i+1;
           end;
 close (a);
 reset (a);
 seek (a,n-1);
 truncate (a);
 close (a);
 reset (a);
 seek (a,n-1);
  for i:=1 to m do
   write (a,mas[i]);
end;
Procedure poisk (var a:ft);
var i:integer;
    zk:spisok;
    name:string;
begin
reset (a);
 writeln ('Vvedite imja dlja poiska ');
 readln (name);
 writeln ('spisok s zadannym imenem ');
 writeln ('=================================');
 writeln ('| imja| familija| telefon| gorod|');
 writeln ('=================================');
 while not eof(a) do
 begin
  read (a,zk);
  if zk.imja=name then
  begin
    write ('|',zk.imja:6,'|');
    write ('|',zk.fam:9,'|');
    write ('|',zk.nomer:6,'|');
    write ('|',zk.gorod:9,'|');
    writeln;
    writeln ('-------------------------------');
  end;
 end;
close(a);
end;
begin
clrscr;
10:
assign (a,'fff');
writeln ('       MEHIO      ');
writeln ('1:cozdanie ');
writeln ('2:vyvod ');
writeln ('3:delete ');
writeln ('4:poisk ');
writeln ('5:vyxod ');
readln (z);
 case z of
  1:sozd(a);
  2:vyvod (a);
  3:delete(a);
  4:poisk (a);
  5:exit;
  end; goto 10;
readln
end.
1
Andry-93
1 / 1 / 0
Регистрация: 05.04.2011
Сообщений: 8
06.04.2011, 16:09  [ТС] #3
Да ща попробую... спасибо большое)))

Добавлено через 44 минуты
я изменил
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
Program baza;
Uses crt;
label 10;
type spisok=record
     vt:string;
     nm:string;
     dvm:string;
     no:string;
     ko:string;
     vvp:string;
     p:string;
     end;
FT= file of spisok;
Var a:ft;
    i,z:integer;
    s:real;
Procedure Sozd (var a:ft);
Var i,j:integer;
    zk:spisok;
begin
rewrite (a);
j:=1;
 while j<>80 do
          begin
          write ('vid transporta: ');
          readln (zk.vt);
          write ('nomer marshryta: ');
          readln (zk.nm);
          write ('data v-v marshryta: ');
          Readln (zk.dvm);
          write ('na4alna9 ostanovka: ');
          readln (zk.no);
          write ('kone4na9 ostanovka: ');
          readln (zk.ko);
          write ('vrem9 v pyti: ');
          readln (zk.vvp);
          write ('prime4anie: ');
          readln (zk.p);
          write (a,zk);
          writeln ('Esli konec zapisi to nazhmite 80 ');
          readln (j);
          end;
close (a);
end;
Procedure vyvod (var a:ft);
Var i:integer;
    zk:spisok;
begin
reset (a);
 writeln ('=================================');
 writeln ('| vid transporta| nomer transporta| data v-v marshryta| n. ostanovka| k. ost| vrem9 v pyti| prime4anie|');
 writeln ('=================================');
  while not eof(a) do
   begin
    read (a,zk);
    write ('|',zk.vt:6,'|');
    write ('|',zk.nm:9,'|');
    write ('|',zk.dvm:6,'|');
    write ('|',zk.no:9,'|');
    write ('|',zk.ko:6,'|');
    write ('|',zk.vvp:9,'|');
    write ('|',zk.p,'|');
    writeln;
    writeln ('-------------------------------');
   end;
close (a);
end;
procedure delete (var a:ft);
Var n,m:longint;
      i:byte;
      mas:array [1..20] of spisok;
begin
 i:=1;
 reset(a);
 writeln ('vvedite nomer zapisi dlja udalenija ');
 readln(n);
 m:=filesize(a)-n;
 seek (a,n);
 while not eof(a) do
           begin
            read (a,mas[i]);
            i:=i+1;
           end;
 close (a);
 reset (a);
 seek (a,n-1);
 truncate (a);
 close (a);
 reset (a);
 seek (a,n-1);
  for i:=1 to m do
   write (a,mas[i]);
end;
Procedure poisk (var a:ft);
var i:integer;
    zk:spisok;
    name:string;
begin
reset (a);
 writeln ('Vvedite imja dlja poiska ');
 readln (name);
 writeln ('spisok s zadannym imenem ');
 writeln ('=======================================================================================================');
 writeln ('| vid transporta| nomer transporta| data v-v marshryta| n. ostanovka| k. ost| vrem9 v pyti| prime4anie|');
 writeln ('=======================================================================================================');
 while not eof(a) do
 begin
  read (a,zk);
  if zk.vt=name then
  begin
    write ('|',zk.vt:6,'|');
    write ('|',zk.nm:9,'|');
    write ('|',zk.dvm:6,'|');
    write ('|',zk.no:9,'|');
    write ('|',zk.ko:6,'|');
    write ('|',zk.vvp:9,'|');
    write ('|',zk.p,'|');
    writeln;
    writeln ('--------------------------------------------------------------------------------------------------------');
  end;
 end;
close(a);
end;
begin
clrscr;
10:
assign (a,'fff');
writeln ('       MEHIO      ');
writeln ('1:cozdanie ');
writeln ('2:vyvod ');
writeln ('3:delete ');
writeln ('4:poisk ');
writeln ('5:vyxod ');
readln (z);
 case z of
  1:sozd(a);
  2:vyvod (a);
  3:delete(a);
  4:poisk (a);
  5:exit;
  end; goto 10;
readln
end.
но не работает удаление, и помогите плиз добавить ещё карректировку записи и фильтрацию данных
0
polinet69
0 / 0 / 0
Регистрация: 12.04.2018
Сообщений: 2
12.04.2018, 19:15 #4
1.pas(10) : Типизированый файл не может содержать элементы такого типа

в строке FT= file of spisok;
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
3815 / 2496 / 2055
Регистрация: 22.11.2013
Сообщений: 6,947
13.04.2018, 10:36 #5
polinet69,
Для Free Pascal c {$H-} или Turbo Pascal ошибки не будет.
Для Free Pascal достаточно явно использовать в записи короткие строки, явно указав их длину:
Pascal
1
2
3
4
type
  spisok=record
    vt: String[63];
    ...
0
13.04.2018, 10:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2018, 10:36

База данных хлебокомбината
Создать типизированный файл записей,который содержит данные хлебокомбината о...

школьная база данных
Ребят вот не могу справиться с задачей , условия таковы - &quot;Составить&quot; школьная...

База данных из записей
дано такое задание База данных должна содержать не менее трех записей с 5...


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

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

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