Ведение банковских счетов юридических лиц

 

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ДАГЕСТАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Факультет Информационных Систем

Кафедра: Информационных Систем в Экономике










КУРСОВАЯ РАБОТА

по дисциплине "База данных и знаний"

на тему: "Ведение банковских счетов юридических лиц"



Выполнил:

ст-т 3 курса гр. 3162

Вердиханов А.С.

Проверил: Мурадов М..М





Махачкала 2003г.


Содержание


Введение

. Основные разделы проекта

.1 Анализ входной и выходной информации системы

.2 Инфологическая модель

.3 Разработка структур баз данных. Даталогическая модель

.4 Содержание операций обработки информации

.5 Разработка комплекса программ и средств взаимодействия с ЭВМ (меню)

.6 Тексты программы

Заключение

Список использованной литературы


Введение


Персональные компьютеры зарекомендовали себя очень удобным средством для поддержания относительно небольших баз данных индивидуального пользования.

Историческое понятие баз данных возникла как альтернатива файлов организации данных при хранении с помощью ЭВМ (на магнитных носителях). Такая организация данных была характерна для прикладного программного обеспечения на начальном этапе распространения вычислительной техники. Файловая организация предполагала хранение данных в виде совокупности файлов, ориентированных на использование какой - либо одной прикладной программы, предназначенной для решения некоторой специфической задачи. Такая не универсальность в организации информации привела к большой избыточности (дублированию) при хранении, противоречивости данных, хранящихся в различных системах.

Для файлов организации данных свойственна высокая зависимость от данных программ, так что информация о форме хранения данных скрыта в сочетании «файл - программа».

Понятие «база данных» возникло в результате стандартизации и унификации данных, универсально организованных и хранящихся с помощью ЭВМ с целью использования для многих приложений. При этом описание данных уже не скрыто в программе, а явным образом декларируется и хранится в самой базе. База данных может быть определена как структурная совокупность данных, поддерживаемых в актуальном состоянии (в соответствии объектам некоторой предметной области) и служащая для удовлетворения информационных потребностей многих пользователей. Базы данных устраняют избыточность и противоречивость данных. Для поддержания актуальности данных, хранящихся в базе, получения сводок по информационным запросам, перехода к данным и программам пользователей служат системы управления базами данных (СУБД).

Большое количество различных СУБД предоставляют пользователю самые разнообразные средства для управления данными, начиная с наглядных систем меню и кончая специальными языками программирования, доступными специалистам, далеким от программирования.

Одной из самых популярных СУБД является система "Fox Pro" созданной фирмой "Ashton - Tate".

По способу установления связей между данными различают:

реляционную

иерархическую

сетевую модели.

Реляционная модель является простейшей и наиболее привычной формой представления данных в виде таблицы. В теории множеств таблице соответствует термин отношение (relation), который и дал название модели. Для нее имеется развитый математический аппарат - реляционное исчисление и реляционная алгебра, где для баз данных (отношений) определены такие хорошо известные теоретико-множественные операции, как объединение, вычитание, пересечение, соединение и др.

Достоинством реляционной модели является сравнительная простота инструментальных средств ее поддержки, недостатком - жесткость структуры данных и зависимость скорости ее работы от размера базы данных, для многих операций, определенных в такой, может оказаться необходимым просмотр всей базы.

В настоящее время реляционные системы лучше соответствуют техническим возможностям персональных компьютеров и вполне удовлетворяют большинство пользователей. Скоростные характеристики этих СУБД поддерживаются специальными средствами ускоренного доступа к информации - индексированием баз данных. В наиболее полном пакете СУБД может иметь следующие компоненты:

Среда пользователя, дающая возможность непосредственного управления данными с клавиатуры;

Алгоритмический язык для программирования прикладных систем обработки данных, реализованный как интерпретатор. Последнее позволяет быстро создавать и отлаживать программы;

Компилятор для придания завершенной программе вида готового коммерческого продукта в форме независимого ЕХЕ-файла.

Программы-утилиты быстрого программирования рутинных операций, (генераторы отчетов, экранов, меню и других приложений).


1. Основные разделы проекта


1.1 Анализ входной и выходной информации

программирование листинг банковский счет

Для пункта ОТКРЫТИЕ СЧЕТА меню ОПЕРАЦИИ БАНКА входной информацией являются данные о новом вкладчике:

. Номер счета.

. Фамилия.

. Имя.

. Отчество.

. Адрес.

. Номер паспорта.

. Телефон.

. Сумма вклада.

Выходной: уведомление об открытии счета

Для пунктов ПРИХОД и РАСХОД меню ОПЕРАЦИИ БАНК входной информацией является:

. Номер счета.

. Сумма.

Выходной: Приходный ордер и расходный ордер соответственно

Для пунктов меню ПОИСК и ФИЛЬТРАЦИЯ входной информацией является ключ, по которому происходит поиск и фильтрация в соответствующих полях


1.2 Инфологическая модель


В базе данных отображается какая-то часть реального мира. Естественно, что полнота ее описания будет зависеть от целей создаваемой информационной системы.

Для того чтобы база данных адекватно отражала предметную область, проектировщик базы данных должен хорошо представлять себе все нюансы, присущие данной предметной области, и уметь отобразить их в базе данных. Поэтому прежде чем начинать проектирование базы данных, необходимо как следует разобраться, как функционирует предметная область, для отображения которой вы создаете БД. Предметная область должна быть предварительно описана. Для этого в принципе может использоваться и естественный язык, но его применение имеет много недостатков, основными из них является громоздкость описания и неоднозначность его трактовки. Поэтому обычно для этих целей используют искусственные формализованные языковые средства. В связи с этим под инфологической моделью (ИЛМ) понимают описание предметной области, выполненное с использованием специальных языковых средств, не зависящих от используемых в дальнейшем программных средств.

Инфологическая модель должна строиться вне зависимости от того, будете ли вы в дальнейшем использовать какую-либо СУБД или пользоваться другими программными средствами для реализации своей информационной системы.

Требования, предъявляемые к инфологической модели

Основным требованием к ИЛМ, вытекающим из ее назначения, является требование адекватного отражения предметной области.

В связи с этим язык для представления ИЛМ должен обладать достаточными выразительными возможностями для отображения явлений, имеющих место в предметной области. ИЛМ должна быть непротиворечивой. Она является единым интегрированным описанием предметной области и отображает взгляды и потребности всех пользователей системы. Не должна допускаться неоднозначная трактовка модели.

Несмотря на то, что реальный мир, отображаемый в ИЛМ, является по своей природе бесконечным, инфологическая модель является конечной, что обеспечивается четким ограничением предметной области. Тем не менее, в ИЛМ по разным причинам часто приходится вводить новые объекты. ИЛМ должна в связи с этим обладать свойством легкой расширяемости, обеспечивающим ввод новых данных без изменения ранее определенных. Тоже самое можно сказать и об удалении данных.

В связи с большой размерностью реальных инфологических моделей должна обеспечиваться возможность композиции и декомпозиции модели.

Желательно, чтобы язык спецификации ИЛМ был одинаково применим как при ручном, так и при автоматизированном проектировании информационных систем. Последнее предъявляет дополнительные требования к нему, а именно должен:

Быть вычисляемым, т.е. восприниматься и обрабатываться ЭВМ;

Использовать «дружелюбные» пользователю интерфейсы, в частности графические;

Быть независимым от оборудования и других ресурсов, которые подвержены частым изменениям;

Использовать средства тестирования ИЛМ, а также иметь аппарат для указания того, что спецификация завершена и по ней может быть выполнена генерация структур баз данных.


1.3 Разработка структур баз данных. Даталогическая модель


При автоматизированном проектировании все изменения, внесенные в ИЛМ, должны быть автоматически отражены в связанных с модифицируемым элементом компонентах банка данных.

Инфологическая модель должна легко восприниматься разными категориями пользователей. Желательно, ИЛМ строил специалист, работающий в этой предметной области, а не проектировщик систем машинной обработки данных. Если в силу определенных причин это невозможно обеспечить, то необходимо, чтобы первые могли хотя бы проверить сделанное описание, чтобы убедиться, что специфика предметной области воспринята правильно. Инфологическая модель является средством коммуникации разнообразных коллективов как конечных пользователей, так и разработчиков. Кроме того, она является ядром системы проектирования. ИЛМ содержит необходимую и достаточную информацию для дальнейшего проектирования автоматизированной системы обработки информации. Информация из ИЛМ корреспондирует со словарной системой и другими компонентами банка данных.


Компоненты инфологической модели.








Ограничения целостности

Лингвистические отношения


Центральной компонентной инфологической модели является описание объектов предметной области и связей между ними.

Описание предметной области всегда представлено в какой-то знаковой системе. Поэтому кроме отношений, присущих предметной области, возникают еще и отношения, обусловленные особенностями отображения ПО в языковой среде. Поэтому при построении ИЛМ должны учитываться такие лингвистические категории, как синонимия, омонимия, изоморфизм и др.

Кроме того, в инфологической модели должны быть отражены и алгоритмические зависимости между показателями. Обычно для этих целей используются графы взаимосвязи показателей, отражающие, какие показатели служат исходными для вычисления других. Расчетные формулы, а также алгоритмы вычислений также в каком-то виде должны быть представлены в ИЛМ. Следующим компонентом инфологической модели является описание информационных потребностей пользователей для этих целей используются специальные языковые средства. Они должны отражать тип запроса, объемно-частотные характеристики, режим использования данных и т.п.



.4 Содержание операций обработки информации


Изменение данных.

В FoxPro имеется возможность изменять данные путем присвоений или вычислений.

REPLACE [<границы>] [WHILE <условие>] [FOR <условие>] <поле!> WITH <выражение> [,<поле2> WITH <выражение>...] [ADDITIVE] [NOOPTIMIZE]

Эта команда осуществляет множественное изменение полей базы данных в соответствии с заданными выражениями, в установленных границах и при заданных условиях. Если отсутствует параметр <границы> или <условия>, изменена будет только текущая запись. Параметр ADDITIVE действует для мемо-полей и означает, что заданное <выражение> будет дописываться в конец поля. Если этот параметр опущен, то старое значение мемо-поля будет замещено <выражением>.

Фильтрация данных.

SET FILTER TO [<условие>]

Команда позволяет установить FOR-условие для всех без исключения команд обработки данных. Здесь <условие> указывает на то, какие именно записи будут доступны для обработки.

Последовательный поиск.

LOCATE [<границы>] FOR <условие> [WHILE<условие>]

Команда осуществляет последовательный поиск одной самой первой записи в базе данных, удовлетворяющей заданному FOR- условие >, среди записей, находящихся в заданных границах, и до тех пор, пока соблюдается WHILE-условие (если есть).

В случае если границы и WHILE-условие отсутствуют, поиск ведется во всем файле, начиная с первой записи. При успешном поиске указатель записей устанавливается на найденную запись, функция RECNO() равна номеру этой записи, а функция FOUNDQ, оценивающая результат поиска, возвращает значение «Истина» (.Т.). При неудачном поиске функция RECNO ( ) равна числу записей в базе плюс 1, FOUND()=.F., а функция достижения конца файла EOF( ) возвращает .Т.

CONTINUE - команда, которая продолжает поиск записей, начатые раннее командой LOCATE.

Обмен данными с базой данных.

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

SCATTER [FIELDS <поля>] [MEMO]

ТО <массив>/ТО <массив> BLANK/ BLANK/MEMVAR BLANK

Команда последовательно переносит значения полей только из текущей записи активного файла база данных в последовательные элементы одномерного массива (если указана опция <массив>) или переменные (если указано MEMVAR). Все такие переменные получат те же типы и размеры, что и поля базы данных. С опцией BLANK создаются пустые переменные.

Если массив ранее не был описан или его длина недостаточна, он будет создан командой. Если переменные ранее не существовали, они будут с теми же именами, что и соответствующие поля. Для того, чтобы СУБД могла отличить одинаковые имена полей и переменных, к последним можно обращаться с префиксом «М». Например, М->Х или М.Х для переменной X. В случае если префикса нет, СУБД сначала ищет поле с указанным именем и только если его не находит -переменную. Опция MEMO указывает на то, что и мемо-поля будут копироваться.

GATHER FROM <Macсив>/MEMVAR [FIELDS<поля>] [MEMO]

Действие команды GATHER обратно действию команды SCATTER

Команда переписывает в <поля> текущей записи активного файла базы данных элементы <массива> или одноименные переменные (опция MEMVAR), созданные ранее командой SCATTER, включая и мемо-поля (если указана опция MEMO). Типы соответствующих полей и элементов массива должны совпадать. Если отсутствует слово FIELDS, элементы переносятся в последовательные поля, начиная с первого. Если число элементов массива и полей не совпадает, лишние игнорируются.


1.5 Разработка комплекса программ и средств взаимодействия с ЭВМ (меню)


ACTIVATE MENU Вывод на дисплей и активация линейки меню Формат: ACTIVATE MENU <имя!> [PAD <имя2>]

Данная команда работает в сочетании с командами DEFINE MENU и DEFINE PAD. Две эти команды определяют линейку меню, которая может располагаться на экране горизонтально или вертикально.

Команда ACTIVATE MENU вызывает на экран или в окно ранее определенную линейку меню, помеченную как <имя!>, и активирует ее для использования.

После активации меню вы можете переходить между элементами линейки при помощи клавиш-стрелок à и ß. Для перемещения между опциями соответствующих элементам линейки всплывающих меню служат клавиши-стрелки ? и ?. Опция всплывающего меню становится выбранной, если в момент, когда она выделена, нажать Enter или кнопку мыши. Для деактивации всплывающего меню без выполнения выбора нужно нажать Esc. Деактивировать меню можно также командой DEACTIVATE MENU или активировав другую линейку меню.

Если используется необязательное предложение PAD <имя2>, то при выводе на дисплей выделен будет элемент линейки, указанный в <имя2>. Если это предложение опущено, то выделен будет первый элемент.

