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

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

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

> безопасный ввод, Ошибка в функции
HeX
сообщение 26.11.2005 17:26
Сообщение #1


Новичок
*

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

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


Поиогите найти ошибку в функции!!!Пожалуйста!!!
Условие: Организовать типизированный файл, содержащий сведения об адресах и телефонах сотруд-ников предприятия: ФИО, адрес (улица, дом, квартира). Напишите встроенную подпрограмму-функцию для организации безопасного ввода номеров телефонов – целое шестизначное число. Определите сколько сотрудников не имеют телефонов.

Решение:
program QQQ;
type
pred=record
Tel:byte;
adress:string;
FIO:string;

end;
var
Sved:pred;
Fsved: file of pred;
Msved:array[1..50] of pred;
i,j,a,NOTEL,N_zap:integer;
k:boolean;

function Nomer(tel:byte):boolean;
var t:byte;
begin
nomer:=False;
if tel=0
then
nomer:=true
else
if (tel>99999) and (tel<1000000)
then
nomer:=true
else
writeln('nepravilniy vvod nomera!!!');
end;

procedure File_WRITE;
begin
Writeln('Vvedite kolichestvo zapisei');
readln(N_zap);
assign(Fsved,'sved.dat');
rewrite(Fsved);
for i:=1 to N_zap do
begin
with sved do
begin
repeat
begin
Writeln('Vvedite nomer telefona esli nomer otsytstvyet vvedite 0');
readln(tel);
k:=nomer(tel);
end;
until k;
Writeln('Vvedite FIO');
readln(FIO);
Writeln('Vvedite adress');
readln(adress);
end;
write(Fsved,sved);
end;
close(fsved);
end;

begin
File_WRITE;
assign(Fsved,'sved.dat');
reset(Fsved);
NOTEL:=0;
While not eof(Fsved) do
begin
with sved do
begin
read(Fsved,sved);
if tel=0 then
NOTEL:=NOTEL+1;
end;
end;
{close(Fsved);}
Seek(Fsved,0);
Writeln('FIO ','Adres ','Telefon ');
While not eof(Fsved) do
begin
read(Fsved,sved);
begin
with sved do
begin
Writeln(FIO,' ',adress,' ',tel);
end;
end;
end;
close(Fsved);
writeln('Rabotnikov bez telefona:',NOTEl);
readln;
end.


М
тегами пользуемся
Altair



--------------------
...Купи слона, ну и что что все говорят продай слона...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



- Текстовая версия 22.06.2025 15:43
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"