Программирование на языках высокого уровня "Стипендия"
Курсовая работа, 13 Декабря 2012, автор: пользователь скрыл имя
Описание работы
Современная вычислительная техника позволяет решать большое количество различных задач. Пожалуй, наиболее важным применением ЭВМ стало хранение информации. Удобные и разнообразные средства для этой цели предоставляют технологии баз данных и информационно-справочных систем. Целью данной курсовой работы является приобретение опыта алгоритмизации, конструирования, практической реализации программ и широкого применения ЭВМ, на примере программирования информационно-справочной системы. В качестве языка программирования выбран язык TURBO PASCAL, изучаемый на занятиях по дисциплине “Программирование на языках высокого уровня”.
Работа содержит 1 файл
Пояснительная Записка.doc
— 780.00 Кб (Скачать)
Системные требования
- Операционная система: Dos 6.0/ Windows 98/00/XP
- Процессор: Pentium II 300 МГц и выше
- ОЗУ: 1 Мб
- Видеоадаптер: VGA
- Монитор с поддержкой графического режима 16 цветов с разрешением 640х480 точек
- 500 Кбайт свободного места на жёстком диске
- Наличие START.BAT файла запуска.
- Так же наличие некоторых файлов с расширением TPU
ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ РАЗРАБОТАННОЙ ПРОГРАММЫ.
Файл разработанной программы называется start.bat. Программа запускается под управлением операционной системы MS-DOS и требует, загруженного до нее драйвера русской раскладки клавиатуры.
Для компиляции исходного кода в программу помимо файлов shap.pas, tablic.pas, add.pas, glmeny.pas, ps.pas, требуются также объектные файлы egavga.obj и tripfont.obj, содержащие объектный эквивалент бинарного файла egavga.bgi и файла векторного шрифта trip.chr. Кроме того для просмотра содержания имеющихся информационно-справочных таблиц необходимо наличие файлов соответствующих БД.
Во время выполнения роботы программы на диске, в текущей директории могут создаваться файлы БД (расширение .txt) или файлы отчетов. Количество и размер данных файлов ограничены размером свободного мета на диске.
Для запуска программы необходимо запустить START.BAT. После запуска программы « СТИПЕНДИЯ » на экране появится заставка с названием программы. Заставка отключается при нажатии клавиши Enter. После чего следует пройти процедуру входа в систему. Для этого необходимо набрать пароль в окне «Введите пароль». Пароль необходимо вводить осторожно, в случае неверного ввода программа может закрыться. Если вы являетесь бухгалтером, то необходимо ввести «123456», если вы являетесь гостем, то пароль не нужен, если вы являетесь администратором, то необходимо ввести «324657». При трехкратном неправильном вводе пароля, происходит автоматический выход из программы. При вводе неправильного пароля система информирует пользователя об ошибке и сообщает количество оставшихся попыток.
После правильного ввода пароля осуществляется вход в систему и на экран выводится главное меню со следующими пунктами:
- Файл БД. Данный пункт содержит основные действие с файлом информационно-справочных таблиц. Содержит следующие подпункты:
- Создание. Этот пункт предполагает создание файла БД и его заполнение. Доступен только для администратора.
- Просмотр БД. Доступен всем пользователям.
- Удаление БД. Данный подпункт доступен только для администратора.
- Ведение БД. Доступ к этому пункту меню имеют только администратор и модератор. Содержание данного пункта меню:
- Добавить строку.
- Удалить строку.
- Сортировать по алфавиту.
- Сортировать против алфавита.
- Студенты. В этом пункте содержатся действия с файлами, содержащими информацию о студентах, а именно:
- Создать ИНФО. Этот подпункт доступен только для администратора и бухгалтера.
- Просмотреть ИНФО. Общедоступный подпункт меню.
- Удалить ИНФО. Этот подпункт доступен только для администратора и бухгалтера.
- Стипендия. В этом пункте меню содержатся все действия с файлами, содержащими дополнительную информацию о студентах, а именно:
- Создать ИНФО. Эта процедура доступна только для администратора.
- Просмотреть ИНФО.
- Добавить строку. Доступ к данному действию имеют администратор и бухгалтера.
- Удалить строку. Доступ к данному действию также имеют администратор и бухгалтер.
- Распечатка. Этот пункт меню доступен всем пользователям,
- меню позволяет закончить работу с программой после подтверждения выхода.
В верхней части экрана находится информация о текущем пользователе, т.е. его ранг, в соответствии с которым он наделен теми или иными правами.
Перемещение между пунктами подменю осуществляется по средствам нажатия клавиш «←» - влево и «→» - вправо. Перемещение между пунктами главного меню осуществляется с помощью клавиш: «↑» - вверх и «↓» - вниз. Выбор нужного пункта меню осуществляется клавишей «ENTER». Выход из пункта меню и из программы осуществляет клавиша «ESC». Для удобства внизу экрана располагаются подсказки пользователю о функциональных клавишах.
При работе с программой в текстовом режиме следует следовать инструкциям, выводимым на экран.
Какой бы пункт меню Вы ни выбрали, программа сама будет информировать Вас о том, что следует ввести, на какие клавиши нажимать и повторять запрос при неправильном вводе.
РЕЗУЛЬТАТЫ ОТЛАДКИ.
В процессе написания и отладки программы появлялись следующие ошибки:
- Unknoun identifier (Неизвестный идентификатор)
- Type mismatch (Несоответствие типов)
- “;” expected (Нужно указать «;»)
- File access denied (Нет доступа к файлу)
- File not found (Файл не найден)
- Path not found (Путь не найден)
- Прерывание программы при попытке открыть файл с пустым именем. Ошибка была устранена путем добавления условия ввода информации, длина которой должна содержать по меньшей мере хотя бы один значащий символ. Кроме того была предусмотрена отмена ввода информации и возможность выхода из режима.
- Возникала проблема вывода баз данных, целиком не помещающихся на экране. В результате модернизации программы эта проблема была решена.
- Неправильно работала процедура поиска строк при вводе недопустимых критериев поиска и при неполном наборе введенных данных. Ошибка была устранена введением ограничением на вводимую информацию, т.е необходимости её соответствия конкретным критериям поиска.
- Переход курсора выделения в главном меню на несуществующий пункт меню. При доработке программы ошибка была устранена.
- Неправильно работала подсветка выбранного пункта меню. После корректировки ошибка была устранена.
В процессе отладки использовались все возможные методы, но наиболее часто применялись пошаговый запуск программы и просмотр текущего значения используемых переменных.
РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ ПРОГРАММЫ.
3.Ввод пароля
{*****************************
{* Основная программа, которая содержит модули, нужные для работы программы *}
{* необходимые
модули :crt,graph,zastav ,glmenu,
{* parol,cozdan,shap,addStr,
{*
n-переменная для работы с основным меню
{*
k-переменная для работы с подменю
{*
pol-переменная для работы с рангом вошедшего
{*
x,i- переменные для работы в создании интерфейса
{*****************************
Program Kyrs;
Uses crt,graph,ps,glmenu,parol,
Const MaxSize=8;
Var
s:string;
key:char;
n,k,x,i,pol:integer;
Begin
CursorOff;
zastavka_crt;
textbackground(11);
InputParol(pol);
if pol=1 then begin
n:=1;
while n<>5 do
begin
vbr(n);
k:=1;
if n=1
then
while k<>7 do
begin
VbrPM1(k);
if (k=1)
then
AddString(1);
if (k=2)
then
EditString(1);
if (k=3)
then
DelString(1);
if (k=6)
then
Pechat;
If (k=4)
then
p_fam;
If (k=5)
then Search;
end;
if n=2
then
while k<>7 do
begin
VbrPM2(k);
if (k=1)
then
AddString(2);
if (k=2)
then
EditString(2);
if (k=3)
then
DelString(2);
if (k=6)
then
Pechat;
If (k=4)
then
p_fmo;
if (k=5)
then
Search2;
end;
if n=3
then
AddBD;
if n=4 then del;
end;
end;
if pol=2 then begin
n:=1;
while n<>5 do
begin
vbr(n);
k:=1;
if n=1
then
while k<>7 do
begin
VbrPM1(k);
if (k=1)
then
AddString(1);
if (k=2)
then
EditString(1);
if (k=3)
then
Delstring(1);
if (k=6)
then
Pechat;
If (k=4)
then
p_fam;
If (k=5)
then Search;
end;
if n=2
then
while k<>7 do
begin
VbrPM2(k);
if (k=1)
then
AddString(2);
if (k=2)
then
EditString(2);
if (k=3)
then
Delstring(2);
if (k=6)
then
Pechat;
If (k=4)
then
p_fmo;
if (k=5)
then
Search2;
end;
if n=3
then
SMS;
if n=4
then
sms;
end;
end;
if pol=3 then begin
n:=1;
while n<>5 do
begin
vbr(n);
k:=1;
if n=1
THEN
net;
if n=2
then
while k<>7 do
begin
VbrPM2(k);
if (k=1)
then
SMS;
if (k=2)
then
SMS;
if (k=3)
then
SMS;
if (k=6)
then
Pechat;
If (k=4)
then
p_fmo;
if (k=5)
then
Search2;
end;
if n=3
then
SMS;
if n=4
then
SMS;
end;
end;
End.
12
{*****************************
{* Модуль ZASTAV реализует вывод начальной заставки в графическом режиме *}
{* Содержит процедуру ZASTAV *}
{* сh-переменная считывания нажатой клавиши *}
{*
не имеет входных и выходных параметров
{*****************************
unit zastav;{модуль заставка,работа
interface
uses crt,graph;{граф-стандартный
модуль для графического
var a,b:integer;{переменные,
Procedure Zastava;{процедура ,для рисования заставки}
implementation
procedure zastava;
var i:integer;
col:boolean;
begin
SetBKcolor(14);{закраска фона желтым цветом}
setcolor(1);{задание синего цвета для текста }
SetTextStyle(7,0,9);{
outtextxy(5,20,'Стипендия');{в
setcolor(2);{зеленый текст}
{рисование поверхности банкомата}
for a:=200 to 420 do
for b:=200 to 500 do
line(a,b,a,b);{прорисовка линии с заданными координатами}
bar(250,250,360,380);{
bar(270,420,330,460);
{прорисовка клавиатуры банкомата}
SeTCOLOR(1);{синий текст}
SeTTeXTSTYLe(1,0,1);
OUTTeXTXY(275,420,'12345');
OUTTeXTXY(275,440,'67890');
OUTTeXTXY(260,210,'Банкомат');
{анимация падения купюр}
SeTCOLOR(2);
SettextStyle(1,0,1);
outtextxy(260,260,'$ $ $ $ ');
DeLAY(500);{задержка времени}
outtextxy(260,280,'$ $ $ $ ');
DeLAY(500);
outtextxy(260,300,'$ $ $ $ ');
DeLAY(500);
outtextxy(260,320,'$ $ $ $ ');
DeLAY(500);
outtextxy(260,340,'$ $ $ $ ');
DeLAY(500);
outtextxy(260,360,'$ $ $ $ ');
DeLAY(500);
outtextxy(260,380,'$ $ $ $ ');
DeLAY(500);
outtextxy(260,400,'$ $ $ $ ');
{анимация смены цвета надписи стипендия}
repeat
i:=random(256);{случайный выбор цвета}
setcolor(i);
SetTextStyle(7,0,9);
outtextxy(5,20,'Стипендия');