
- •Глава 1. Общая часть 4
- •Глава 2. Разработка программного обеспечения 9
- •Введение
- •Глава 1. Общая часть
- •Сущность поставленной задачи
- •Постановка задачи
- •Первичные документы
- •Требования, предъявляемые к системе
- •Требования предъявляемые к программному обеспечению
- •Характеристика используемой пэвм, ос и языка программирования
- •Глава 2. Разработка программного обеспечения
- •2.1 Технологический процесс машинной реализации задачи
- •2.2 Алгоритм задачи и его описание
- •2.3 Описание переменных процедур и функций
- •2.4 Программы и их описание
- •2.4.1 Алгоритм и текст программы меню
- •2.4.2 Алгоритм и тексты (виды форм) программы ввода данных
- •2.4.2.1 Программа ввода должностей в «Справочник должностей»
- •2.4.2.2 Программа ввода ученой степени в «Справочник ученых степеней»
- •2.4.2.3 Программа ввода сотрудников в таблицу сотрудники
- •2.4.2.4 Программа ввода дополнительной информации о сотрудниках
- •2.4.3 Текст программы формирования ведомости
- •2.5 Результаты работы программы
- •2.6 Инструкция пользователю
- •Заключение
- •Приложение 2 – Эскизный проект
2.4.2.4 Программа ввода дополнительной информации о сотрудниках
Алгоритм:
Рисунок 16 – Алгоритм работы программы ввода дополнительной информации о сотрудниках
Текст:
CLOSE DATABASES
CLOSE ALL
CLEAR
SET BELL OFF
SET TALK OFF
defi wind qw from 1,1 to 20,90;
title 'Ввод дополнительной информации';
close float font 'Times New Roman'
ACTIVATE WINDOW qw
DECLARE ST(3)
STORE SPACE(3) TO ST(1)
STORE SPACE(10) TO ST(2)
STORE 0 TO st(3)
STORE ' ' TO z
DELETE FILE 'D:\ТРПП курсовой\Программа\kodsot.idx'
DELETE FILE 'D:\ТРПП курсовой\Программа\kodso.idx'
SELECT e
USE 'D:\ТРПП курсовой\Программа\sotrud.DBF'
INDEX on kods TO 'D:\ТРПП курсовой\Программа\kodsot.idx'
SELECT c
USE 'D:\ТРПП курсовой\Программа\dop_inf.DBF'
INDEX on kods TO 'D:\ТРПП курсовой\Программа\kodso.idx'
DO WHILE z<>'*'
@ 1,1 SAY 'Код сотрудника ' get ST(1) Picture'999'
READ
d=ST(1)
SELECT e
SEEK(d)
IF FOUND()
@ 2,1 say 'Семейное положение ' get ST(2)
@ 3,1 SAY 'Количество детей ' get ST(3)
@ 4,1 say 'конец ввода?*' get z
READ
APPEND BLANK
GATHER FROM ST
IF z='*'
EXIT
ENDIF
ELSE
MESSAGEBOX( "Сотрудник не найден" ,48,"Ошибка",0)
@ 1,1 SAY 'Код сотрудника ' get ST(1) Picture'999'
ENDIF
ENDDO
BROWSE
PACK
CLEAR
CLOSE DATABASES
Вид формы:
Рисунок 17 – Форма ввода дополнительной информации
2.4.3 Текст программы формирования ведомости
SET BELL off
SET TALK OFF
SET DATE BRITISH
CLOSE all
CLEAR
DELETE file 'D:\ТРПП курсовой\Программа\vedomost.txt'
DELETE file 'D:\ТРПП курсовой\Программа\1.idx'
DELETE file 'D:\ТРПП курсовой\Программа\2.idx'
DELETE file 'D:\ТРПП курсовой\Программа\3.idx'
DELETE file 'D:\ТРПП курсовой\Программа\4.idx'
SET ALTERNATE TO 'D:\ТРПП курсовой\Программа\vedomost.txt'
SET ALTERNATE on
SELECT e
USE 'D:\ТРПП курсовой\Программа\sotrud.dbf'
INDEX on kods TO 'D:\ТРПП курсовой\Программа\1.idx'
SELECT b
USE 'D:\ТРПП курсовой\Программа\dolzhn.dbf'
INDEX on kodd TO 'D:\ТРПП курсовой\Программа\2.idx'
SELECT c
USE 'D:\ТРПП курсовой\Программа\dop_inf.dbf'
INDEX on kods TO 'D:\ТРПП курсовой\Программа\3.idx'
SELECT a
USE 'D:\ТРПП курсовой\Программа\uchstep.dbf'
INDEX on kodus TO 'D:\ТРПП курсовой\Программа\4.idx'
?' ВЕДОМОСТЬ ПО СОТРУДНИКАМ ЛАБОРАТОРИИ'
?'---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------'
?'| Фамилия | Имя | Отчество | Возраст | Пол | Должность | Ученая степень | Семейное положение| Кол-во детей|'
?'|-------------------|-----------------|----------------------|----------|------|--------------------------------------------------------------|-----------------|-------------------|-------------|'
?'|-------------------|-----------------|----------------------|----------|------|--------------------------------------------------------------|-----------------|-------------------|-------------|'
SELECT e
GO top
DO WHILE.not.eof()
SELECT b
IF SEEK(e.kodd)
dol=b.dolzhn
ELSE
dol=' '
ENDIF
SELECT a
IF SEEK(e.kodus)
ustep=a.u_step
ELSE
ustep='-'
ENDIF
SELECT c
IF SEEK(e.kods)
sem=c.sp
kold=c.deti
ELSE
sem='-'
kold=' '
ENDIF
?'|',PADC(e.fam,17),'|',PADC(e.imja,15),'|',PADC(e.otch,20),'|',PADC(e.vozr,8),'|',PADC(e.pol,4),'|',PADC(dol,60),'|',PADC(ustep,15),'|',PADC(sem,17),'|',PADC(kold,11),'|'
?'|-------------------|-----------------|----------------------|----------|------|--------------------------------------------------------------|-----------------|-------------------|-------------|'
SELECT e
SKIP
ENDDO
USE
CLOSE DATABASES
SET ALTERNATE off
CLEAR
MESSAGEBOX( "Ведомость можно просмотреть в папке:D:\ТРПП курсовой\Программа\otchet1.txt" ,48,"Ошибка",0)
*CLOSE ALL