Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
 Аватар для vladis23
13 / 13 / 10
Регистрация: 25.05.2015
Сообщений: 554

Вывести информацию о сотрудниках, чей оклад выше среднего

05.04.2016, 00:14. Показов 2273. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сделать меню программы которое входит в него: Ввод данных в текстовый файл, чтение из текстового файла, добавление записи в текстовый файл, вывод результатов и выход.
В текстовом файле должна быть следующая информация: Фамилия, Год рождения, Оклад сотрудника
Вывести информацию о сотрудниках:
1) чей оклад выше среднего
2) вывести информацию о сотрудниках чей возраст от 40 до 50 лет.
Причина не получается считать с текстового файла, буду очень любезен вашей помощи
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
program office;
uses crt;
type
Toffice = record
FSurname:string[15];
FData:word;
Oklad:double;
end;
Var
Mas:array [1..20] of Toffice;
F:text;
Zap:Toffice;
n:integer;
vibor:integer;
procedure vvod;
var
i:integer;
begin
Assign(f,'office.txt');
Rewrite(f);
writeln('Введите количество записей');
readln(n);
for i:=1 to n do
begin
writeln('Введите ',i,' сотрудника');
writeln('Введите фамилию сотрудника');
readln(Zap.FSurname);
writeln('Введите год рождения');
readln(Zap.FData);
writeln('Введите оклад сотрудника');
readln(Zap.Oklad);
writeln(f,i:3,Zap.FSurname:15,'  ',Zap.FData,' ',Zap.Oklad);
  
end; 
close(f);
end;
procedure reading;
var i:integer;
begin
assign(f,'office.txt');
reset(f);
i:=1;
while not (eof(f)) do begin
readln(f,Mas[i].FSurname,mas[i].FData,mas[i].Oklad);
i:=i+1;
end;
writeln(f,i:3,Mas[i].FSurname:15,'  ',MAs[i].FData,' ',mas[i].Oklad);
close(f);
end;
 
 
begin
Writeln('1 - Ввод данных с клавиатуры');
Writeln('2 - Чтение данных с файла');
Writeln('3 - Добавление записи');
Writeln('4 - Вывод чей оклад выше среднего');
Writeln('5 - Вывод возраста сотрудника от 40 до 50 лет');
Writeln('6 - Выход');
readln(vibor);
while vibor<6 do
begin
case vibor of
1:vvod;
2:reading;
3:writeln('3sds');
4:writeln('4asds');
5:writeln('5esds');
end;
Writeln('1 - Ввод данных с клавиатуры');
Writeln('2 - Чтение данных с файла');
Writeln('3 - Добавление записи');
Writeln('4 - Вывод чей оклад выше среднего');
Writeln('5 - Вывод возраста сотрудника от 40 до 50 лет');
Writeln('6 - Выход');
readln(vibor);
end;
 
 
 
end.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.04.2016, 00:14
Ответы с готовыми решениями:

Вывести информацию о сотрудниках чей возраст от 40 до 50 лет
Сделать меню программы которое входит в него: Ввод данных в текстовый файл, чтение из текстового файла, добавление записи в текстовый файл,...

Вывести фамилии и должности тех, чей оклад ниже среднего по предприятию
Сформировать файл, содержащий N записей о работниках предприятия. Записи должны содержать следующие сведения: ФИО, оклад, должность....

Вывести фамилии сотрудников, имеющих оклад выше среднего
Ошибку выдает не понимаю в чем . #include &lt;stdio.h&gt; #include &lt;string.h&gt; main() { const int fio=20, year =5, pay =7, ...

3
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.04.2016, 10:47
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Чтение файла по Паскалевски(в .net наверняка есть свои фишки)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
procedure reading;
var i:integer;
    s:string;
begin
assign(f,'office.txt');
reset(f);
while not (eof(f)) do
 begin
  readln(f,s);//читаем строку
  s:=trim(s)+' ';//убираем пробелы в конце и начале+1 пробел в конец
  while pos('  ',s)>0 do//удалим лишние пробелы
  delete(s,pos('  ',s),1);//в апострофах по 2 пробела
  i:=strtoint(copy(s,1,pos(' ',s)-1));//номер
  delete(s,1,pos(' ',s));//удалим
  Mas[i].FSurname:=copy(s,1,pos(' ',s)-1);//фамилия
  delete(s,1,pos(' ',s));//удалим
  mas[i].FData:=strtoint(copy(s,1,pos(' ',s)-1));//дата
  delete(s,1,pos(' ',s));//удалим
  mas[i].Oklad:=strtoint(copy(s,1,pos(' ',s)-1));//оклад
  writeln(i:3,Mas[i].FSurname:15,'  ',MAs[i].FData,' ',mas[i].Oklad);//вывод
 end;
close(f);
end;
0
 Аватар для vladis23
13 / 13 / 10
Регистрация: 25.05.2015
Сообщений: 554
05.04.2016, 17:41  [ТС]
Puporev, большое спасибо
0
 Аватар для vladis23
