Есть код на Паскале,переведите,пожалуйста, в Си,кого не затруднит. Заранее благодарен.
| Код |
uses crt; type ludi=record fam,name,znak:string[15]; dat:array[1..3] of integer; end; const mas:array[1..6] of string[30]=('Familia','Imya','Znak zodiaka','Chislo','Mesyac','God'); mas1:array[1..6] of string[30]=('Vvedite familiu:','Vvedite imya:','Vvedite znak zodiaka:', 'Vvedite chislo:','Vvedite mesyac:','Vvedite god:'); l=12; Var key:char; f:file of ludi; buf:ludi; Procedure out(fl:boolean); var i,k:integer; flag:boolean; Procedure vivod; begin with buf do begin write(fam:l+1); write(name:l+1); write(znak:l+1); write(dat[1]:l+1); write(dat[2]:l+1); writeln(dat[3]:l+1); end; end;{of vivod} begin assign(f,'8.txt'); reset(f); if ioresult=2 then begin assign(f,'8.txt'); rewrite(f); end; flag:=false; if fl then begin write('Vvedite N mesyaca, inform. o rodivshixsya v kotoriy nado vivesti:'); readln(k); writeln; end; for i:=1 to 6 do write(mas[i]:l); writeln; while not eof(f) do begin read(f,buf); with buf do if not(fl) then vivod else if (fl)and(dat[2]=k)then begin vivod; flag:=true; end; end; if (fl) and not(Flag) then writeln('V spiske rodiv-sya v ',k,' mesyac net.'); close(f); end;{of out} Procedure vvod; begin with buf do begin write(mas1[1]);readln(fam); write(mas1[2]);readln(name); write(mas1[3]);readln(znak); write(mas1[4]);readln(dat[1]); write(mas1[5]);readln(dat[2]); write(mas1[6]);readln(dat[3]); end; write(f,buf); close(f); end;{of vvod} begin clrscr; out(false); writeln; writeln('Dob. zap. -Enter'); key:=readkey; case key of #8:begin assign(f,'8.txt'); rewrite(f); close(f); out(false); readkey; end; #13:begin repeat assign(f,'8.txt'); reset(f); seek(f,filesize(f)); vvod; writeln('Vvesti ese-ENTER, dalee-lubaya klavisha.'); key:=readkey; until key<>#13; writeln; out(false); readkey; end; #27:halt(1); end;{of case} writeln; out(true); readkey; end.
|
Вот условие: Создать типизированный файл, запись которого имеет следующую структуру: фамилия, имя, знак Зодиака, дата рождения (массив из трех чисел). Вывести на экран информацию о людях, родившихся в месяц, значение которого вводится с клавиатуры. Если таких людей нет, то вы-дать на дисплей соответствующее сообщение. Ввод файла и его обработку оформить в виде от-дельных подпрограмм.
|