Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
I. Исходные данные, результаты и промежуточные величины
Исходные данные. База сотрудников находится в текстовом файле. Прежде всего надо решить, хранить ли в оперативной памяти одновременно всю информацию из файла или можно обойтись буфером на одну строку. Если бы сведения о сотруднике запрашивались однократно, можно было бы остановиться на втором варианте, но поскольку поиск по базе будет выполняться более одного раза, всю информацию желательно хранить в оперативной памяти, поскольку многократное чтение из файла крайне нерационально. Максимальное количество строк файла по условию задачи ограничено, поэтому можно выделить для их хранения массив из 100 элементов. Каждый элемент массива будет содержать сведения об одном сотруднике. Поскольку эти сведения разнородные, удобно организовать их в виде структуры. Для решения этой конкретной задачи запись о сотруднике может быть просто строкой символов, из которой при необходимости выделяется подстрока с окладом, преобразуемая затем в число, но для общности и удобства дальнейшей модификации программы следует использовать структуру. В программу по условию требуется также вводить фамилии искомых сотрудников. Для хранения фамилии опишем строку символов той же длины, что и в базе. Результаты. В результате работы программы требуется вывести на экран требуемые элементы исходного массива. Поскольку эти результаты представляют собой выборку из исходных данных, дополнительная память для них не отводится. Кроме того, необходимо подсчитать средний оклад для найденных сотрудников. Для этого необходима переменная вещественного типа. Промежуточные величины. Для поиска среднего оклада необходимо подсчитать количество сотрудников, для которых выводились сведения. Заведем для этого переменную целого типа. Для описания формата входного файла будем использовать именованные константы. II. Алгоритм решения задачи очевиден: 1. Ввести из файла в массив сведения о сотрудниках. 2. Организовать Цикл вывода сведений о сотруднике: - ввести с клавиатуры фамилию; - выполнить поиск сотрудника в массиве; - увеличить суммарный оклад и счетчик количества сотрудников; - вывести сведения о сотруднике или сообщение об их отсутствии; 3. Вывести средний оклад. Необходимо решить, каким образом будет производиться выход из цикла вывода сведений о сотрудниках. Для простоты условимся, что для выхода из цикла вместо фамилии следует ввести слово end. III. Программа и тестовые примеры
|