ACTIVATE POPUP Вывод на дисплей и активация вертикального меню Формат: ACTIVATE POPUP<имя> Данная команда активации меню работает в сочетании с командами DEFINE POPUP и DEFINE BAR. Эти две команды определяют всплывающее меню, которое затем может быть выведено в любой позиции крана.

Команда ACTIVATE POPUP вызывает определение, ранее всплывающее меню с именем <имя>, которое затем размещается на экране или в окне и активируется для последующего использования. После активации всплывающего меню вы можете переходить между составляющими его опциями при помощи клавиш-стрелок Вверх и Вниз.

Опция меню считается выбранной, если в момент, когда она выделена, нажать Enter или кнопку мыши. Для деактивации всплывающего меню без выбора следует нажать Esc. Всплывающее меню также может быть деактивировано командой DEACTIVATE POPUP, либо при активации другого всплывающего меню.

DEACTIVATE MENU Формат: DEACTIVATE MENU

Команда DEACTIVATE MENU удаляет активное меню с экрана, но не из памяти. Одновременно активным может являться только одно меню, поэтому указывать имя меню нет необходимости. Меню можно повторно активировать командой ACTIVATE MENU с именем меню.

Для освобождения конкретного меню из памяти следует дать команду REEEASE MENUS с именем меню. Команды CLEAR ALL и CLEAR MENUS позволяют освободить из памяти все меню.

Команда DEACTIVATE MENUS выполняется только из программных файлов. Управление программой затем возвращается в строку программы, непосредственно после строки, активировавшей меню. Из командного окна команда DEACTIVATE MENU не действует.

DEACTIVATE POPUP.

Деактивация всплывающего меню и удаление его с экрана Формат: DEACTIVATE POPUP Команда DEACTIVATE POPUP удаляет активное всплывающее меню с экрана или из окна, оставляя его в памяти. Одновременно может быть активным только одно всплывающее меню, поэтому задавать его имя нет необходимости. Для повторной активации всплывающего меню следует дать команду ACTIVATE POPUP с именем всплывающего меню.

Для освобождения конкретного всплывающего меню из памяти следует дать команду RELEASE MENUS с именем меню. Команды CEEAR POPUPS и CLEAR ALL позволяют освободить из памяти все всплывающие меню.

Команда DEACTIVATE POPUP выполняется только из программных файлов. Управление программой затем возвращается в строку про граммы, непосредственно после строки, активировавшей всплывающее меню. Из командного окна команда DEACTIVATE POPUP не действует.

DEFINE BAR Определение опции всплывающего меню формат: DEFINE BAR <выраж N> OF <имя> PROMPT <выраж Cl> [MESSAGE <выpaжC2>][SKIP[FOR<выpaжL>]]

Команда DEFINE BAR добавляет опцию всплывающего меню. DEFINE BAR используется совместно с командами DEFINE POPUP и ACTIVATE POPUP для создания всплывающего меню и вывода его на экран. Прежде чем можно будет пользоваться командой DEFINE BAR, необходимо определить само всплывающее меню командой DEFINE POPUP. Меню можно убрать с экрана командой DEACTIVATE POPUP, либо и с экрана и из памяти командами CLEAR ALL, CLEAR POPUPS или RELEASE POPUPS.

DEFINE MENU Создание линейки меню формат: DEFINE MENU <имя>[МЕSSАGЕ<выраж С>]Команда DEFINE MENU создает линейку меню и назначает ей имя. После того, как линейка меню определена, вы можете при помощи команды DEFINE PAD определять элементы линейки меню.

DEFINE PAD Определение элемента линейки меню формат: DEFINE PAD <имя> OF <имя_меню>PROMPT<выражС1> [AT<строка>,<столбец>][ МЕSSАGЕ <выражС2>] Команда DEFINE PAD служит для совместно с командой DEFINE MENU, обычно при создании системы меню. Перемещения между элементами инейки меню выполняются при помощи клавиш управления курсором или мыши.

ON SELECTION PAD Назначает подпрограмму на поле меню. Формат: ON SELECTION PAD < имя поля > < имя меню > [ < команда > ]

Команда ON SELECTION PAD назначает подпрограмму на поле меню.

Подпрограмма, которая будет выполняться при выборе поля меню, может быть командой, программой или процедурой.

ACTIVATE MENU Вывод на дисплей и активация линейки меню формат: ACTIVATE MENU <имя!> [PAD <имя2>] Данная команда работает в сочетании с командами DEFINE MENU и DEFINE PAD. Две эти команды определяют линейку меню, которая может располагаться на экране горизонтально или вертикально. Команда ACTIVATE MENU вызывает на экран или в окно ранее определенную линейку меню, помеченную как <имя!>, и активирует ее для использования.

CLEAR MENUS освобождает все меню из памяти, а также с экрана или из окон.

DEFINE POPUP описывает прямоугольное меню и определяет его содержание, если оно является компонентами файлов/файла.

DEFINE BAR <BыpNl> OF <РОРUР-меню> PROMPT <ВырС1> команда описывает ВАК-пункты POPUP-меню, если программист задает их сам в виде некоторых строк. Команда используется после команды DEFINE POPUP.

ON SELECTION BAR <BыpN> OF <РОРUР-меню> [<команда>] назначает <команду> (обычно вызов процедуры) на пункт номер <BыpN> из названного <РОРUР-меню>. Назначение должно быть сделано после определения <POPUP-меню>, но до его активации. Использование команды без параметра <команда> отменяет закрепление.


1.6 Меню программы


Меню моей программы содержит следующие пункты:

данные

операции банка

поиск

фильтрация

Данные - позволяет работать с базами данных

Операции банка - позволяет осуществлять основные банковские операции.

Поиск - позволяет осуществлять поиск данных по ключу

Фильтрация - позволяет осуществлять фильтрацию данных по ключу.

Пункт Данные содержит:

редактирование

просмотр

возврат в главное меню

Пункт Редактирование позволяет вносить изменения в файлы БД. Просмотр позволяет просмотреть файлы БД в BROWSE-окне. Возврат в главное меню закрывает вертикальное меню ДАННЫЕ

Пункт Операции банка содержит:

открытие счета

расходный ордер

приходный ордер

Пункт Открытие счета позволяет открыть новый счет.

Расход служит для осуществления операции снятия денег со счета. После ввода номера счета и суммы происходит печать «Расходного ордера» При попытке снять сумму, превышающую вклад, вкладчик облагается штрафом в размере 5% вклада.

Приход служит для осуществления операции вклада денег.

После ввода номера счета и суммы происходит печать «Приходного ордера».

Пункт Поиск содержит:

поиск по фамилии

поиск по счету Пункт Поиск по фамилии позволяет осуществлять поиск клиентов по фамилии.

Действие пункта Поиск по счету аналогично действию пункта Поиск по фамилии, но поиск производится по номеру счета.

Фильтрация производится

по фамилии

по адресу

по счету

При выборе пункта По фамилии появляется диалоговое окно, где запрашивается ключ. После ввода ключа и нажатии кнопки «Фильтрация», отфильтрованные данные выводятся в BROWSE-окно.

Действие пунктов По счету и По адресу аналогично действию пункта По фамилии, только фильтрация происходит по соответствующим полям.

Пункт Выход содержит:

выход в DOS

выход в FOXPRO

После выбора пункта ВЫХОД в DOS или ВЫХОД в FOXPRO, происходит выход, соответственно, в OS MS-DOS или в СУБД FOXPRO 2.5.

Даталогическая модель.


База данных KLIENT.DBF

nametypewidthdecLCCharacter20SURNAMECharacter15NAMECharacter12отснCharacter15ADRCharacter20NUM PASCharacter10TELNumeric60SUMSNumeric92DATA1Date8

База данных SCHET.DBF

NameTypeWidthDecLCCharacter20PRIHNumeric92RASHNumeric92DATA2Date8Тексты программы.

SET ТАЕК OFF

SET BEEE OFF SET ESCAPE OFF SET DATE GERMAN CEOSE DATABASES CEEARFILE klc.idx DELETE FILE slc.idxklient IN 1schet IN 21ON 1c TO klc2ON Ic TO sic1REEATION TO 1c INTO ВSKIP TO ВWINDOW EIST1 FROM 0,0 TO 24,79 WINDOW listl

TEXT

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ДАГЕСТАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ

Факультет Информационных Систем Кафедра: Информационных Систем в Экономике

КУРСОВАЯ РАБОТА

по дисциплине "База данных и знаний"

на тему: "Ведение банковских счетов юридических лиц"

Выполнила: ст-т гр. 3162 Вердиханов А.С.

Проверил: Мурадов М.М

Махачкала 2003г.

ENDTEXT

WAIT 'Для продолжения нажмите любую клавишу' RELEASE WINDOW listl

DEFINE WINDOW title 1 from 0,0 to 24,79 COEOR GR+/G TITLE 'ИНФОРМАЦИОННАЯ СИСТЕМА "БАНК"' DEFINE WINDOW prosm FROM 2,0 TO 24,79 COLOR N/W ACTIVATE WINDOW title 1menu 1prl PARAMETERS Ml DO CASE=1 TITLE 'ДАННЫЕ <Ctrl-W>-Сохранить <Еsс>-Выход без сохранения'

FIELDS Lс:Н='Счет №',;

Surname:Н='Фамилия',;

Name:Н='Имя',;

Otch:H='Отчество ',;

Adr:H= Адрес',;

Num_pas:H='Hoмep паспорта',;

Те1:Н=Телефон',;

Sums:H= Сумма',;

Datal :Н='Дата отк. счета',;

B.prih:H= 'Приход',;

В.rash:H='Расход',;

В.data2:Н='Дата операции';

WINDOW prosmMl =2 SELECT 1TITLE 'ДАННЫЕ'; FIELDS Lc:H='Cчет№',;:Н='Фамилия',;

Name:Н='Имя',;

Otch:H='Отчество ',;

Adr:H= Адрес',;

Num_pas:H='Hoмep паспорта',;

Те1:Н=Телефон',;

Sums:H= Сумма',;

Datal :Н='Дата отк. счета',;

B.prih:H= 'Приход',;

В.rash:H='Расход',;

В.data2:Н='Дата операции';

NODELETE NOEDIT NO APPEND WINDOW prosmPOPUPMl =4POPUP

ENDCASEpr2 PARAMETERS M2 AB=MONTH(DATE()) DO CASEM2=lnewsM2=2rashodM2=3prihodM2=5POPUPpr3M3CASE=1POISKFM3=2POISKFPOPUPpr5M5CASE=1M5=2WINDOW title 1menu mlM5=4POPUPfilterM4M4=5POPUP fltPOPUP fltSKIP TO=SPACE(20)WINDOW flitl TITLE 'Фильтрация '+PROMPTQ FROM 5,22 TO 11,58WINDOW flitl

@1,1 SAY 'Введите ключ' GET kluich

@3,8 PROMPT 'Фильтрация'

@3,23 PROMPT'Выход1to kljklj=lCASEM4=lFILTER TO sumame=ALLTRIM(kluich)M4=2FILTER TO adr=ALLTRIM(kluich)M4=3FILTER TO lc=ALLTRIM(kluich)WINDOW flitlTITLE 'ФИЛЬТРАЦИЯ ПО КЛЮЧУ;Lc:H='Cчет №',;:Н='Фамилия',;

Name:Н='Имя',;

Otch:H='Отчество ',;

Adr:H= Адрес',;

Num_pas:H='Hoмep паспорта',;

Те1:Н=Телефон',;

Sums:H= Сумма',;

Datal :Н='Дата отк. счета',;

NOEDIT NO APPEND NODELETE;

WINDOW prosmWINDOW flitlFILTER TO

SET SKIP TO ВWINDOW prosm RETURN.PRG

DEFINE MENU Ml COLOR SCHEME 10PAD datl OF Ml PROMPT 'Данные';'Работа с базами данных1PAD dat2 OF Ml PROMPT 'Операции банка';

MESSAGE 'Операции банка'PAD dat3 OF Ml PROMPT 'Поиск';'Поиск по ключу'PAD dat4 OF Ml PROMPT 'Фильтрация';'Фильтрация по ключу'PAD dat5 OF Ml PROMPT 'Выход';'Выход из программы'SELECTION PAD datl OF Ml ACTIVATE POPUP dann ON SELECTION PAD dat2 OF Ml ACTIVATE POPUP oper ON SELECTION PAD dat3 OF Ml ACTIVATE POPUP poisk ON SELECTION PAD dat4 OF Ml ACTIVATE POPUP fit ON SELECTION PAD dat5 OF Ml ACTIVATE POPUP vihodPOPUP dann FROM 1,0BAR 1 OF dann PROMPT 'Редактирование'; 'Просмотр данных с возможностью внесения зменений'

DEFINE BAR 2 OF dann PROMPT 'Просмотр'; 'Просмотр данных без внесения изменений'

DEFINE BAR 3 OF dann PROMPT '\-'BAR 4 OF dann PROMPT 'Возврат в главное меню';'Переход в главное меню'SELECTION POPUP dann DO prl WITH BAR()POPUP oper from 1,9BAR 1 OF oper PROMPT 'Открытие счета';'Открытие нового счета'BAR 2 OF oper PROMPT 'Расход';'Печать расходного ордера'BAR 3 OF oper PROMPT 'Приход';'Печать приходного ордера'BAR 4 OF oper PROMPT '\-'BAR 5 OF oper PROMPT 'Возврат в главное меню';'Переход в главное меню'SELECTION POPUP oper DO pr2 WITH BAR()POPUP poisk FROM 1,26BAR 1 OF poisk PROMPT 'Поиск по фамилии'; 'Поиск данных по фамилии'

DEFINE BAR 2 OF poisk PROMPT 'Поиск по счету';

MESSAGE 'Поиск данных по номеру счета'

DEFINE BAR 3 OF poisk PROMPT '\-'BAR 4 OF poisk PROMPT 'Возврат в главное меню';'Переход в главное меню'SELECTION POPUP poisk DO ргЗ WITH BAR()POPUP fit FROM 1,34BAR 1 OF fit PROMPT 'По фамилии';'Фильтрация по фамилии'BAR 2 OF fit PROMPT 'По адресу';'Фильтрация по адресу'BAR 3 OF fit PROMPT 'По счету';'Фильтрация по счету'BAR 4 OF fit PROMPT '\-'BAR 5 OF fit PROMPT 'Возврат в главное меню';'Переход в главное меню'SELECTION POPUP fit DO fliter WITH BAR()POPUP vihod FROM 1,47BAR 1 OF vihod PROMPT 'Выход в DOS';'Выход в ОС MS-DOS'BAR 2 OF vihod PROMPT 'Выход в FoxPro';'Выход в СУБД FoxPro'BAR 3 OF vihod PROMPT '\-'BAR 4 OF vihod PROMPT 'Возврат в главное меню';'Переход в главное меню'SELECTION POPUP vihod DO pr5 WITH BAR()MENU Ml RETURN

Файл NEWS.PRGWINDOW dob FROM 6,20 TO 19,60 TITLE 'Открытие счета' DOUBLEWINDOW dobMEMVAR BLANK.DATA1=DATE()

@ 1,1 SAY '№ счета:' GET M.LC

@ 2,1 SAY 'Фамилия:' GET M.SURNAME

@ 3,1 SAY 'Имя:' GET M.NAME

@ 4,1 SAY 'Отчество:' GET M.OTCH

@ 5,1 SAY 'Адрес:' GET M.ADR

@ 6,1 SAY 'Номер паспорта:' GET M.NUM_PAS

@ 7,1 SAY Телефон:' GET M.TEL

@ 8,1 SAY 'Сумма:'ОЕТ M.SUMS

@ 9,1 SAY 'Дата открытия счета:' GET M.DATA1 DISABLED

@ 11,10 PROMPT 'Сохранить'

@ 11,25 PROMPT 'Отмена'TO qq=lBLANKMEMVARWINDOW dobPRINTER ON

?

?

?

?

?'Уведомление об открытие счета ' ?' юридическим лицом'

?

?'Счет №', m.lc

?'Лицо на имя которого открыт счет', ALLTRIM(m.surname),' '

??ALLTRIM(m.name), ' ',ALLTRIM(m.otch)

?

?'Сумма вклада',sums

?

?'Дата открытия счета',date()

SET PRINTER OFFWINDOW dob

Файл RASHOD.PRGPOPUP operWINDOW orders TITLE 'Расход' FROM 7,20 TO 14,59WINDOW ordersВMEMVAR BLANK=SPACE(20)

@1,1 SAY 'Введите №счета' GET A

@3,1 SAY 'Введите сумму' GET M.rash

@5,11 PROMPT 'Принять'

@5,21 PROMPT 'Отмена'TO PWINDOW ordersCASE=1PRINTSTATUS( )AALLTRIM(A)=A.AND.!EMPTY(M.RASH)FOR LC=am.rash>a.sumsWINDOW vnim TITLE 'ВНИМАНИЕ' FROM 4,17 TO 12,63WINDOW vnim

@0,14 SAY 'Вкладчик '+surname

@1,1 SAY 'За попытку изъять сумму, превышающую вклад,'

@2,1 SAY 'вы облагаетесь штрафом в размере 5% вклада'

@4,12 SAY 'Сумма штрафа: '+ALLTRTM(str(sums/100*5))+'p.'

@6,19 PROMPT' OK 'MEMVAR.sums=rn.sums-m.surns/100*5MEMVARto i=lWINDOW vnimPRINTER ON

?'Ф№51'

?'Расходный ордер'

?

?'Счет №',1с


?'',day(date()),rusmon(AB),year(date())


?'',alltrim(a.surname),' ',alltrim(a.name),' ',alltrim(a.otch)

?' ------------------------------------------------------------------------------------'

?'(Фамилия,имя, и отчество вкладчика)'

?'

?'Прошу ВЫДАТЬ вклад в сумме'

? m.rash

??'ПОЛУЧИЛ:'

?'

?'Выдано',' | ОСТАТКИ (после взноса)'

?m.rash,'| Вклада ',a.sums-m.rash

?

?

?'ФилиалКонтролер Кассир' ?'№ (оператор)' SET PRINTER OFF CLEAR

SELECT Вm.rash#0a.sums WITH a.sums-m.rashBLANK.lc=a.lc.data2=date()MEMVAR

ENDIF

ENDIF

ELSE'ПРИНТЕР НЕ ГОТОВ' WINDOW

ENDIF

CASE P=2SHOW MENUS ALL

SELECT A

Файл PRIHOD.PRG

DEFINE WINDOW orders! TITLE 'Приход' FROM 7,20 TO 14,59WINDOW orders 1ВMEMVAR BLANK=SPACE(20)

@1 SAY 'Введите №счета' GET A

@3,1 SAY 'Введите сумму' GET M.prih

@5,11 PROMPT'Принять'

@5,21 PROMPT'Отмена'

READ

MENU TO PWINDOW orders 1

DO CASE CASEP=1PRINTSTATUS( )

SELECT AALLTRIM(A)=A.AND. !EMPTY(M.PRIH) LOCATE FOR LC=a

SET PRINTER ON

?'Ф №51' ?' Приходный ордер'

?

?'Счет №',1с

?

?'',day(date()),rusmon(AB),year(date())

?'',alltrim(a.surname),' ',trim(a.name),' ',alltrim(a.otch)

?' ____________________________________________________

(Фамилия,имя, и отчество вкладчика)'

?

?'Прошу Принять вклад в сумме'

? m.prih

?

?'Внес:'

?'Принято','! ОСТАТКИ (после взноса)' ?' ',m.prih,'| Вклада ',a.sums+m.prih

?

?'Филиал Контролер Кассир' ?'№ (оператор)' SET PRINTER OFF CLEAR SELECT 2a.sums WITH a.sums+m.prihBLANK.lc=a.lc.data2=date()memvarPOPUP ELSE 'ПРИНТЕР НЕ ГОТОВ' WINDOW

ENDIF

CASE P=2WINDOW orders!

ENDCASEAMENUS ALL

Файл POISKF.PRG

HIDE menu allPOPUP poiskWINDOW POISK FROM 6,20 TO 12,60 COLOR B+/R TITLE PROMPT();WINDOW POISK=space(20)

@ 0,1 SAY 'Введите ключ'

@0,18 GETkluch

@ 2,13 PROMPT'Поиск'

@ 2,21 PROMPT 'Выход'TO R=1POISKWINDOW POISKMENU ALL

Файл POISK.PRGSKIP TOWINDOW poisk kluch=alltrim(kluch) IF EMPTY(kluch)poiskfTOP=0CASEM3=lFOR surname=kluchM3=2FOR lc=kluchWHILE !EOF().AND.les#3.AND.LASTKEY()#27FOUND()MEMVARWINDOW W2 FROM 5,20 TO 18,56WINDOW W2

@ 1,1 SAY'№ счета:'

@ 1,10 SAY M.lc

@2,1 SAY'Фамилия: '

@2,10 SAY M.surname

@3,1 SAY 'Имя:'

@ 3,5 SAY M.name

@4,1 SAY'Отчество:'

@4,11 SAY M.otch

@5,1 SAY 'Адрес:'

@5,9 SAY M.adr

@ 6,1 SAY 'Номер паспорта:'

@ 6,18 SAY M.num_pas

@7,1 SAY Телефон:'

@7,11 SAY M.tel

@8,1 SAY 'Сумма:'

@8,10SAY M.sums

@ 9,1 SAY 'Дата открытия счета:'

@ 9,22 SAY M.datal

@ 10,2 PROMPT 'Поиск далее'

@ 10,14 PROMPT 'Новый поиск'

@ 10,26 PROMPT 'Выход'TO lesMEMVARCASEles=lles=2WINDOW W2POISKF OTHERWISEWINDOW W2WINDOW W2SKIP TO В

Файл RUSMON.PRGABCASE CASE AB=1='Января'AB=2='Февраля'AB=3='Марта'AB=4

М='Апреля'AB=5 CASE AB-6='Июня'AB=7='Июля'AB=8='Августа'AB=9='Сентября'AB=10=11='Ноября'=12N


Заключение


В курсовой работе мною создан комплекс программ на СУБД FoxPro 2.5 , состоящий из следующих компонентов:

. KURS.PRG - основная программа, реализующая вызов остальных компонентов и процедуру фильтрации по 3 полям:

Фамилия

Адрес

Номер счета

. MENU1 .PRG - программа, реализующая меню моей информационной системы

. NEWS.PRG - программа, позволяющая открыть новый счет.

. RASHOD.PRG - программа, организующая снятия суммы со счета и печать Расходного ордера.

. PRIHOD.PRG - программа, организующая принятия вклада и печать Приходного ордера.

. POISKF.PRG и POISK.PRG - программы, реализующие поиск данных по 2 полям:

Фамилия

Номер счета

. RUSMON.PRG - функция, преобразующая номер месяца в его название на русском языке.


Список использованной литературы


1. Диго С.М. Проектирование и использование баз данных.

. Попов А.А. Создание приложений для FoxPro 2.5/2.6 в DOS и Windows.

. Мурадов М.М. Курс лекции по дисциплине «Базы данных и знаний».

. Наумов А.Н «Системы управления базами данных и знаний». М.: «Финансы и статистика»


МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ДАГЕСТАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Факультет Информационных Систем Кафедра: Информационны

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