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

Описание алгоритмического языка для программирования прикладных систем обработки данных. Проектирование базы данных для ведения банковских счетов юридических лиц. Разработка комплекса программ и средств взаимодействия с ЭВМ (меню). Листинг программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 07.12.2011
Размер файла 76,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

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

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

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

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

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

Выполнил:

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

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

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

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

Содержание

Введение

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

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

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

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

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

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

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

Заключение

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

Введение

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

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

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

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

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

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

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

- реляционную

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2. Фамилия.

3. Имя.

4. Отчество.

5. Адрес.

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

7. Телефон.

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

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

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

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

2. Сумма.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.3 ?????????? ???????? ??? ??????. ?????????????? ??????

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

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

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

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

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

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

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

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

1.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 вызывает на экран или в окно ранее определенную линейку меню, помеченную как <имя!>, и активирует ее для использования.

После активации меню вы можете переходить между элементами линейки при помощи клавиш-стрелок и . Для перемещения между опциями соответствующих элементам линейки всплывающих меню служат клавиши-стрелки ^ и v. Опция всплывающего меню становится выбранной, если в момент, когда она выделена, нажать 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 < имя поля >

OF < имя меню > [ < команда > ]

Команда 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

name

type

width

dec

LC

Character

20

SURNAME

Character

15

NAME

Character

12

отсн

Character

15

ADR

Character

20

NUM PAS

Character

10

TEL

Numeric

6

0

SUMS

Numeric

9

2

DATA1

Date

8

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

Name

Type

Width

Dec

LC

Character

20

PRIH

Numeric

9

2

RASH

Numeric

9

2

DATA2

Date

8

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

SET ТАЕК OFF

SET BEEE OFF SET ESCAPE OFF SET DATE GERMAN CEOSE DATABASES CEEAR

DEEETE FILE klc.idx DELETE FILE slc.idx

USE klient IN 1

USE schet IN 2

SEEECT 1

INDEX ON 1c TO klc

SEEECT 2

INDEX ON Ic TO sic

SEEECT 1

SET REEATION TO 1c INTO В

SET SKIP TO В

DEFINE WINDOW EIST1 FROM 0,0 TO 24,79

ACTIVATE 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 1

DO menu 1

PROCEDURE prl PARAMETERS Ml DO CASE

CASEM1=1

BROWSE 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 prosm

CASE Ml =2 SELECT 1

BROWSE TITLE 'ДАННЫЕ'; FIELDS Lc:H='Cчет№',;

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

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 prosm

DEACTIVATE POPUP

CASE Ml =4

DEACTIVATE POPUP

ENDCASE

RETURN

PROCEDURE pr2 PARAMETERS M2 AB=MONTH(DATE()) DO CASE

CASE M2=l

DO news

CASE M2=2

DO rashod

CASE M2=3

DO prihod

CASE M2=5

DEACTIVATE POPUP

ENDCASE

RETURN

PROCEDURE pr3

PARAMETERS M3

DO CASE

CASEM3=1

DO POISKF

CASE M3=2

DO POISKF

OTHERWISE

DEACTIVATE POPUP

ENDCASE

RETURN

PROCEDURE pr5

PARAMETERS M5

DO CASE

CASEM5=1

QUIT

CASE M5=2

RELEASE WINDOW title 1

DEACTIVATE menu ml

CANCEL

CASE M5=4

DEACTIVATE POPUP

ENDCASE

RETURN

PROCEDURE filter

PARAMETERS M4

IF M4=5

DEACTIVATE POPUP flt

ENDIF

HIDE POPUP flt

SET SKIP TO

KEUICH=SPACE(20)

DEFINE WINDOW flitl TITLE 'Фильтрация '+PROMPTQ FROM 5,22 TO 11,58

ACTIVATE WINDOW flitl

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

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

@3,23 PROMPT'Выход1

READ

menu to klj

IF klj=l

DO CASE

CASE M4=l

SET FILTER TO sumame=ALLTRIM(kluich)

CASE M4=2

SET FILTER TO adr=ALLTRIM(kluich)

CASE M4=3

SET FILTER TO lc=ALLTRIM(kluich)

ENDCASE

RELEASE WINDOW flitl

BROWSE TITLE 'ФИЛЬТРАЦИЯ ПО КЛЮЧУ;

FIELDS Lc:H='Cчет №',;

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

Name:Н='Имя',;

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

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

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

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

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

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

NOEDIT NO APPEND NODELETE;

WINDOW prosm

ELSE

RELEASE WINDOW flitl

ENDIF

SET FILTER TO

SET SKIP TO В

RELEASE WINDOW prosm RETURN

MENU1 .PRG

DEFINE MENU Ml COLOR SCHEME 10

DEFINE PAD datl OF Ml PROMPT 'Данные';

MESSAGE 'Работа с базами данных1

DEFINE PAD dat2 OF Ml PROMPT 'Операции банка';

MESSAGE 'Операции банка'

DEFINE PAD dat3 OF Ml PROMPT 'Поиск';

MESSAGE 'Поиск по ключу'

DEFINE PAD dat4 OF Ml PROMPT 'Фильтрация';

MESSAGE 'Фильтрация по ключу'

DEFINE PAD dat5 OF Ml PROMPT 'Выход';

MESSAGE 'Выход из программы'

ON 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 vihod

DEFINE POPUP dann FROM 1,0

DEFINE BAR 1 OF dann PROMPT 'Редактирование';

MESSAGE 'Просмотр данных с возможностью внесения зменений'

DEFINE BAR 2 OF dann PROMPT 'Просмотр';

MESSAGE 'Просмотр данных без внесения изменений'

DEFINE BAR 3 OF dann PROMPT '\-'

DEFINE BAR 4 OF dann PROMPT 'Возврат в главное меню';

MESSAGE 'Переход в главное меню'

ON SELECTION POPUP dann DO prl WITH BAR()

DEFINE POPUP oper from 1,9

DEFINE BAR 1 OF oper PROMPT 'Открытие счета';

MESSAGE 'Открытие нового счета'

DEFINE BAR 2 OF oper PROMPT 'Расход';

MESSAGE 'Печать расходного ордера'

DEFINE BAR 3 OF oper PROMPT 'Приход';

MESSAGE 'Печать приходного ордера'

DEFINE BAR 4 OF oper PROMPT '\-'

DEFINE BAR 5 OF oper PROMPT 'Возврат в главное меню';

MESSAGE 'Переход в главное меню'

ON SELECTION POPUP oper DO pr2 WITH BAR()

DEFINE POPUP poisk FROM 1,26

DEFINE BAR 1 OF poisk PROMPT 'Поиск по фамилии';

MESSAGE 'Поиск данных по фамилии'

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

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

DEFINE BAR 3 OF poisk PROMPT '\-'

DEFINE BAR 4 OF poisk PROMPT 'Возврат в главное меню';

MESSAGE 'Переход в главное меню'

ON SELECTION POPUP poisk DO ргЗ WITH BAR()

DEFINE POPUP fit FROM 1,34

DEFINE BAR 1 OF fit PROMPT 'По фамилии';

MESSAGE 'Фильтрация по фамилии'

DEFINE BAR 2 OF fit PROMPT 'По адресу';

MESSAGE 'Фильтрация по адресу'

DEFINE BAR 3 OF fit PROMPT 'По счету';

MESSAGE 'Фильтрация по счету'

DEFINE BAR 4 OF fit PROMPT '\-'

DEFINE BAR 5 OF fit PROMPT 'Возврат в главное меню';

MESSAGE 'Переход в главное меню'

ON SELECTION POPUP fit DO fliter WITH BAR()

DEFINE POPUP vihod FROM 1,47

DEFINE BAR 1 OF vihod PROMPT 'Выход в DOS';

MESSAGE 'Выход в ОС MS-DOS'

DEFINE BAR 2 OF vihod PROMPT 'Выход в FoxPro';

MESSAGE 'Выход в СУБД FoxPro'

DEFINE BAR 3 OF vihod PROMPT '\-'

DEFINE BAR 4 OF vihod PROMPT 'Возврат в главное меню';

MESSAGE 'Переход в главное меню'

ON SELECTION POPUP vihod DO pr5 WITH BAR()

ACTIVATE MENU Ml RETURN

Файл NEWS.PRG

DEFINE WINDOW dob FROM 6,20 TO 19,60 TITLE 'Открытие счета' DOUBLE

ACTIVATE WINDOW dob

SCATTER MEMVAR BLANK

M.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 'Отмена'

READ

MENU TO q

IF q=l

APPEND BLANK

GATHER MEMVAR

DEACTIVATE WINDOW dob

clear

SET PRINTER ON

?

?

?

?

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

?

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

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

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

?

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

?

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

SET PRINTER OFF

ELSE

DEACTIVATE WINDOW dob

ENDIF

RETURN

Файл RASHOD.PRG

HIDE POPUP oper

DEFINE WINDOW orders TITLE 'Расход' FROM 7,20 TO 14,59

ACTIVATE WINDOW orders

CLEAR

SELECT В

SCATTER MEMVAR BLANK

a=SPACE(20)

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

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

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

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

READ

MENU TO P

DEACTIVATE WINDOW orders

DO CASE

CASEP=1

IF PRINTSTATUS( )

SELECT A

IF ALLTRIM(A)=A.AND.!EMPTY(M.RASH)

LOCATE FOR LC=a

IF m.rash>a.sums

DEFINE WINDOW vnim TITLE 'ВНИМАНИЕ' FROM 4,17 TO 12,63

ACTIVATE WINDOW 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 '

SCATTER MEMVAR

M.sums=rn.sums-m.surns/100*5

GATHER MEMVAR

menu to i

IFi=l

DEACTIVATE WINDOW vnim

ENDIF

ELSE

SET PRINTER ON

?'Ф№51'

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

?

?'Счет №',1с

9

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

9

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

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

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

?'

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

? m.rash

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

?'

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

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

?

?

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

SELECT В

IF m.rash#0

REPLACE a.sums WITH a.sums-m.rash

APPEND BLANK

m.lc=a.lc

m.data2=date()

GATHER MEMVAR

ENDIF

ENDIF

ENDIF

ELSE

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

ENDIF

CASE P=2

ENDCASE SHOW MENUS ALL

SELECT A

RETURN

Файл PRIHOD.PRG

DEFINE WINDOW orders! TITLE 'Приход' FROM 7,20 TO 14,59

CLEAR

ACTIVATE WINDOW orders 1

SELECT В

SCATTER MEMVAR BLANK

a=SPACE(20)

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

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

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

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

READ

MENU TO P

DEACTIVATE WINDOW orders 1

DO CASE CASEP=1

IF PRINTSTATUS( )

SELECT A

IF ALLTRIM(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 2

REPLACE a.sums WITH a.sums+m.prih

APPEND BLANK

m.lc=a.lc

m.data2=date()

gather memvar

ENDIF

DEACTIVATE POPUP ELSE

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

ENDIF

CASE P=2

DEACTIVATE WINDOW orders!

ENDCASE

SELECT A

SHOW MENUS ALL

RETURN

Файл POISKF.PRG

HIDE menu all

HIDE POPUP poisk

CLEAR

DEFINE WINDOW POISK FROM 6,20 TO 12,60 COLOR B+/R TITLE PROMPT();

DOUBLE

ACTIVATE WINDOW POISK

kluch=space(20)

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

@0,18 GETkluch

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

@ 2,21 PROMPT 'Выход'

READ

MENU TO R

IFR=1

DO POISK

ELSE

RELEASE WINDOW POISK

ENDIF

SHOW MENU ALL

RETURN

Файл POISK.PRG

SET SKIP TO

DEACTIVATE WINDOW poisk kluch=alltrim(kluch) IF EMPTY(kluch)

DO poiskf

ELSE

GO TOP

les=0

DO CASE

CASE M3=l

LOCATE FOR surname=kluch

CASE M3=2

LOCATE FOR lc=kluch

ENDCASE

DO WHILE !EOF().AND.les#3.AND.LASTKEY()#27

IF FOUND()

SCATTER MEMVAR

DEFINE WINDOW W2 FROM 5,20 TO 18,56

ACTIVATE WINDOW 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 'Выход'

MENU TO les

GATHER MEMVAR

ENDIF

DO CASE

CASE les=l

CONTINUE

CASE les=2

RELEASE WINDOW W2

DO POISKF OTHERWISE

RELEASE WINDOW W2

ENDCASE

ENDDO

ENDIF

RELEASE WINDOW W2

SET SKIP TO В

RETURN

Файл RUSMON.PRG

PARAMETERS AB

DO CASE CASE AB=1

N='Января'

CASE AB=2

N='Февраля'

CASE AB=3

N='Марта'

CASE AB=4

М='Апреля'

CASE AB=5 CASE AB-6

N='Июня'

CASE AB=7

N='Июля'

CASE AB=8

N='Августа'

CASE AB=9

N='Сентября'

CASE AB=10

CASEAB=11

N='Ноября'

CASEAB=12

ENDCASE

RETURN N

Заключение

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

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

* Фамилия

* Адрес

* Номер счета

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

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

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

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

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

* Фамилия

* Номер счета

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

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

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

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

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

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

Размещено на Allbest.ru


Подобные документы

  • Создание базы данных и СУБД. Структура простейшей базы данных. Особенности языка программирования Турбо Паскаль. Описание типов, констант, переменных, процедур и функций. Описание алгоритма базы данных (для сотрудников ГИБДД), листинг программы.

    курсовая работа [26,3 K], добавлен 26.01.2012

  • База данных как основа автоматизации. Разработка, описание и реализация программного обеспечения "Точность и правильность методов и результатов измерений для центральной заводской лаборатории ОАО "Акрилат". Листинг, исходные коды программы и базы данных.

    дипломная работа [1,0 M], добавлен 23.06.2012

  • Создание программы, работающей с набором данных на внешнем устройстве. Описание программного комплекса. Обзор структуры главной программы. Процедура добавления новых элементов, поиска и создания на экране вертикального меню. Проверка работы программы.

    курсовая работа [265,6 K], добавлен 28.08.2017

  • Разработка базы данных FoxPro (БД), листинг программы. Работа с несколькими таблицами и установление взаимосвязей между ними. Система меню, формирование отчетов. Использование расширенных средств ввода и вывода данных. Организация справочной системы.

    дипломная работа [1,7 M], добавлен 20.08.2009

  • Схема взаимодействия подразделений предприятия. Выбор и обоснование технологии проектирования базы данных. Описание объектов базы данных. Разработка запросов на выборку, изменение, обновление и удаление данных. Интерфейсы взаимодействия с базой данных.

    курсовая работа [1,4 M], добавлен 25.05.2023

  • Язык Паскаль - процедурно-ориентированный язык высокого уровня, его основные достоинства. Разработка программ для решения задач. Выбор метода обработки информации. Форма представления исходных данных. Разработка алгоритма, его описание, листинг программы.

    курсовая работа [3,6 M], добавлен 17.02.2013

  • Разработка приложения для работы с базой данных с использованием объектно-ориентированного и визуального программирования. Обзор языка элементов языка программирования Delphi. Проектирование базы данных автозаправки. Клиентская система приложения.

    курсовая работа [2,3 M], добавлен 31.01.2016

  • Понятие базы данных, модели данных. Классификация баз данных. Системы управления базами данных. Этапы, подходы к проектированию базы данных. Разработка базы данных, которая позволит автоматизировать ведение документации, необходимой для деятельности ДЮСШ.

    курсовая работа [1,7 M], добавлен 04.06.2015

  • Создание на языке C базы данных "Стадионы города", требования к программе. Осуществление загрузки базы данных в массив и вывод главного меню в основной программе. Алгоритм работы программы в виде блок-схемы. Описание функций программы и ее листинг.

    курсовая работа [183,6 K], добавлен 06.10.2010

  • Обзор моделей анализа и синтеза модульных систем обработки данных. Модели и методы решения задач дискретного программирования при проектировании. Декомпозиция прикладных задач и документов систем обработки данных на этапе технического проектирования.

    диссертация [423,1 K], добавлен 07.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.