0 / 0 / 0
Регистрация: 04.10.2015
Сообщений: 18
1

Вывести: список сотрудников, возраст которых не менее K лет и не превышает L лет

17.05.2016, 16:22. Показов 4505. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
20.Дан список N сотрудников с указанием фамилии, точной даты рождения, стажа работы и заработной платы. Вывести: список сотрудников, возраст которых не менее K лет и не превышает L лет, упорядоченный по алфавиту фамилий (в полном формате, с указанием всех данных по каждому сотруднику).
0
17.05.2016, 16:22
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.05.2016, 16:22
Ответы с готовыми решениями:

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

Вывести на экран сотрудников мужского пола возраст которых выше 45 лет
Дан список сотрудников некой организации, вывести на экран сотрудников мужского пола возраст которых выше 45 лет. Исходные данные...

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

10
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
18.05.2016, 09:14 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Программа проверена
Задайте число N (Оно в программе), а также числа K и L
(они тоже в программе).
программа считывает файл 1.txt, обрабатывает его и
заносит данные в файл 2.txt.

Вид записи в файле 1.txt:
Иванов, 11.05.1980, 22, 40000
Петров, (и тд. )
примечание:
Запятые ОБЯЗАТЕЛЬНЫ. Число пробелов любое...

QBasic/QuickBASIC
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
CLS
DIM God AS STRING
DIM Go0 AS STRING
CONST N = 3
 
TYPE A
   NM AS STRING * 20
   DR AS STRING * 10
   ST AS INTEGER
   ZP AS SINGLE
END TYPE
DIM M(1 TO N) AS A
 
OPEN "1.txt" FOR INPUT AS #1
OPEN "2.txt" FOR OUTPUT AS #2
 
K = 20
L = 40
Go0 = MID$(DATE$, 7, 4)
 
FOR i = 1 TO N
   INPUT #1, M(i).NM, M(i).DR, M(i).ST, M(i).ZP
NEXT i
 
FOR i = 1 TO N - 1
FOR j = i TO N
   IF M(i).NM > M(j).NM THEN
      SWAP M(i).NM, M(j).NM
      SWAP M(i).DR, M(j).DR
      SWAP M(i).ST, M(j).ST
      SWAP M(i).ZP, M(j).ZP
   END IF
NEXT j, i
 
FOR i = 1 TO N
   God = MID$(M(i).DR, 7, 4)
   x = VAL(Go0) - VAL(God)
   IF x >= K AND x <= L THEN
      PRINT #2, M(i).NM, M(i).DR, M(i).ST, M(i).ZP
   END IF
NEXT i
 
END
0
0 / 0 / 0
Регистрация: 04.10.2015
Сообщений: 18
20.05.2016, 13:20  [ТС] 3
geh, программа не работает. Когда надо вводить фамилии?
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
20.05.2016, 13:28 4
укыневноаглпдр
Вы задали величину N?
У меня в программе N=3 (это когда я производил отладку программы)
Поставьте свое число, например N=20 или 100
0
0 / 0 / 0
Регистрация: 04.10.2015
Сообщений: 18
23.05.2016, 14:45  [ТС] 5
geh, добрый день, можете описать ход решение в форме комментария в программе, для защиты?)
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
23.05.2016, 17:18 6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Строки 6-11.
Вводится пользовательский тип данных
TYPE A * *
NM AS STRING * 20 - (фамилия и инициалы. Отведено 20 байт)
DR AS STRING * 10 - (дата рождения 10 байт) * *
ST AS INTEGER - (стаж)
ZP AS SINGLE - (заработная плата)
END TYPE
Строка 12
Объявляется массив М() для хранения наших данных
Строки 14-15
Открываются два файла. Один для чтения. Другой для записи.
Строки 17-18
K = 20 (минимальный возраст)
L = 40 (максимальный возраст)
Строка 19
Go0 = MID$(DATE$, 7, 4) - программа считывает на компьютере
текущую дату (функция DATE$), формат типа 22-05-2016.
Но поскольку день и месяц нам не нужны, то программа из этой
даты вытаскивает лишь год (последние 4 символа)
Строки 21-23
Программа считывает строки из файла #1 и заполняет
массив М()
Строки 25-33
Сортировка данных по алфавиту
Строки 35-41
1. Определяется год рождения (переменная God)
2. А также возраст x = VAL(Go0) - VAL(God)
(Go0 - текущий год (2016))
примечание: вообще говоря его можно было и не вычислять
а сразу ввести в программу. Но я показал как его можно вычислить.
3.
Происходит запись в файл. Вот строки кода
IF x >= K AND x <= L THEN * * *
PRINT #2, M(i).NM, M(i).DR, M(i).ST, M(i).ZP * *
END IF
В целом все. Будут вопросы - задавайте
Человек, который молчит. (Не спрашивает)
Либо знает все, либо - ничего...
0
0 / 0 / 0
Регистрация: 04.10.2015
Сообщений: 18
24.05.2016, 15:00  [ТС] 7
geh, а можете написать так, чтобы при запуске программы надо было все данные ввести с клавиатуры?
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
24.05.2016, 15:26 8
укыневноаглпдр
Да. Это можно сделать. Но вы устанете вводить
эти данные с клавиатуры, либо собьетесь.
Понимаете, бейсик в этом случае заставит все вводить
с самого начала...
0
0 / 0 / 0
Регистрация: 04.10.2015
Сообщений: 18
24.05.2016, 18:03  [ТС] 9
geh, да, я понимаю, просто это нужно для защиты работы...
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
24.05.2016, 18:46 10
1. Удалите в программе строку 14. Открывать файл для
чтения нам больше не понадобится.
2. Удалите строки 21-23. Там как раз идет чтение из файла.
а на их место поставьте прилагаемый ниже код. Это ручной
ввод данных.
3. Все. Больше ничего менять не надо.

QBasic/QuickBASIC
1
2
3
4
5
6
FOR i = 1 TO N
   INPUT "NAME"; M(i).NM
   INPUT "DEN POSHDENIA"; M(i).DR
   INPUT "STASH"; M(i).ST
   INPUT "ZARPLATA"; M(i).ZP
NEXT i
0
0 / 0 / 0
Регистрация: 04.10.2015
Сообщений: 18
25.05.2016, 19:34  [ТС] 11
geh, огромное спасибо
0
25.05.2016, 19:34
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.05.2016, 19:34
Помогаю со студенческими работами здесь

Вывести список работников, стаж работы которых превышает заданное число лет
Работник: ФИО, должность, стаж, Зарплата. Вывести: а) список работников, стаж работы которых превышает заданное число лет б) список...

Структура Worker, вывести список работников,стаж работы которых превышает заданное число лет
Помогите ,написать программу,пожалуйста! worker: Фамилия и инициалы,должность,год поступления на работу,зарплата,создать массив...

Список абитуриентов, сдавших вступительные экзамены на оценки 4 и 5 и возраст менее 20 лет
Привет всем!Помогите сделать такую вот задачку: написать с помощью файлового типа данных список абитуриентов, сдавших вступительные...

Дан список сотрудников: фамилия, возраст, должность, оклад. Оставить в списке только тех, кто не достиг возраста 60 лет.
Пожалуйста помогите решить задачи в паскаль вот одна из них. Дан список сотрудников: фамилия, возраст, должность, оклад. Оставить в...

Найти среднюю стоимость автомобилей, "возраст" которых превышает 6 лет
Известны стоимость и &quot;возраст&quot; каждой из 20-ти моделей легковых автомобилей. Найти среднюю стоимость автомобилей, &quot;возраст&quot;...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Использование кэша Laravel - полный гайд
bytestream 18.02.2025
Кэширование - один из наиболее эффективных способов повышения производительности веб-приложений. В современном мире, где скорость загрузки страниц напрямую влияет на удержание пользователей и. . .
Создаем REST API в Laravel с аутентификацией через Passport
bytestream 18.02.2025
Разработка современных веб-приложений все чаще требует создания надежного и хорошо структурированного API. REST API стал стандартом де-факто для построения взаимодействия между клиентской и серверной. . .
Пайплайны в Laravel - полный гайд
bytestream 18.02.2025
Разработка современных веб-приложений часто требует обработки сложных процессов, состоящих из множества последовательных шагов. Например, при создании системы комментариев может потребоваться. . .
Как правильно использовать @required в Symfony
bytestream 18.02.2025
При разработке приложений на Symfony мы часто сталкиваемся с необходимостью внедрения зависимостей. Фреймворк предоставляет несколько способов управления этим процессом, и одним из таких инструментов. . .
Система безопасности в Laravel: возможности и примеры
Wired 18.02.2025
Каждый день появляются новые виды атак и уязвимостей, которые могут поставить под угрозу конфиденциальные данные пользователей и функционирование всей системы. В этом контексте выбор надежного. . .
Давайте сравним Django и Laravel
Wired 18.02.2025
Django и Laravel - два мощных инструмента, которые часто сравнивают между собой. Оба фреймворка предлагают разработчикам богатый набор возможностей для создания масштабируемых веб-приложений, но. . .
Laravel или React - что лучше?
Wired 18.02.2025
В разработке веб выбор правильного инструмента часто определяет успех всего проекта. Особенно интересным представляется сравнение Laravel и React - двух популярных технологий, которые часто. . .
Laravel 11: новые возможности, гайд по обновлению
Wired 18.02.2025
Laravel 11 - это новая масштабная версия одного из самых популярных PHP-фреймворков, выпущенная в марте 2024 года. Эта версия продолжает традицию внедрения передовых технологий и методологий. . .
Миграции в Laravel
Wired 18.02.2025
Разработка веб-приложений на Laravel неразрывно связана с управлением структурой базы данных. При работе над проектом часто возникает необходимость вносить изменения в схему базы данных - добавлять. . .
Аутентификация в Laravel
Wired 18.02.2025
В современном мире веб-разработки безопасность пользовательских данных становится критически важным аспектом любого приложения. Laravel, как один из самых популярных PHP-фреймворков, предоставляет. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru