Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 15.02.2012
Сообщений: 5
1

Распечатать фамилии парней старше 20 лет и чей рост более 180 см

16.02.2012, 16:30. Показов 1356. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
из структуры записи с полями пол, фамилия, возраст, рост распечатать фамилии парней старше 20 лет и фамилию и возраст тех, чей рост более 180 см.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2012, 16:30
Ответы с готовыми решениями:

Из списка группы вывести фамилии студентов не старше 18 лет
Чесно скажу что то я не сильно понемаю мне надо задать Из списка группы вывести фамилии...

Из списка группы вывести фамилии студентов не старше 18 лет
Помогите пожалуйста: Из списка группы вывести фамилии студентов не старше 18 лет Чесно скажу я...

Текстовые файлы. Выбрать фамилии тех учеников, чей рост больше 170 см
напишите программный код!Для набора в баскетбольную команду среди учеников 7 класса выбрать фамилии...

Вывести фамилии всех сотрудников, чей стаж работы не менее 3-х лет и возраст не более 25 лет
DELPHI HEILP Народ, спасайте, я тупой , как валенок в программировании , но надо сделать такую...

4
135 / 132 / 30
Регистрация: 08.12.2009
Сообщений: 565
Записей в блоге: 3
16.02.2012, 16:53 2
Записи
Запись представляет собой набор элементов разных типов, каждый из которых имеет свое имя и называется полем записи. Тип записи конструируется следующим образом:

record список полей1: тип1; ... список полейN: типN; end

Последний символ ";" не является обязательным. Например:

Pascal
1
2
3
4
5
6
7
8
9
10
type 
  Date=record
    Day: 1..31;
    Month: (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
    Year: Integer;
  end;
 
Теперь можно объявить переменные типа Date:
 
var d1,d2: Date;
Чтобы получить доступ к полям записи, следует воспользоваться точечной нотацией, указав имя переменной-записи и поле, разделенные точкой:

Pascal
1
2
3
d1.Day:=9;
d1.Month:=Sep;
d1.Year:=2004;
Как и для массивов, можно скопировать содержимое полей одной переменной-записи в другую:

Pascal
1
d2:=d1;
-Вот записи.




Pascal
1
Assign(f,name)
процедура f - переменная файлового типа , name - string связывает файловую переменную f с файлом с именем name .
-Вот процедура для связи с текстовым файлом.


Pascal
1
writeln(переменная);
-функция для распечатывания.

Читай и приступай)))
1
0 / 0 / 0
Регистрация: 15.02.2012
Сообщений: 5
16.02.2012, 17:01  [ТС] 3
Спасибо большое))
0
0 / 0 / 0
Регистрация: 15.02.2012
Сообщений: 5
01.03.2012, 16:29  [ТС] 4
Можете полностью решить?
0
135 / 132 / 30
Регистрация: 08.12.2009
Сообщений: 565
Записей в блоге: 3
01.03.2012, 17:07 5
В общем вот будет начало твоей задачи:
Pascal
1
2
3
4
5
6
7
type 
  spi=record
    pol: 1..2;
    family: string
    vozr: Integer;
    rost:integer;
  end;
Вот похожая задача с немного иным условием:
Создать программу, которая включает меню из 4 пунктов.
1. Создать файл записи содержащий 2 поля: Фамилию и номер.
2. Вывести файл на экран
3.напечатать фамилии, чей номер содержит цифру 7.
4. Выход. Реализовать в процедурах, которую поместить в модуль.
Код модулю:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
unit mod2;
interface
type m = record
         family:string[20];
         number:integer;
         end;
tfile=file of m;
var st:m;
nam,ch1: array[1..100] of string;
ch: array[1..100] of integer;
stri:string;
n:integer;
procedure file1(var f:tfile);
procedure vivod(var f:tfile);
procedure poisk;
implementation
procedure file1(var f:tfile);
var i:integer;
    
begin
 assign(f,'input.txt');
 rewrite(f);
 write('Сколько записей n=');
 readln(n);
 for i:=1 to n do
  begin
  write('имя',i,'-ого человека: ');
  readln(st.family);nam[i]:=st.family;
  write('номер',i,'-ого человека: ');
  readln(st.number);ch[i]:=st.number;
  write(f,st);
 end;
 close(f);
 end;
 procedure vivod(var f:tfile);
 var st:m;
 begin
  assign(f,'input.txt');
  reset(f);
  while not eof(f) do
   begin
    read(f,st);
    writeln(st.family,' ',st.number);
   end;
 close(f);
 end;
 procedure poisk;
 var i,j:integer;
 begin
  for i:=1 to n do 
   begin
    ch1[i]:=inttostr(ch[i]);
    stri:=ch1[i];
     for j:=1 to length(stri) do
      begin
       if stri[j]='7' then begin writeln(nam[i]); break; end;
      end;
   end;   
 end;
end.
Код основной программы:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses mod2;
var m:integer;
    f:tfile;
begin
repeat
writeln('1-создать файл');
writeln('2-вывести файл');
writeln('3-напечатать фамилию, содержащую цифру 7');
writeln('4-выход');
readln(m);
case m of
1:file1(f);
2:vivod(f);
3:poisk;
4:exit;
end;
until m=4;
end.
Если вы будете достаточно внимательны, то надесь вы выберете из этого полезное для своей программы. Нужные для вас строки кода нахходятся в основном в модуле.
P.S. Извините что не помог вам её полностью составить, просто времени нету.
1
01.03.2012, 17:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.03.2012, 17:07
Помогаю со студенческими работами здесь

Разместить в массиве NR номера тех студентов, чей рост меньше 180 см
. Проведено измерение роста 70 студентов. Данные записаны в массиве ROST. Разместить в массиве NR...

Работа с файлами: найти сотрудников, чей возраст старше 45 или стаж превышает 20 лет
работа с файлами поместить в файл n записей, содержащих сведения о сотрудниках: ФИО, год...

Вывести на экран фамилии всех лиц, чей рост превышает 190 см
Текст находится в текстовом файле, имеющий структуру «Фамилия И.О. – рост см – вес кг». Вывести на...

Вывести на экран фамилии всех лиц, чей рост превышает 190 см
Дан текстовый файл, имеющий структуру «Фамилия И.О. – рост см – вес кг». Вывести на экран фамилии...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru