- •Государственный университет управления
- •Задание на курсовой проект
- •Анализ и постановка задачи
- •Формализация задачи
- •Алгоритмы
- •Создание файла данных
- •Чтение файла данных
- •Добавление данных в файл данных
- •Печать сведений о количестве работников каждого из пяти цехов заданного разряда.
- •Печать сведений о количестве работников каждой профессии по заданному разряду заданного цеха.
- •Печать упорядоченного по алфавиту списка работников каждой профессии.
- •Результаты решений
- •Заключение
- •Список литературы
Создание файла данных
* Командный файл CreateFd - создание нового файла данных
setTalkoff
setStatusoff
set Escape off
Clear
Zag='Процесс создания нового файла данных'
@ 4,22 to 4,58 Color u/w*
@ 3,22 Say Zag Color u/w*
@ 12,0
Accept ' Укажите имя создаваемого файла данных: ' to NameFd
If Len(NameFd) > 0
Zag=Zag + ': ' + NameFd + '.dbf'
LenZag=Int(Len(Zag))
@ 4,Int((80-lenZag)/2) to 4,Int((80-lenZag)/2)+LenZag Color u/w*
@ 3,Int((80-LenZag)/2) Say Zag Color u/w*
@ 14,0
Text
Вы хотите автоматически создать пустую структуру
с указанным именем, по заданию курсового проекта (Д/Н)?
EndText
Do While .T.
@ 16,57
Wait '' to ABC
If ABC='н' Or ABC='д'
ABC=Chr(Asc(ABC)-32)
EndIf
If ABC='Н' Or ABC='Д'
Exit
EndIf
EndDo
If ABC='Д'
Create Table &NameFd ;
(NomCex N(1,0), TabNom N(4,0), Fam C(20), Prof C(20), Razr N(1,0))
@ 8,0
set Talk on
Display Structure
set Talk off
Else
Create &NameFd
EndIf
EndIf
@ 24,0
Wait 'Для возврата в меню нажмите любую клавишу ...'
@ 24,0 Clear
Return
Чтение файла данных
* Командный файл ReadFd - чтение файла данных
set Talk off
set Status off
set Escape off
Clear
@ 4,27 to 4,54 Color u/w*
@ 3,27 Say 'Процесс чтения файла данных' Color u/w*
@ 12,0
Accept ' Введите имя считываемого файла данных: ' to NameFd
If Len(NameFd) >0
@ 3,0 Clear to 5,79
Zag='Содержимое файла данных: ' + NameFd + '.dbf'
LenZag=Int(Len(Zag))
@ 4,Int((80-lenZag)/2) to 4,Int((80-lenZag)/2)+LenZag Color u/w*
@ 3,Int((80-LenZag)/2) Say Zag Color u/w*
Use &NameFd
Do While .Not.EOF()
@ 7,0
Display Next 15
If EOF()=.F.
Skip
@ 24,0
Wait 'Нажмите любую клавишу для просмотра следующих 15 записей ...'
EndIf
EndDo
Close DataBases
EndIf
@ 24,0
Wait 'Для возврата в меню нажмите любую клавишу ...'
@ 24,0 Clear
Return
Добавление данных в файл данных
* Командный файл AddFd - добавление файла данных
set Talk off
set Status off
set Escape off
Clear
@ 4,25 to 4,56 Color u/w*
@ 3,25 Say 'Процесс добавления файла данных' Color u/w*
@ 12,0
Accept ' Введите имя файла данных для добавления данных: ' to NameFd
If Len(NameFd) >0
@ 3,0 Clear
Zag='Добавление данных в файл данных: ' + NameFd + '.dbf'
LenZag=Int(Len(Zag))
@ 4,Int((80-lenZag)/2) to 4,Int((80-lenZag)/2)+LenZag Color u/w*
@ 3,Int((80-LenZag)/2) Say Zag Color u/w*
Use &NameFd
Append
Close DataBases
EndIf
@ 24,0
Wait 'Для возврата в меню нажмите любую клавишу ...'
@ 24,0 Clear
Return
Печать сведений о количестве работников каждого из пяти цехов заданного разряда.
* командный файл печати сведений о работниках заданного разряда Zad1
clear
set talk off
@ 5,25 say ' Командный файл печати сведений о работниках заданного разряда Zad1'
accept 'Введите имя файла данных: ' to NameFd
use &NameFd
input 'Введите номер разряда: ' to RazrNom
clear
@ 5,10 say 'Сведения о работниках цеха, имеющих разряд '+STR(RazrNom,1)
@ 6,5 say '------------------------------------------------------'
@ 7,15 say 'Цех'
@ 7,40 say 'Количество'
@ 8,5 say '------------------------------------------------------'
store 1 to Kk
store 5 to Nn
store 0 to Kol
store 9 to Ss
do while (Kk<=Nn)
Scan
if Razr=RazrNom
if NomCex=Kk
store Kol+1 to Kol
endif
endif
EndScan
@ Ss,7 say Kk
@ Ss,35 say Kol
store 0 to Kol
store Kk+1 to Kk
store Ss+1 to Ss
enddo
@ Ss+1,5 say'------------------------------------------------------'
wait 'Для возврата в меню нажмите любую клавишу ...'
return