- •Государственный университет управления
- •Задание на курсовой проект
- •Анализ и постановка задачи
- •Формализация задачи
- •Алгоритмы
- •Создание файла данных
- •Чтение файла данных
- •Добавление данных в файл данных
- •Печать сведений о количестве работников каждого из пяти цехов заданного разряда.
- •Печать сведений о количестве работников каждой профессии по заданному разряду заданного цеха.
- •Печать упорядоченного по алфавиту списка работников каждой профессии.
- •Результаты решений
- •Заключение
- •Список литературы
Печать сведений о количестве работников каждой профессии по заданному разряду заданного цеха.
* командный файл печати сведений о работниках заданного разряда Zad2
clear
set talk off
@ 5,25 say ' Командный файл печати сведений о работниках заданного разряда Zad2'
accept 'Введите имя файла данных: ' to NameFd
Use &NameFd
input 'Введите номер разряда: ' to RazrNom
input 'Введите номер цеха: ' to CexNom
clear
@ 5,10 say 'Количество работников цеха № '+STR(CexNom,1)+', имеющих '+STR(RazrNom,1)+' разряд'
@ 6,5 say '------------------------------------------------------'
@ 7,15 say 'Профессия'
@ 7,40 say 'Количество'
@ 8,5 say '------------------------------------------------------'
store 9 to Row
store 0 to Kol
store 1 to N,Nm
count to col
dimension PR(col)
scan
if ASCAN(PR,PROF)=0
store PROF to PR(N)
store N+1 to N
endif
endscan
do while Nm<N
scan for RAZR=RazrNom and NOMCEX=CexNom and PROF=PR(Nm)
store Kol+1 to Kol
endscan
@ Row,10 say PR(Nm)
@ Row,35 say Kol
store 0 to Kol
store Row+1 to Row
store Nm+1 to Nm
enddo
@ Row+1,5 say '------------------------------------------------------'
wait 'Для возврата в меню нажмите любую клавишу ...'
return
Печать упорядоченного по алфавиту списка работников каждой профессии.
* командный файл печати упорядоченного списка работников каждой про-фессии Zad3
clear
set talk off
@ 5,5 say 'Командный файл печати упорядоченно списка работников каждой профессии Zad3'
accept 'Введите имя файла данных: ' to NameFd
clear
use &NameFd
index On PROF+FAM to &NameFd
use &NameFd Index &NameFd
store 1 to Row
store 0 to Kol
store 1 to N,Nm
count to col
dimension PR(col)
scan
if ASCAN(PR,PROF)=0
store PROF to PR(N)
store N+1 to N
endif
endscan
do while Nm<N
@ Row,12 say 'Список работников професcии ' + PR(Nm)
@ Row+1,5 say '-----------------------------------------------------------'
@ Row+2,7 say 'Номер цеха Таб.номер Фамилия Разряд'
@ Row+3,5 say '-----------------------------------------------------------'
scan for PROF=PR(Nm)
@ Row+4,11 say NOMCEX
@ Row+4,25 say TABNOM
@ Row+4,40 say FAM
@ Row+4,58 say RAZR
store Row+1 to Row
endscan
@ Row+4,5 say '-----------------------------------------------------------'
store Nm+1 to Nm
store Row+6 to Row
ifRow>=40
Row=1
wait 'Нажмите любую клавишу для вывода ннформации о работниках следующих профессий'
clear
endif
enddo
Close DataBases
Delete File NameFd + '.idx'
wait 'Для возврата в меню нажмите любую клавишу ...'
return
Результаты решений
Выбор создания файла данных
Номер цеха |
Табельный номер |
Фамилия |
Профессия |
Разряд |
1 |
1001 |
Белов |
Механик |
4 |
1 |
1002 |
Маслов |
Шумоизоляторщик |
5 |
1 |
1003 |
Ситников |
Перегонщик |
3 |
1 |
1004 |
Чернов |
Помощник механика |
2 |
2 |
1005 |
Сорокин |
Автослесарь |
4 |
2 |
1006 |
Хохлов |
Сигнализаторщик |
5 |
2 |
1007 |
Сиротин |
Шиномонтажник |
4 |
2 |
1008 |
Смирнов |
Слесарь |
4 |
3 |
1009 |
Колосов |
Механик по тюнингу |
5 |
3 |
1010 |
Бобров |
Механик |
4 |
3 |
1011 |
Никулин |
Шумоизоляторщик |
5 |
3 |
1012 |
Малышев |
Механик |
4 |
4 |
1013 |
Брусков |
Помощник механика |
2 |
4 |
1014 |
Воробьев |
Автослесарь |
4 |
4 |
1015 |
Леонов |
Сигнализаторщик |
5 |
4 |
1016 |
Сиднев |
Механик |
4 |
5 |
1017 |
Ильин |
Автослесарь |
3 |
5 |
1018 |
Фадеев |
Шиномонтажник |
4 |
5 |
1019 |
Астахов |
Слесарь |
4 |
5 |
1020 |
Рублев |
Механик по тюнингу |
5 |
Выбор чтения файла данных
Выбор добавления данных
в файл данных
Номер цеха |
Табельный номер |
Фамилия |
Профессия |
Разряд |
1 |
1021 |
Волков |
Шиномонтажник |
3 |
2 |
1022 |
Новиков |
Слесарь |
4 |
3 |
1023 |
Григорьев |
Механик |
5 |
4 |
1024 |
Журавлев |
Помощник механика |
2 |
5 |
1025 |
Дианов |
Автослесарь |
5 |
Выбор выполнения Задания №1
Выбор выполнения Задания №2
Выбор выполнения Задания №3
Выход из СУБД