Создать базу данных "Одноклассники" - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

«Одноклассники» - фамилия - месяц и год рождения - номер телефона Составить типизированный файл. Данные вводить в файл. Производить поиск по фамилии, а также именинников одного месяц рождения и выводить результаты на экран и в другой файл. В случае отсутствия человека с заданной фамилией выводить соответствующее сообщение. Добавлять записи в файл. Сортировать данные по фамилии. Незнаю вобще как это делать.Помогите кто знает ПЖ!

Решение задачи: «Создать базу данных "Одноклассники"»

textual
Листинг программы
program Zadanie6;
uses crt;
type
    odnoklassniki=record
    fam:string[30];
    mec:iteger;
    nom:integer;
end;
type fil=file of odnoklassniki;
 mas=array[1..5] of odnoklassniki;
var
f,od,q:fil;
d,y,:plan;
a:mas;
f1:string;
i,n,m,k,l:integer;
flag:boolean;
 
procedure sozd(var f:fil);
begin
clrscr;
 assign(f,'odnoklassniki.txt');
 rewrite(f);
 write('Введите количество фамилий: ');
 readln(k);
 writeln;
 for m:=1 to k do
               begin
               with d do
               write('Введите фамилию: ');
               readln(fam);
               write('Введите месяц и год рождения: ');
               readln(mec);
               write('Введите номер телефона: ');
               readln(nom);
               writeln;
               end;
               write(f,d);
          end;
close(f); 
writeln('Для выхода нажмите ENTER');
readkey;
end;
 
procedure mk (var f:fil);
begin
clrscr;
flag:=false;
assign(od,'odnaklassniki2.txt');
write('Введите фамилию: ');
readln(f1);
writeln;
reset(f);
rewrite(od);
while not eof(f) do
                 begin
                 read(f,d);
                 with d do
                 begin
                 if f1=fam then
                 begin
                 flaf:=true;
                 write('Фамилия: ');
                 writeln(fam);
                 write('Месяц и год рождения: ');
                 writeln(mec);
                 write('Номер телефона: ');
                 writeln(nom);
                 write(od,d);
                 writeln;
                         end;
                 end;
                end;
if flag=false then writeln('Такой фамилии нет!');
close(od);
close(f);
writeln('Для выхода нажмите ENTER');
readkey;
end;
 
procedure dob(var f:fil);
begin
clrscr;
write('Введите количество новых данных которые вы хотите добавить:');
readln(n);
writeln;
assign(f,'odnoklassniki.txt');
reset(f);
seek(f,filesize(f));
for i:=1 to n do
            begin
            with d do
            begin
            write('Введите фамилию: ');
            readln(fam);
            write('Введите месяц и год рождения: ');
            readln(mec);
            write('Введите номер телефона: ');
            readln(nom);
            writeln;
            write(f,d);
          end;
       end;
close(f);
writeln('Для выхода нажмите ENTER');
readkey;
end;
 
procedure prm (var f:fil);
begin
clrscr;
flag:=false;
write('Введите месяц и год рождения: ');
readln(f1);
assign(q,'odnoklassniki.txt');
writeln;
reset(f);
rewrite(q);
while not eof(f) do
                 begin
                 read(f,d);
                 with d do
                 begin
                 if (f1=mec) then
                 begin
                 flag:=true;
                 writeln;
                 write('Фамилия: ');
                 writeln(fam);
                 write('Месяц и год рождения: ');
                 writeln(mec);
                 write('Номер телефона: ');
                 writeln(nom);
                 write(q,d);
                           end;
                 end;
               end;
if flag=false then writeln('Таких фамилий нет!');
close(q);
close(f);
writeln('Для выхода нажмите ENTER');
readkey;
end;
 
procedure mash(var f:fil);
begin
assign(f,'odnoklassniki.txt');
reset(f);
k:=filesize(f);
for i:=1 to k do
with d do
     begin
     clrscr;
     read(f,d);
     a[i].fam=fam;
     a[i].mec=mec;
     a[i].nom=nom;
     end;
for l:=k downto 2 do
for i:=1 to l-1 do
if a[i].

Объяснение кода листинга программы

Код написан на языке Turbo Pascal. Он включает в себя следующие элементы:

  1. Тип данных odnoklassniki, который представляет одну запись о человеке. Он содержит поля fam (фамилия), mec (месяц и год рождения) и nom (номер телефона).
  2. Тип данных fil представляет файл, содержащий записи о людях. Он является массивом записей типа odnoklassniki.
  3. Переменные k, f, od, q и a используются для работы с файлом и данными.
  4. Функция sozd создает базу данных odnoklassniki.txt и записывает в нее данные, введенные пользователем.
  5. Функция mk добавляет новую запись в базу данных odnoklassniki2.txt, если фамилия существует в базе данных odnoklassniki.txt. Если фамилия не существует, то функция сообщает об этом.
  6. Функция dob добавляет новые данные в базу данных odnoklassniki.txt.
  7. Функция prm добавляет новую запись в базу данных odnoklassniki.txt, если фамилия и месяц и год рождения совпадают с введенными пользователем данными. Если фамилия и месяц и год рождения не совпадают, то функция сообщает об этом.
  8. Функция mash читает файл odnoklassniki.txt и заполняет массив a данными о людях.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы