Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2015, 15:22   #11
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
Если репа превышает 1000, можете быть уверены, Вас не обманут.
унизил прям
Croessmah вне форума Ответить с цитированием
Старый 14.10.2015, 15:30   #12
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Цитата:
Сообщение от NikitaWieser Посмотреть сообщение
Спасибо, уважаемый! Тогда приступаю к написанию
Я так понял задачу нужно реализовать на Pascal. А что мешает потратить некоторое время на освоение несложных конструкций языка для решения задачи? В задаче нет "супер логики". А вам бы это дало дополнительный опыт. А впрочем ... Вам виднее
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 15.10.2015, 01:09   #13
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

если по простому то так
Код:
program dds;
uses Crt; {модуль для рабты ReadKey и ClrScr }

type {определение структуры файла}
Student = record
        FIO,Dom_ad:String; 
        Vozr:byte;
        pol:boolean;
end;
var
f:file of Student; {файловая переменная}
fil:Student ; { для присваивания в файл}
p:Char; {для ввода пола}
r:integer; { бля определения }
flag1, { бля редактирования адреса}
flag:byte; { влаг для работы меню }
ind:integer; {индекс расположения записи и номер записи}

Begin
repeat  {за цикливаем программу до нажатия ESC}
ind:=2; 
assign(f, 'C:\fa.dat' ); {связь файла с файловой переменной}
ClrScr; {очистка экрана}
 {$I-}  {отключение втроенного обработчика ошибок}
 reset (f);
 {$I+} {включение втроенного обработчика ошибок}
{проверка наличия файла}
 r := ioresult; 
 if r <> 0 then	
	rewrite(f) {создание файла}
	else reset(f);
 	
write('добавление-1 просмотр-2 фильтрация-3 редактировать-4');
 readLn(flag);	{выбор необходимого пункта}
case flag of	
{добавление записей в файл}
1:begin
Seek(f,FileSize(f)); {переход на последню запись}
repeat 
ClrScr;
repeat
WriteLn('Введите ФИО не больше 29 символов');
 readLn(fil.fio);
until  length(fil.fio) <29; 
repeat
WriteLn('Введите адрес не больше 29 символов');
 readLN(fil.Dom_ad);
until  length(fil.fio) <29 ;

WriteLn('Введите возраст');
 readLN(Fil.Vozr);
 {проверка ввода правельного параметра пола}
repeat 
WriteLn('Вседите пол M/G');
 readLn(p);
 case p of
	'M','m':Fil.pol:=(true);
	'G','g':Fil.pol:=(false);
	else writeLn('Ошибка Ввода')
 end;
until (p='m') or (p='M') or (p='G') or (p='g');


write(f,fil)   ; {запись в файл}
writeLn('нажмите ESC чтоб закончить ввод');
until readkey = #27; {выход из пункта по ESC}
end;
{вывод файла}
2:begin
ClrScr;
gotoxy(1,2);write('№');
gotoxy(4,2);write('ФИО');
gotoxy(34,2);write('Адрес');
gotoxy(64,2);write('Возраст'); 
gotoxy(72,2);writeLn('Пол');

while not Eof(f) do 
	begin
	 ind:=ind+2;
	 Read(f, fil); {чтение из файла}
	 gotoxy(1,ind);write((ind-2)/2:2:0); {номер записи (:2:0) маска для вывода}
	 gotoxy(4,ind);write(fil.fio); 
	 gotoxy(34,ind);write(fil.Dom_ad); 
	 gotoxy(64,ind);write(Fil.Vozr);
	 gotoxy(72,ind);
	 if Fil.pol then write('M') else write('G');
	end;
end;

3:begin
ClrScr;
gotoxy(1,2);write('№');
gotoxy(4,2);write('ФИО');
gotoxy(34,2);write('Адрес');
gotoxy(64,2);write('Возраст'); 
gotoxy(72,2);writeLn('Пол');

while not Eof(f) do 
	begin
	 Read(f, fil);
	 if (not (Fil.pol)) and (Fil.Vozr>16) then
	 begin
	  ind:=ind+2;
	  gotoxy(1,ind);write((ind-2)/2:2:0);
	  gotoxy(4,ind);write(fil.fio); 
	  gotoxy(34,ind);write(fil.Dom_ad); 
	  gotoxy(64,ind);write(Fil.Vozr);
	  gotoxy(72,ind);
	  if Fil.pol then write('M') else write('G');
	 end;
	end;
end;

4:begin
ClrScr;
gotoxy(1,2);write('№');
gotoxy(4,2);write('ФИО');
gotoxy(34,2);write('Адрес');
gotoxy(64,2);write('Возраст'); 
gotoxy(72,2);writeLn('Пол');
while not Eof(f) do 
	begin
	 ind:=ind+2;
	 Read(f, fil);
	 gotoxy(1,ind);write((ind-2)/2:2:0);
	 gotoxy(4,ind);write(fil.fio); 
	 gotoxy(34,ind);write(fil.Dom_ad); 
	 gotoxy(64,ind);write(Fil.Vozr);
	 gotoxy(72,ind);
	 if Fil.pol then write('M') else write('G');
	end;
WriteLn;
WriteLn('Введите номер редактируемой записи');
readLn(flag1);
Seek(f,flag1-1);
Writeln('Введите новый адрес');
readLn(fil.Dom_ad);{изменение адреса}
write(f,fil);	{запись измененного поля}}
end;

end;

close(f);{закрыть файл}
writeLn;
writeLn('нажмите ESC чтоб закончить работу');
writeLn('для продолжения работы любую клавишу');
until readkey = #27;
end.
Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Если репа превышает 1000, можете быть уверены, Вас не обманут. Сомнительно, если помощь предлагает чел, у которого репа < 0
если репа > 1000 пора звать бабку
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Старый 15.10.2015, 10:55   #14
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Комментарии в разделе var порадовали.

Если бы с фото девушек, я б тоже взялся. Да где таких найти-то?
Чтоб 17, да еще и девица?
ZX Spectrum-128 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пожалуйста, с заданием на с. witalikcoral Помощь студентам 15 11.07.2015 09:23
помогите пожалуйста с заданием Триш Паскаль, Turbo Pascal, PascalABC.NET 8 19.05.2015 23:50
Помогите пожалуйста с заданием system1 C# (си шарп) 1 08.11.2013 08:35