Тема: Разработка информационно-справочной системы.
Задание
Составить программу согласно варианту задания с разработкой процедур (функций). В программе должно быть предусмотрено главное меню со следующими пунктами, (примерный перечень):
1.Ввод данных (ввод данных с клавиатуры, чтение данных с файла [предусмотреть запись данных в файл, чтение данных из файла]).
2.Обработка данных (добавление и удаление записей)
3.Поиск информации
4.Вывод упорядоченной информации (вывод результатов)
5.Выход из программы.
Справочник:
Структура элемента массива - знакомый: фамилия, номер телефона (5-значный), место жительства - город, улица, дом, квартира.
Определить:
- есть ли в книжке телефон данного человека;
- кому принадлежит данный телефон;
- cписок людей, живущих на данной улице.
Другие языки программирования и технологии
Помогите составить программу на pascal
вот очень похожая программа, переделай, не получится - пиши
program kniga;
uses crt;
type book=record
nazv: string[20];
god : integer;
avtor:string[15];
end;
var
f:file of book;
i,j,k,n:integer;
w:book;
bib: array[1..100] of book;
nfile:string;
procedure zapis; //*****Запись в файл'***********
begin
clrscr;
writeln('ЗАПИСЬ МАССИВА В ФАЙЛ');
writeln('**********************');
writeln;
write(' ввести имя файла для записи (например kniga или book): ');
readln( nfile);
nfile:=nfile+'.dat';
assign(f,nfile);
rewrite(f);
clrscr;
writeln('ЗАПИСЬ МАССИВА В ФАЙЛ');
writeln('**********************');
writeln;
for i := 1 to N do
write(f,bib[i]);
writeln(' Запись в файл закончена');
close(f);
writeln('Содержимое файла ',nfile);
writeln('************************');
writeln('_______________________________________________');
writeln(' N Название Год выпуска Автор');
writeln('_______________________________________________');
reset(f);
i:=0;
while not eof(f) do begin
read(f,w);
inc(i);
with w do
writeln(i:3,w.nazv:15,w.god:10,w.avtor:13);
end;
writeln('_______________________________________________');
close(f);
readln;
end;
procedure sozd; {*******создание ********}
begin
write('Ввести количесво записей : ');
readln(n);
clrscr;
writeln('СОЗДАНИЕ МАССИВА ЗАПМСЕЙ КНИГ');
writeln('******************************');
for i := 1 to n do begin
writeln('Ввести ',i,' - ю запись');
with bib[i] do begin
write('Введите название книги: ');
readln(nazv);
write('Введите год выпуска: ');
readln(god);
write('Введите фамилию автора: ');
readln(avtor);
end;
end;
writeln('Ввод данных закончен');
// *****сортировка по дате***********
for i := 1 to N-1 do
for j:=i+1 to n do
if bib[i].god > bib[j].god then begin
w:=bib[i]; bib[i]:=bib[j]; bib[j]:=w;
end;
zapis;
end;
procedure prosm; // *****просмотр записей***********
begin
clrscr;
writeln('ПРОСМОТР ЗАПИСЕЙ ИЗ ФАЙЛА');
writeln('***************************');
writeln;
writeln('_______________________________________________');
writeln(' N Название Год выпуска Автор');
writeln('_______________________________________________');
reset(f);
i:=0;
while not eof(f) do begin
read(f,w);
inc(i);
with w do
writeln(i:3,w.nazv:15,w.god:10,w.avtor:13);
end;
close(f);
writeln('_______________________________________________');
writeln('Конец просмотра');
readln;
end;
procedure vibor; //***************Поиск по году выпуска**************
var gv,m:integer;
ff:boolean;
begin
clrscr;
writeln('Поиск книг по году выпуска');
writeln('**************************');
writeln;
write('Ввести год выпуска: ');
readln(gv);
clrscr;
writeln('Поиск по году выпуска ',gv );
writeln('****************************');
program kniga;
uses crt;
type book=record
nazv: string[20];
god : integer;
avtor:string[15];
end;
var
f:file of book;
i,j,k,n:integer;
w:book;
bib: array[1..100] of book;
nfile:string;
procedure zapis; //*****Запись в файл'***********
begin
clrscr;
writeln('ЗАПИСЬ МАССИВА В ФАЙЛ');
writeln('**********************');
writeln;
write(' ввести имя файла для записи (например kniga или book): ');
readln( nfile);
nfile:=nfile+'.dat';
assign(f,nfile);
rewrite(f);
clrscr;
writeln('ЗАПИСЬ МАССИВА В ФАЙЛ');
writeln('**********************');
writeln;
for i := 1 to N do
write(f,bib[i]);
writeln(' Запись в файл закончена');
close(f);
writeln('Содержимое файла ',nfile);
writeln('************************');
writeln('_______________________________________________');
writeln(' N Название Год выпуска Автор');
writeln('_______________________________________________');
reset(f);
i:=0;
while not eof(f) do begin
read(f,w);
inc(i);
with w do
writeln(i:3,w.nazv:15,w.god:10,w.avtor:13);
end;
writeln('_______________________________________________');
close(f);
readln;
end;
procedure sozd; {*******создание ********}
begin
write('Ввести количесво записей : ');
readln(n);
clrscr;
writeln('СОЗДАНИЕ МАССИВА ЗАПМСЕЙ КНИГ');
writeln('******************************');
for i := 1 to n do begin
writeln('Ввести ',i,' - ю запись');
with bib[i] do begin
write('Введите название книги: ');
readln(nazv);
write('Введите год выпуска: ');
readln(god);
write('Введите фамилию автора: ');
readln(avtor);
end;
end;
writeln('Ввод данных закончен');
// *****сортировка по дате***********
for i := 1 to N-1 do
for j:=i+1 to n do
if bib[i].god > bib[j].god then begin
w:=bib[i]; bib[i]:=bib[j]; bib[j]:=w;
end;
zapis;
end;
procedure prosm; // *****просмотр записей***********
begin
clrscr;
writeln('ПРОСМОТР ЗАПИСЕЙ ИЗ ФАЙЛА');
writeln('***************************');
writeln;
writeln('_______________________________________________');
writeln(' N Название Год выпуска Автор');
writeln('_______________________________________________');
reset(f);
i:=0;
while not eof(f) do begin
read(f,w);
inc(i);
with w do
writeln(i:3,w.nazv:15,w.god:10,w.avtor:13);
end;
close(f);
writeln('_______________________________________________');
writeln('Конец просмотра');
readln;
end;
procedure vibor; //***************Поиск по году выпуска**************
var gv,m:integer;
ff:boolean;
begin
clrscr;
writeln('Поиск книг по году выпуска');
writeln('**************************');
writeln;
write('Ввести год выпуска: ');
readln(gv);
clrscr;
writeln('Поиск по году выпуска ',gv );
writeln('****************************');
к сожалению, в чём заключается помощь, ты так и не написал
на сайтах фриланса напиши, точно так же и не парь нам мозг скопированным условием задачи.
Похожие вопросы
- Помогите составить программу в Pascal ABC
- Помогите составить программу в Pascal
- Помогите составить программу в pascal? срочно надо!!!!
- Помогите составить программу на Pascal.
- Помогите составить программу в Pascal или С++(а лучше и там и там)
- Помогите составить программу в Pascal
- помогите составить программу на Pascal дана матрица NxN.Найти наибольший элемент строки K.
- Помогите составить программу через Pascal с использованием функции и процедуры.
- Пожалуйста, помогите составить программу в Pascal.
- помогите составить программу на языке Turbo pascal
writeln('Поиск по году выпуска ',gv );
writeln('****************************');
writeln;
m:=0;
reset(f);
writeln('_______________________________________________');
writeln(' N Название Год выпуска Автор');
writeln('_______________________________________________');
while not eof(f) do begin
read(f,bib[i]);
with bib[i] do
if god=gv then begin
m:=m+1;
writeln(i:3,nazv:15,god:10,avtor:13);
end;
end;
close(f);
if m=0 then writeln(' Книг с годом выпуска ',gv,' нет');
writeln('_______________________________________________');
writeln;