Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
24 / 3 / 0
Регистрация: 30.11.2013
Сообщений: 48

Программа на тему Записи и процедуры

30.11.2013, 19:11. Показов 422. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите пожалуйста со следующей программой:
В банке данных о получении пособий на детей находятся три поля:
1-ое поле: ФИО рабочих
2-ое поле: количество детей
3-е поле: даты рождения (год, месяц, число) детей.
Определить, сколько пособий на своих детей получает каждый рабочий (дети старше 18 лет пособие не получают). Определить рабочего, получающего максимальное пособие.

С этой частью я справился, а вот дальше начинаются проблемы...

Запрограммировать следующие процедуры и функции:
а) поиск записи по двум любым полям, определенным в программе,
б) вывод записи,
в) добавление новой записи в конец файла,
г) удаление записей по критерию,
д) вывод файла,
е) построение диаграммы по одному из полей записи.

Я попытался сделать хотя бы только пункт а, но из этого ничего не вышло - не работает...

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
uses
  crt;
 
const
  nowadays = 2013;
  n = 10;
 
type
  datar = record 
    den: 1..31;
    mes: 1..12;
    god: 1900..nowadays;
  end;
  rabotnic = record 
    fio: string[40]; 
    koldet: 1..10; 
    data: array [1..10] of datar; 
  end;
 
var
  ftext: text;
  ftip: file of rabotnic;
  a, b: rabotnic;     
  NameMax: string;        
  i, k, pMax: Byte;
  p:boolean;
 
procedure SearchFIO;
var
  j: byte; x: string[40];
begin
  j := 0;
  Reset(ftip);
  writeln('vvedite familiyu, imya , otchestvo');
  read(x); 
  while not Eof(ftip) do 
  begin
    read(ftip, b);  
    if (b.fio = x) then begin
      writeln(b); Inc(j); end;
  end;
  if j = 0 then writeln('nichego ne naideno');
end;
 
begin
  assign(ftext, 'record.txt');
  assign(ftip, 'ftip.rec');
  {$I-} reset(ftext); {$I+}
  {if IOResult <> 0 then begin
    writeln(' "record.txt" not found, press ENTER to continue..');
    readln; 
    exit;
  end;}
  pMax := 0;
  rewrite(ftip);
  while not eof(ftext) do 
    with a do 
    begin
      read(ftext, fio, koldet);
      for i := 1 to koldet do 
        read(ftext, data[i].god, data[i].mes, data[i].den);
      readln(ftext);
      write(ftip, a);
      k := 0;
      for i := 1 to koldet do 
        if (nowadays - data[i].god) < 18 then inc(k);
      writeln('Rabochiy ', fio:40, k, ' posobiy(a)');
      if k > pMax then begin
        pMax := k;
        NameMax := fio;
      end;      
    end;
  writeln('Max kol posobij u ', NameMax);  
  ReadKey;
  repeat
  Window(1, 1, 80, 25);
  TextBackground(1);
  ClrScr;  
  p:=false;
  writeln('1=poisk zapisi po fio');
  writeln('2=poisk zapisi po kolichestvu posobiy');
  writeln('3=vivod zapisi');
  writeln('4=udalenie zapisey');
  writeln('5=vivod tipizirovannogo faila');
  writeln('6=postroit diagrammu');
  writeln('7=dobavlenie novoy zapisi v file');
  writeln('9=EXIT');
  case ReadKey of 
    '1': SearchFIO; {
      '2': ;
      '3': ;
      '4': ;
      '5': ;
      '6': ;
      '7': ;}
    '9': p:=true;
  end;
  until p;
  close(ftext);
  close(ftip);
end.
Проверял вот на этих данных:
Ivanov Ivan Ivanych 2 2004 3 3 2005 5 5
Sidorov Semen Semenych 1 2000 4 4
Petrov Petr Petrovich 2 1990 12 3 1999 7 27
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.11.2013, 19:11
Ответы с готовыми решениями:

Задание на тему-Процедуры.Описать логическую функцию IsPalindrom(K)...
Описать логическую функцию IsPalindrom(K), возвращающую True, если целый параметр K является...

Программы на тему Записи
Данные о сотрудниках содержат фамилию и оклад (целое число, превышающее 50000). Требуется занести...

программа на тему: массивы
Вариант 17. А). В одномерном массиве, состоящем из n целых элементов вычислить: 1. количество...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.11.2013, 19:11
Помогаю со студенческими работами здесь

программа на тему строки!
помогите написать прогу! Во введённом тексте заменить цифры от 0 до 9 на слова «ноль, «один», …,...

Доклад на тему "Структурное программирование. Функции и процедуры."
Мне нужно написать доклад на тему &quot;Структурное программирование. Функции и процедуры.&quot; Подскажите...

Программа на тему – Числовые типы
Программа на тему – Числовые типы. uses Crt; Var a, b, Y: Real; begin ClrScr; a:=...

Программа на тему Динамические переменные
Описать необходимые переменные и написать программу, создающую структуру данных, показанную на...

Программа на тему – Числовые типы
Программа на тему – Числовые типы. (повтор) uses Crt; Var a, b, Y: Real; begin ClrScr; a:=...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru