Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2011, 16:51   #1
andry-93
Пользователь
 
Регистрация: 05.04.2011
Сообщений: 19
Восклицание База данных в Pascal, меню...

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

ЗАДАНИЕ: Предметная область ИС: Городской транспорт
Минимальный список характеристик:
Вид транспорта, номер маршрута, дата введения маршрута, начальная остановка, конечная остановка, время в пути, примечание.
andry-93 вне форума Ответить с цитированием
Старый 06.04.2011, 16:16   #2
andry-93
Пользователь
 
Регистрация: 05.04.2011
Сообщений: 19
По умолчанию

я написал так
Код:
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. ostanovka| 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.
но удаление не работает и помогите плиз добавит коррекцию и фильтрацию данных




___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось andry-93; 06.04.2011 в 17:11.
andry-93 вне форума Ответить с цитированием
Старый 06.04.2011, 23:57   #3
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

А где вы здесь работаете с базой данных? Я этого не увидел! Вы используете работу с файлами, а не базу данных!
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 07.04.2011, 07:23   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ByAlex
Вы избалованы СУБД!

Цитата:
Код:
FT= file of spisok;
Var a:ft;
вот здесь и идёт назначение переменной для работы с таблицей.
Типизированный файл - это и есть "прародитель" всех БД.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.04.2011, 21:10   #5
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Дак это понятно, по заданию то я думал, что надо с СУБД работать - так более правильно!
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 07.04.2011, 22:18   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от ByAlex
по заданию то я думал, что надо с СУБД работать - так более правильно!
да ну?! В MS DOS TurboPascal ?! с СУБД?!!!
а с какой именно? И как?
Научите? (пример дайте, пожалуйста... я лично не умею )
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.04.2011, 17:16   #7
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
да ну?! В MS DOS TurboPascal ?! с СУБД?!!!
а с какой именно? И как?
Научите? (пример дайте, пожалуйста... я лично не умею )
Зачем в MS DOS? Открываете Borland Delphi и поехали, там и XML базы, mdb(Microsoft) и Paradox! Делаем что хотим!
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 08.04.2011, 18:25   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ByAlex, глумитесь? ну-ну...

а Вы исходное задание видели?
Цитата:
При создании меню использовать модули Crt и Graph.
Или Вы не понимаете, что автору темы нужно выполнить работу в TurboPascal?!


ладно. я понял, на что Вы намекали, когда рекомендовали использовать СУБД в Паскаль.
Больше вопросов не имею!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.04.2011, 12:32   #9
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

А, это я не заметил!
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 05.06.2011, 20:23   #10
Dr!ver
Новичок
Джуниор
 
Регистрация: 05.06.2011
Сообщений: 1
По умолчанию

2 andry-93
Выдавать чужие проги за свои эт как-т не комильфо
Dr!ver вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
База данных на Pascal. Интерфейс пользователя. mmx358 Помощь студентам 3 21.03.2011 14:32
База данных(Pascal). Отлов багов. inviter Помощь студентам 0 09.01.2011 17:15
Небольшая база в Open Office База данных. sashaman Фриланс 3 11.04.2010 20:13
База данных на Pascal DJ DIMON Помощь студентам 1 06.12.2008 00:03
База данных Pascal. Dianochka Помощь студентам 6 10.12.2007 21:35