13 / 13 / 10
Регистрация: 25.05.2015
Сообщений: 554
07.04.2016, 18:36  [ТС]
Сделать меню программы которое входит в него: Ввод данных в текстовый файл, чтение из текстового файла, добавление записи в текстовый файл, вывод результатов и выход.
В текстовом файле должна быть следующая информация: Фамилия, Год рождения, Оклад сотрудника
Вывести информацию о сотрудниках:
1) чей оклад выше среднего
2) вывести информацию о сотрудниках чей возраст от 40 до 50 лет.
Спасибо большое работает считывание, но у меня не работает выводы 1 и 2. При выводе выводит средний оклад Nan
Буду очень любезен вашей помощи
Вот сам код:
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
program office;
uses crt;
type
Toffice = record
FSurname:string[15];
FData:word;
Oklad:double;
end;
Var
Mas:array [1..20] of Toffice;
F:text;
Zap:Toffice;
n:integer;
vibor:integer;
procedure vvod;
var
i:integer;
begin
Assign(f,'office.txt');
Rewrite(f);
writeln('Введите количество записей');
readln(n);
for i:=1 to n do
begin
writeln('Введите ',i,' сотрудника');
writeln('Введите фамилию сотрудника');
readln(Zap.FSurname);
writeln('Введите год рождения');
readln(Zap.FData);
writeln('Введите оклад сотрудника');
readln(Zap.Oklad);
writeln;
writeln(f,i:3,Zap.FSurname:15,'  ',Zap.FData,' ',Zap.Oklad);
  
end; 
close(f);
end;
procedure reading;
var i:integer;
    s:string;
begin
assign(f,'office.txt');
reset(f);
while not (eof(f)) do
 begin
  readln(f,s);//читаем строку
  s:=trim(s)+' ';//убираем пробелы в конце и начале+1 пробел в конец
  while pos('  ',s)>0 do//удалим лишние пробелы
  delete(s,pos('  ',s),1);//в апострофах по 2 пробела
  i:=strtoint(copy(s,1,pos(' ',s)-1));//номер
  delete(s,1,pos(' ',s));//удалим
  Mas[i].FSurname:=copy(s,1,pos(' ',s)-1);//фамилия
  delete(s,1,pos(' ',s));//удалим
  mas[i].FData:=strtoint(copy(s,1,pos(' ',s)-1));//дата
  delete(s,1,pos(' ',s));//удалим
  mas[i].Oklad:=strtoint(copy(s,1,pos(' ',s)-1));//оклад
  writeln(i:3,Mas[i].FSurname:15,'  ',MAs[i].FData,' ',mas[i].Oklad);//вывод
 end;
close(f);
end;
 
procedure adding;
var i:integer;
begin
Append(f);
Write('Сколько записей добавить? n=');
readln(n);
for i:=1 to n do 
with Zap do begin
write('Введите фамилию: ');readln(FSurname);
Write('Введите год рождения: ');Readln(FData);
Write('Введите оклад сотрудника: ');Readln(Oklad);
writeln;
writeln(f,i:3,Zap.FSurname:15,'  ',Zap.FData,' ',Zap.Oklad);
writeln(i:3,Zap.FSurname:15,'  ',Zap.FData,' ',Zap.Oklad);
end;
close(f);
end;
procedure maxoklad;
var k,i:integer;
S:real;
srednee:real;
begin
S:=0;
for i:=1 to n do 
begin
S:=S+Zap.Oklad;
writeln(s);
end;
srednee:=s/n;
writeln('Средний оклад =',srednee:4:2);
end;
 
begin
Writeln('1 - Ввод данных с клавиатуры');
Writeln('2 - Чтение данных с файла');
Writeln('3 - Добавление записи');
Writeln('4 - Вывод чей оклад выше среднего');
Writeln('5 - Вывод возраста сотрудника от 40 до 50 лет');
Writeln('6 - Выход');
readln(vibor);
while vibor<6 do
begin
case vibor of
1:vvod;
2:reading;
3:adding;
4:maxoklad;
5:writeln('5esds');
end;
Writeln('1 - Ввод данных с клавиатуры');
Writeln('2 - Чтение данных с файла');
Writeln('3 - Добавление записи');
Writeln('4 - Вывод чей оклад выше среднего');
Writeln('5 - Вывод возраста сотрудника от 40 до 50 лет');
Writeln('6 - Выход');
readln(vibor);
end;
 
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.04.2016, 18:36
Помогаю со студенческими работами здесь

Определить средний стаж работы и вывести все сведения о сотрудниках, стаж которых выше среднего
Определить средний стаж работы и вывести все сведения о сотрудниках, стаж которых выше среднего.

Определить средний стаж работы и вывести все сведения о сотрудниках, стаж которых выше среднего.
Фамилия Имя Отчество Должность Пол Дата приема на работу Определить средний стаж работы и вывести все сведения о сотрудниках,...

Вывести на экран фамилия всех лиц, чей оклад превышает $9000
Не могу понять в чём проблема. Задача: Дан текстовый файл, имеющий структуру «Фамилия И.О. - $оклад». Вывести на экран фамилия всех...

Структуры: посчитать количество заводов, где средний оклад по заводу выше среднего по всем заводам
Информация по N заводам города задается строкой следующего вида: фамилия, средний возраст, специальность, средний оклад. Ввести...

Включить информацию о студентах, чей средний балл меньше среднего балла группы
Никак не могу найти ошибку в программе.Требуется записать ФИО, оценки по русскому и математике в файл dan.dat,составить список учебной...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru