Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Обработка записей

Автор: xekzzz 26.05.2008 19:28

Помогите решить данную задачу? Заранее огромное спасибо!

Составьте банк данных кинологов, включающий в себя фамилию и имя владельца собаки, кличку собаки, породу собаки, день и год рождения собаки, наличие родословной, наличие медалей. Информацию о каждом владельце оформите в программе в виде записи. Совокупность записей объедините в массив. Составьте программу, которая обеспечивает ввод полученной информации, а также вывод данных по первой букве имени владельца собак.

Как мне поставить условие, чтобы был вывод по первой букве имени владельца?


Program nk;
uses crt;
type
inf=record
den,god,med:integer;
name,fam,klich,poroda,rods:string;
end;

var f:file of inf;
m:array[1..100]of inf;
i,k:integer;

procedure BK;
begin
writeln('~~~~Банк данных кинологоВ~~~~');
writeln;
write('Введите количество кинологов ->');
readln(k);
writeln;
for i:=1 to k do
with m[i] do
begin
write('Введите имя владельца собаки ->');
readln(name);
write('Введите фамилию владельца собаки ->');
readln(fam);
write('Введите кличку собаки ->');
readln(klich);
write('Введите породу собаки ->');
readln(poroda);
write('Введите день рождения собаки ->');
readln(den);
write('Введите год рождения собаки ->');
readln(god);
write('Введите наличие родословной ->');
readln(rods);
write('Введите наличие медалей ->');
readln(med);
writeln;
end;
end;


Автор: Client 26.05.2008 19:48

if m[i].name[1]=c then ... // с-это буква

Автор: xekzzz 26.05.2008 20:55

спасибо Client !


Program nk;
uses crt;
type
inf=record
den,god,med:integer;
name,fam,klich,poroda,rods:string;
end;

var f:file of inf;
m:array[1..100]of inf;
i,k:integer;
c:string;

procedure BK;
begin
writeln('~~~~Банк данных кинологоВ~~~~');
writeln;
write('Введите количество кинологов ->');
readln(k);
writeln;
for i:=1 to k do
with m[i] do
begin
write('Введите имя владельца собаки ->');
readln(name);
write('Введите фамилию владельца собаки ->');
readln(fam);
write('Введите кличку собаки ->');
readln(klich);
write('Введите породу собаки ->');
readln(poroda);
write('Введите день рождения собаки ->');
readln(den);
write('Введите год рождения собаки ->');
readln(god);
write('Введите наличие родословной ->');
readln(rods);
write('Введите наличие медалей ->');
readln(med);
writeln;
end;
end;


procedure Poisk;
begin
for i:=1 to k do
if m[i].name[1]=c then
with m[i] do // с-это буква
writeln(fam,' ',klich,' ',poroda,' ',den,' ',god,' ',rods,' ',med);
end;

begin
BK;
writeln('введите 1 букву имя владельца');
readln©;
Poisk;
end.












Автор: xekzzz 27.05.2008 3:02

Как мне её теперь ПЕРЕЗАПИСАТЬ в текстовый файл! сам пробовал, не получается (((

Автор: мисс_граффити 27.05.2008 3:53

показывай, что и как пробовал

Автор: xekzzz 27.05.2008 4:07

У меня получается записать только в типизированный файл ! ((


Program nk;
uses crt;
type
inf=record
den,god,med:integer;
name,fam,klich,poroda,rods:string;
end;

var f:file of inf;
m:array[1..100]of inf;
i,k:integer;
c:string;

procedure BK;
begin
writeln('~~~~Банк данных кинологоВ~~~~');
writeln;
write('Введите количество кинологов ->');
readln(k);
writeln;
for i:=1 to k do
with m[i] do
begin
write('Введите имя владельца собаки ->');
readln(name);
write('Введите фамилию владельца собаки ->');
readln(fam);
write('Введите кличку собаки ->');
readln(klich);
write('Введите породу собаки ->');
readln(poroda);
write('Введите день рождения собаки ->');
readln(den);
write('Введите год рождения собаки ->');
readln(god);
write('Введите наличие родословной ->');
readln(rods);
write('Введите наличие медалей ->');
readln(med);
writeln;
write(f,m[i]);
end;
end;


procedure Poisk;
begin
for i:=1 to k do
if m[i].name[1]=c then
with m[i] do // с-это буква
writeln(fam,' ',klich,' ',poroda,' ',den,' ',god,' ',rods,' ',med);
end;

begin
assign(f,'c:\REZZ.txt'); rewrite(f);
BK;
writeln('введите 1 букву имя владельца');
readln©;
Poisk;
end.


Автор: Client 27.05.2008 11:39

for i:=1 to k do
with m[i] do
begin
writeln(f1,name);
writeln(f1,fam);
writeln(f1,klich);
writeln(f1,poroda);
writeln(f1,den);
writeln(f1,god);
writeln(f1,rods);
writeln(f1,med);
writeln(f1);
end;
f1-это текстовый файл