Автоматическое рабочее место для работника склада
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: сочинение по русскому, взаимодействие реферат
| Добавил(а) на сайт: Saltanov.
Предыдущая страница реферата | 1 2 3 4 | Следующая страница реферата
Процедура Vvodnov;
Процедура обеспечивающая вывод на экран меню «Новый товар», ввод новой
строки в базу.
Работает: Ограничивается строкой, для работы с переменными записи, выводит
на экран меню, пользователем редактируются строки меню, преобразуются, увеличивается счетчик числа строк базы на 1.
Процедура Edzapic;
Используется для редактирования записи в текущей позиции курсора листинга
перечня товаров.
Вход: Позиция
Выход: отредактированный текст в данной позиции.
Процедура Ekran;
Отображает на экране заголовок таблицы базы и заполняет таблицу, рассчитывает и отображает на экране нижнюю строку состояния базы общую
сумму, общий приход, общий расход, общее количество товаров.
Описание: Формирует окно для работы, отображает заголовок таблицы, цикл для
вывода первых двадцати строк базы в окно, обнуление счетчиков сумм, цикл на
все позиции базы, расчет сумм в этом цикле вывод результата на экран в виде
строки состояния.
Функция Vivstr;
Формирует строку по позиции в базе.
Обнуляется. Работает со строкой в массиве базы. Производит преобразование в
стринговые переменные числовых значений базы (количества цены, приход, расход), сумма формируется путем вычисления. Добавление нужными пробелами
функцией Probel.
Процедура Vivlist;
Обеспечивает формирование экрана с помощью процедуры Ekran, вывод
поясняющей строки. Подкрашивание строки в позиции курсора, опрос клавиш
курсора и служебных (для ввода новой, корректировки, удаления). Работает
следующим образом: Выполняет процедуру Ekran, прорисовывает строку
пояснения, цикл пока не нажата клавиша «влево», «вправо», «Enter», «Esc» –
опрашивает клавиатуру с помощью функции «Readkey» если нажата «Вниз» или
«Вверх» уменьшаетя или увеличивается соответственно текущий счетчик позиций
меню
Функция Vstroca;
Функция организует главное меню в верхней строке экрана.
Устанавливает параметры цвета, выводит на экран массив с переменными меню
т.е. названиями меню. Опрашивает клавиатуру на нажатие клавиши «Влево»,
«Вправо», «Enter» выполняет соответствующие этим клавишам команды. Затем
если было нажато «Esc» функция принимает значение меньшее 1 и затем в
головной программе происходит выход.
Процедура Sortirovka;
Сортирует данные по заданной колонке.
Организуется цикл на все позиции массива базы. База переносит данные в
стороннюю базу. Выбирает столбец сортировки сравнивает со сторонней базой
если больше то переносит в стороннюю базу запоминает позицию. В конце цикла
переставляет позиции основной базы.
Описание алгоритма работы программы.
Очищается экран выводится меню для указания месторасположения и названия
файла базы по умолчанию это «С:base.dat» затем проверяется создан ли файл
если нет то создается. Организуется цикл до конца файла переписываются
данные в массив базы. Обнуляются переменные. организуется меню по данным
функции Vstroka затем происходи выбор с помощью оператора Case по которому
осуществляются переходы. В случае «1» прихода функции Vstroka выводится
листинг данных базы и заголовков, организация движения курсора по строкам
базы при помощи процедуры Vivlist. В случае результата «2» формируется окно
с тенью «Пришло», заполняется окно с помощью процедуры Prishlo по текущей
позиции курсора экрана и листинга. «3» формируется окно «Расход», заполняется с помощью процедуры Ushlo. «4» организуется окно «Найти
наименование» вводится текст с помощью функции Edtext. сравнивается с
наименованиями базы если находит устанавливает курсор на это место. Если не
находит выводит сообщение и устанавливает на конечную позицию. «5» Окно
сортировки. Выполняется процедура Sortirovka. При других значениях функции
Vstroca происходит запись файла базы, закрытие файла.
II. Алгоритм программы.
IV. Текст программы.
Program kursovoi;
uses crt;
type basskl = record naim:string[40]; kol:integer; price:single; kol_p:integer; date_p:string[8]; kol_r:integer; date_r:string[8]; end;
var f:file of basskl;
List:array[0..255] of basskl;
Schet:Integer; curs,stran,i,mcurs:integer; k:char;
Res,da,er,seter:Integer;
Tx,files:String; key:boolean; const mnu:array[1..6] of string[13]=(
' Ввод ',
' Приход ',
' Расход ',
' Найти ',
' Сортировка ',
' Выход ');
function Probel(Text:String;Len:Integer):String; begin
While length(Text)'); writeln(' Дата прихода ДД.ММ.ГГ->'); val(Cifri(25,2,'',6,key),kl,er); if NOT key then exit; kol_p:=kol_p+kl; kol:=kol+kl;
Date_p:=Cifri(25,3,'',8,key); if NOT key then exit; end; end;
procedure Ushlo(posiz:integer); var er:integer; key:Boolean; kl:integer; begin clrscr;
With List[Posiz] do begin writeln(' Расход'); writeln(' Количество ->'); writeln(' Дата расхода ДД.ММ.ГГ->'); val(Cifri(25,2,'',6,key),kl,er); if NOT key then exit; kol_r:=kol_r+kl; kol:=kol-kl;
Рекомендуем скачать другие рефераты по теме: тезис, решебник 10 11 класс.
Категории:
Предыдущая страница реферата | 1 2 3 4 | Следующая страница реферата