Pracownicy cz. 1.pdf
(
159 KB
)
Pobierz
110593902 UNPDF
Defrnicja
struktury
dhnych
wykorzystywanej
w programie,
nagw-
ki
procedur
otaz
progTam
gwny
s
przedstawione
poniej.
W
progra-
mie
gwnym po
odczytaniu
zawartoci
pliku
do
tablicy w zalenoci
od
wartoci
podawanej
przez funkcj Menu
jest
wykonylvana
odpowiednia
operacja.
Program
13.2
program
Baza3rac;
uses crt,Dos;
{
dolczenie
moduu
Crt
}
ttrce
ident
=
record
imiepier,
i mi arlrrr
!.Lrf
e\l! uY
t
nazwisko: string[20]
end;
data
=
record.
dzien.
miesiac,
rok: integer;
miejsce: string[20]
end;
ulica: string
[3
0
]
;
numer,
mieszkanie,
telefon: inteqer
...--r
---",-sc
/
adresprac
=
record
kod: integer;
mi ai cnar^rn,
end;
;ezyki
:
record
angielski,
r^auicLi
niamionLi
francuski: string
[3]
end;
poziomprac
:
record
r^rrrlrqzl-:lnr
-*--enre,
stanowisko: string
i30l
;
obce:
jezyki
end;
pracownik
:
record
nazwi rdent;
urodz:
data;
adres:
adrespraci
poziom
I
poziomprac
end;
const
n_max:100;
dane:
array[1.
ln_max]
of
pracownik;
baza:
file
of
pracownik;
koniec:
boolean;
i n'|-anar.
Procedure
CzyLal
(
var prac:
pracownrk);
{
Procedura
wprowadzania
informacji
o
jednym
pracowniku
}
begin
{
Tre
procedury zamieszczono
ponizej
}
end;
procedure Wyswietl
(prac :pracownik)
;
{
Procedura
wywietlania informacji
o
jednym
pracowniku
}
begin
{
Treprocedury
zamieszczono
ponizej
}
end;
var
procedure Zapisz
(n:
integer);
i
Procedura
zapisywania
zawartoci
tablicy
na
dysk
}
begin
{
Treprocedury
zamleszczono
ponize1
}
end;
procedure
Odczyta;
(var
n: integer);
{
Procedura
odczytywania
zawartocipliku
do
tablicy
}
begin
{
Tre
procedury
zamieszczono
ponize1
}
end;
function
Menu:
integer;
{
Funkcja
tworzenia
menu
systemu
}
begin
{
Trefunkcji
zamieszczono
ponizej
}
procedure
Wszyscy;
{
Procedura
wywietlania
informacji
o
wszystkich
pracownikach
)
begin
{
Tre
proced'ury zamieszczono
ponize1
}
end;
procedure
Zamieszk;
i
Procedura znajdowania pracownikw
zamieszkavch
na
podanej
ulicy
)
begin
{ Trer. nrnr-eclllrrz
-:mi Aq7.7^n nnni ai
t
J
aur(rfso-vLvLLv
lJvlrf4eJ
I
end;
procedure
Wiek;
{
Procedura znajdowania
pracownikw
urodzonych
po
roku
1958
)
begin
{
Trec
procedury
zamj-eszczono
ponizej
}
end;
Procedure
Wyzsze;
{
Procedura znajdowania pracownikow
z
wyzszym
wyksztaceniem
}
end;
begin
{
Tre
procedury zamieszczono
ponizej
}
end;
begin
{
poczatek
programu
}
FindFirst
('
bazadysk',
Archive,
Tnfo)
;
if DosError
<>
18
then
{je]i
pIik istnieje}
odczytaj
(n)
; {
odczytanie zawartoci
p1iku
}
koniec
:=
false;
repeat
case
Menu
of
1: Wszyscy;
{
wywietlenie
informacji
o
wszystkich
pracownikach
)
2:ifn<nmaxthen
begin
n .- n r 1.
{
wczytanie
danych
dla
pracownika
i
CzyLaj
(dane
[n]
)
end;
3: Wiek;
{
wiek
pracownika
}
4: Zamieszk;
{
zamieszkanie pracownika
}
5: Wyzsze;
0:
begin
i
zapisanie
zawartoci tablicy
do
p1iku
}
Zapisz
(n)
;
koniec
:
=
true
end
{
wyksztatcenie
wyzsze
}
end
until koniec;
end.
{
ptla
nieskoczona
}
Moemy tetaz
ptzystpi
do lszczeglawiania
programu poptzez
odpowiednie zaprojektowanie procedur.
Najpierw
zaprojektujemy
algorytm wykorzystywany
w
funkcji
Menu.
Algorytm
13.1
WyWiet|
menu systemU
repeat
zidentyfikuj
ostatnio nacinity
k|awisz
unt.l ostatnio nacinitym
k|awiszem by
klawisz
0,1
,2,3,4,5
|ub
Esc
wyznacz
Warto
przypisan
funkcji Menu
Tre
funkcji Menu
jest
przedstawiona
poniej.
funetion
Menu:
integer;
{
Funkcja
tworzenia
menu
sysemu
}
var
znak:
char;
begin
CIrscr;
writeln(' Liczba
rekordw
w
bazie
',D)i
writeln;
rpracowniku'
)
;
writeln(' 3
-
Znajdowanie
wszyskich
pracownikw',
I
urodzonych po
roku
1958
');
writeln(' 4
-
Znajdowanie
wszystkich
pracownikw',
'
zamieszka.ych
na
danej u1icy');
write1n(' 5
-
Znajdowanie
wszystkich
pracownikw
z
.,
Iwyksztaceniem
wy'szym|
)
;
writeln(' 0
-
Wyjciez
systemu'
;
;
writeln;
write('
Wprowad
l-iczb z
o - 5
');
repeat
znak ::
ReadKey;
until
znak
in
['0'
.'5',chr(27\l;
if
ord(znak)
:
27 then
menu
::
0
else
menu
:: ord(znak)
-
ord('0')
end;
Zwtmy uwag
na
sposb
sprawdzenia,
czy wczytano
odpowiedni
zrlak.
W
tym
celu wykorzystuje si operator
in,
ktry
bada przynalez-
nonacinitego
znaku
do zbioru znakw
od
zera do
piciu
i
znaku
Esc.
Jeeli
nacinitok]awisz
Esc, to
funkcja
Menu
podaje
wa.rto
0,
natomiast gdy nacinito
klawisz
odpowiadajcy
liczbie,
tn
wyznacze-
nie
wartoci
podawanej ptzez
funkcj
Menu
odbywa si
poprzez
wyko-
rzystanie funkcji
ord(),
ktra
podaje
numer
porzdkowy
argumentu.
(W
writeln('
GWNE
MENU
PRoGRAMU
,);
writeln;
writeln('
1
-
Wywielanie
danych
dla wszystkich',
'
pracownikw');
writeln(' 2 -
Dodawanie
informacji o
nowltm
',
Plik z chomika:
rusek88
Inne pliki z tego folderu:
13 Surfin' Bird.mp3
(5534 KB)
01 Surfin' Bird.mp3
(5602 KB)
ZDJĘCIA NYSY.rar
(131630 KB)
Prezentacja.txt
(0 KB)
Programowanie.rar
(205 KB)
Inne foldery tego chomika:
!!!!!Dead Rising 2 Torrent + crack!!!!!
Desperate Housewives !!!
Dokumenty
Filmy
Galeria
Zgłoś jeśli
naruszono regulamin