В файле записаны данные об учениках ФИО Дата рождения домашний адрес телефон Требуется: 1 Распечатать список учеников. 2 Определить фамилии самого старшего и самого младшего учеников. 3 Сформировать файл, содержащий фамилии и адреса учеников, родившихся в заданном месяце. Примечание: С данными об учениках работать как с записями. В программе использовать процедуры и функции. Пример записи данных в файле об одном ученике Петров Петр Петрович 3.06.1985 пр.Ветеранов,8;кв34 44444
GLuk
30.11.2003 21:18
А что конкретно у тебя не получается?? Неужели все??
Fakir
30.11.2003 21:46
Вообщем щас уже кое че получилось, но ещё вопрос есть '1986' типа string, надо перевести её чтобы можно было сравнивать с другими числами.
GLuk
30.11.2003 22:34
Может быть VAL тебе поможет??!! Пости код...
trminator
30.11.2003 22:46
Посмотри процедуру val
Fakir
30.11.2003 23:14
program tc; var infa:array[1..10] of record name, adres, tel, date:string; end; var b,i,j,h,max:integer; d:array[1..10] of string; m:array[1..10] of string; y:array[1..10] of string; s:string; begin assign(input,'D:dok.txt'); assign(output,'D:dok1.txt'); reset(input); rewrite(output); while (not EOF) do begin b:=b+1; readln(input,s); if s='' then begin b:=0; i:=i+1; end; if b=1 then infa[i+1].name:=s; if b=2 then infa[i+1].date:=s; if b=3 then infa[i+1].adres:=s; if b=4 then infa[i+1].tel:=s; end; for j:=1 to 2 do begin d[j]:=copy(infa[j].date,1,2); m[j]:=copy(infa[j].date,3,2); if (val(d[j]))/10<1 then y[j]:=copy(infa[j].date,6,4) else y[j]:=copy(infa[j]/date,7,4); end; for j:=1 to 2 do if y[j]<y[j+1] then h:=j else h:=y[j+1]; write(output,'CaMbIu CTaPLLIuu y4eHuK',infa[h].date); end.
Файл, из которого считываю
Цитата
Семенов Константин Ярославович 12.01.1986 ул.Парковая,2;кв45 55555
Трутнев Иван Сергеевич 24.05.1988 ул.Студенческая,10;кв66 66666
Петров Петр Петрович 03.06.1985 пр.Ветеранов,8;кв34 44444
if (val(d[j]))/10<1 -- здесь выдает ошибку Error in expression Ещё вопрос: какая ф-ция используется для распечатывания; Че в проге можно заменить процедурами и ф-циями
trminator
30.11.2003 23:39
Я имел ввиду, посмотри справку по val - там есть ее синтаксис. val - процедура, а не функция. Спрашивай, если что.
Fakir
1.12.2003 0:37
Ну так в чем там фигня то, никто не в курсе? Вроде все правильно var(d[j]), d[j]- строковая переменная, а ошибку выдает.
trminator
1.12.2003 14:55
var a: integer; err_code : integer; s : string; begin readLn(s); val(s, a, code); { <--- !!! } writeLn(a) end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.