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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2012, 00:22   #1
Reisch_Helena
 
Регистрация: 30.05.2012
Сообщений: 8
Радость Записи. Имеется телефонный справочник..

Имеется телефонный справочник, в котором записаны номер телефона, фамилия владельца и адрес. Составить программу, которая позволяет:
А) вводить список
Б) выводить список отсортированный по фамилии
В) получать информацию о владельце телефона, номер которого введен с клавиатуры
Г) получать номер телефона, если фамилия введена с клавиатуры.


Прошу вас помочь)) Ооочень прошу)
Reisch_Helena вне форума Ответить с цитированием
Старый 30.05.2012, 00:26   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

в чём проблема?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 30.05.2012, 00:28   #3
Reisch_Helena
 
Регистрация: 30.05.2012
Сообщений: 8
По умолчанию

С заданием. Сделать пыталась, но честно ни в какую не выходит то, что нужно иметь в итоге.
Код к сожалению не сохранился.
Reisch_Helena вне форума Ответить с цитированием
Старый 30.05.2012, 14:16   #4
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от Reisch_Helena Посмотреть сообщение
С заданием. Сделать пыталась, но честно ни в какую не выходит то, что нужно иметь в итоге.
Код к сожалению не сохранился.
Лови!
Код:
uses crt;
type
  TSpravochnik=record
  Surname:string[30];
  Adress:string[40];
  Number:string[15];
end;

var
  FZ:file of TSpravochnik;
  Client:TSpravochnik;
  Choise:char;

procedure AddRecord;
var
  AddRecordChoise:char;
begin
  seek(FZ, filesize(FZ));
  writeln('Input the information about client!');
  write('Surname = ');
  readln(Client.Surname);
  write('Adress = ');
  readln(Client.Adress);
  write('Number = ');
  readln(Client.Number);
  write(FZ, Client);
  writeln;
  write('Record is added!',#13#10,'Repeat y/n - ');
  readln(AddRecordChoise);
  if (AddRecordChoise='y') or (AddRecordChoise='Y') then
    AddRecord;
end;

procedure DisplaySortList;
var
  i,j:integer;
  t:TSpravochnik;
  A:array[1..100] of TSpravochnik;
begin
  seek(FZ,0);
  writeln;
  writeln('List:');
  for i := 1 to FileSize(FZ) do
  begin
    read(FZ,Client);
    A[i]:=Client;
  end;
  for i := 1 to FileSize(FZ) do
    for j := 1 to FileSize(FZ)-1 do
    begin
      if A[j].Surname>A[j+1].Surname then
      begin
        t:=A[j];
        A[j]:=A[j+1];
        A[j+1]:=t;
      end;
    end;
  for i := 1 to FileSize(FZ) do
    writeln(i,') ',a[i].Surname,' ', a[i].Adress, ' ',a[i].Number,';');
  readln;
end;

procedure PhoneBySurname;
var
  surname:string;
  i,col:integer;
begin
  col:=0;
  seek(FZ,0);
  writeln('Number by surname!');
  write('Input the surname - ');
  readln(surname);
  writeln('Result');
  for i := 1 to FileSize(FZ) do
  begin
    read(FZ,Client);
    if Client.Surname = surname then
    begin
      inc(col);
      writeln('Number is - ', Client.Number);
    end;
  end;
  if col = 0 then
    writeln('Records with same number does not exist!');
  readln;
end;

procedure OwnerOfPhone;
var
  number:string;
  i,col:integer;
begin
  col:=0;
  seek(FZ,0);
  writeln('Information about owner of the phone');
  write('Input the number - ');
  readln(number);
  writeln('Result');
  for i := 1 to FileSize(FZ) do
  begin
    read(FZ,Client);
    if Client.Number = number then
    begin
      inc(col);
      writeln(i,') ',Client.Surname,' ', Client.Adress, ' ',Client.Number,';');
    end;
  end;
  if col = 0 then
    writeln('Records with same number does not exist!');
  readln;
end;

begin
  {$I-}
  Assign(FZ,'C:\Records.dat');
  reset(FZ);
  {$I+}
  if IOResult<>0 then
    rewrite(FZ);
  if FileSize(FZ)=0 then
  begin
    writeln('Number of records in file is 0!',#13#10,'You need to add records.');
    AddRecord;
  end;
  // небольшое меню
  while choise<>'5' do
  begin
    writeln;
    writeln('Please, choise the item to work with the reference book:');
    writeln('    1) add new record');
    writeln('    2) display a list sorted by surname');
    writeln('    3) display information about the owner of the phone');
    writeln('    4) display number of phone by surname');
    writeln('    5) exit');
    write('Your choise is - ');
    readln(Choise);
    case Choise of
      '1': AddRecord;
      '2': DisplaySortList;
      '3': OwnerOfPhone;
      '4': PhoneBySurname;
    end;
  end;
  close(FZ);
  writeln('Press any key for exit!');
  readln;
end.
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 01.06.2012, 22:09   #5
Reisch_Helena
 
Регистрация: 30.05.2012
Сообщений: 8
Радость

А в чем ошибки тут?
___________________________________
{$I-}
Assign(FZ,'C:\Records.dat');
reset(FZ);
{$I+}
if IOResult<>0 then
rewrite(FZ);
if FileSize(FZ)=0 then

___________________________________

write('Record is added!',#13#10,'Repeat y/n - ');
___________________________________
Reisch_Helena вне форума Ответить с цитированием
Старый 02.06.2012, 02:52   #6
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Reisch_Helena Посмотреть сообщение
А в чем ошибки тут?
В генотипе; программирование явно не для тебя..
Скажи, какой у тебя компилятор. А также приведи по возможности полно сообщение об ошибке.

P.S.
и, пожалуйста, не думай, что хоть кто-то повелся на твою наглую ложь (Сделать пыталась, но честно ни в какую не выходит то, что нужно иметь в итоге. Код к сожалению не сохранился.)Не знаю, что двигало ByAlex, но уж точно не желание помочь. Скорее, он хотел навредить тебе в обучении , и у него это явно получилось..
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 02.06.2012, 23:21   #7
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от Reisch_Helena Посмотреть сообщение
А в чем ошибки тут?
___________________________________
{$I-}
Assign(FZ,'C:\Records.dat');
reset(FZ);
{$I+}
if IOResult<>0 then
rewrite(FZ);
if FileSize(FZ)=0 then

___________________________________

write('Record is added!',#13#10,'Repeat y/n - ');
___________________________________
Программа полностью рабочая. Возможно у вас нет прав записи в диск C. Да и неизвестно какой у вас там компилятор.

TinMan, вы это к чему?
Цитата:
Не знаю, что двигало ByAlex, но уж точно не желание помочь. Скорее, он хотел навредить тебе в обучении , и у него это явно получилось..
Помог - жми на весы!
ByAlex89@mail.ru

Последний раз редактировалось ByAlex; 02.06.2012 в 23:24.
ByAlex вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Телефонный справочник VarVara Помощь студентам 7 04.05.2011 17:20
Телефонный справочник vladxxl Общие вопросы C/C++ 1 15.12.2010 20:28
телефонный справочник salmanov Общие вопросы C/C++ 1 10.06.2009 20:55
Телефонный справочник на TC Qai Фриланс 5 25.05.2008 01:02
Телефонный справочник CRASH Помощь студентам 5 07.05.2007 17:12