IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Задача на записи, Почти доделал но одну вещь незнаю как сделать
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 42
Пол: Мужской

Репутация: -  0  +


Задачка такая: Написать программу,описывающую массив записей-телефонный справочник однокурсников-и обеспечивающую ввод данных, поиск фамилии по номеру телефона,и вывод абонентов по критерию "шахматы".В записи о каждом однокурснике содержатся следующие сведения:фамилия, имя,телефон, хобби.

Критерий шахматы это нужно подсчитать сколько людей с одинаковым хобби


Вот код:

Program Adress_Book;
uses
Crt;
type
Adressitem = record
Fio: String;
Hob: String;
Phone: LongInt;
Email: String;
end;


var
Book: Array [1..10] of Adressitem;
hobbusovp:array[1..10] of string;
Nums, I,Oh,k,mk: Byte;
Code: Integer;
ind:LongInt;
C: Char;
Quit: Boolean;
StrNum,IntToStr:string;
Phone1,Ph:LongInt;

Function Search(TelNum:LongInt):integer;
Var
i:Integer;
StrNum:String;
Begin
Search:=-1;
StrNum:=IntToStr;
For i:=1 to 10 do
Begin
If Book[i].Phone=Phone1 Then
Begin
Search:=i;
Break;
end;
end;
end;




Procedure New_Item;
var
F, A, Em: String;
Ph: LongInt;
begin
ClrScr;
Inc(Nums);
if Nums > 10 then
begin
Write('MAx kol-vj zapisey!');
exit;
end;

Writeln('Zapis N', Nums); Writeln;
Write('Vvedite FIO: ');
Readln(F);
Write('Vvedite Xobbu: ');
Readln(A);
Write('Vvedite telefon: ');
Readln(Ph);
Writeln;
with Book[Nums] do
begin
Fio := F;
Hob := A;
Phone := Ph;
end;
Write('NEW Zapis dobavlena');
end;



Procedure List_Item(N: Byte);
begin
if N > Nums then
begin
Write('Nevernui nomer');
exit;
end;

With Book[N] do
begin
Writeln('Zapis N', N); Writeln;
Writeln('FIO: ', Fio);
Writeln('Hobbu: ', Hob);
Writeln('Telefon: ', Phone);
Writeln;
end;
Readln;
end;

begin
Quit := False;
Nums := 0;
for I:=1 to 10 do book[i].phone:=0;
repeat
ClrScr;
Writeln('Telefonnau kniga"');
Writeln('==========================='); Writeln;
Writeln('Zapisu: ');
Writeln('--------------------');
if Nums = 0 then Writeln('Zapisey net') else
For I := 1 to Nums do
Writeln(I, ' - FIO: ', Book[I].Fio);
Writeln('--------------------'); Writeln; Writeln;
Writeln('''a'' - Dobavit zapis');
WriteLn ('''b'' - Poisk zapisu');
WriteLn ('''h'' - Sovpadeniya');
Writeln('Nomer - pokazat zapis');
Writeln('Esc - Exit');



Writeln;
Write('Vash vibor: ');
C := ReadKey;
case C of
'1'..'9': begin
Val(C, I, Code);
List_Item(I);
end;
'a': New_Item;
'h': begin
If Nums<=0 then begin
writeln('Zapisey net'); readln; end
else
begin
Oh:=0;
for k:=1 to Nums do begin
for i:=1 to Nums do begin
if book[k].hob=book[i].Hob then
begin
oh:=oh+1;
mk:=i;
end;

end;

if k<>mk then
begin
Writeln('Odinakovuh hobbu:',Oh);
Readln;
Oh:=0;
end;
end;
end;
end;

'b': begin
Write ('Vvedite tel.: ');
ReadLn(Phone1);
Ph:=Search(Phone1);
If Ph <> -1 then
List_Item(Search(Phone1));
End;
#27: Quit := true;
end;
until Quit;

end.




И я не могу сделать чтоб она находила людей с одинаковым хобби

я попробывал использовать вот такую конструкцию:

begin
If Nums<=0 then begin
writeln('Zapisey net'); readln; end
else
begin
Oh:=0;
for k:=1 to Nums do begin
for i:=1 to Nums do begin
if book[k].hob=book[i].Hob then
begin
oh:=oh+1;
mk:=i;
end;

end;

if k<>mk then
begin
Writeln('Odinakovuh hobbu:',Oh);
Readln;
Oh:=0;
end;
end;
end;
end;




 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.04.2024 5:54
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name