Sunteți pe pagina 1din 16

CLASA A-12-A C

REZOLVAREA PROBELEMELOR :
set talk of
clear
close all data
opt=1
do while opt!=0
clea
@ 1,5 say "1-CREAREA TABELELOR"
@ 3,5 say "2-POPULAREA TABELEI REZULTATE"
@ 5,5 say "3-POPULAREA TABELEI SPECIALIZARI"
@ 7,5 say "4-Modificare datelor pentru un elev"
@ 9,5 say "5-STERGEREA UNUI ELEV"
@ 11,5 say "6-REPATIZAREA ELEVILOR"
@ 13,5 say "7-AFISARE RESPINSI"
@ 15,5 SAY "8-LOCURI LIBERE PE SPECIALIZARI"
opt=0
@ 30, 10 say "dati optiunea=" get opt size 1,3 pict '99' defa 0
read
do case
case opt==1
do pr1
case opt==2
do pr2
case opt==3
do pr3

case opt==4
do pr4
case opt==5
do pr5
case opt==6
do pr6
case opt==7
do pr7
CASE OPT==8
DO PR8
endc
enddo
********************************crearea
tebelelor********************************

procedure pr1
clea
create table REZULTATE (NUME C(20),CNP C(13),SCOALA C(20),MEDIA
N(5,2),OPTIUNE1 N(1),OPTIUNE2 N(1),OPTIUNE3 N(2) )
create table SPECIALIZARI (CODS N(1),NUMES C(20),NRLOCURI N(3))
create table MI(NUME C(20),CNP C(13),SCOALA C(20), MEDIA N(5,2) )
create table SN(NUME C(20),CNP C(13),SCOALA C(20), MEDIA N(5,2) )
create table FILO(NUME C(20),CNP C(13),SCOALA C(20), MEDIA N(5,2) )
create table RESPINSI(NUME C(20),CNP C(13),SCOALA C(20), MEDIA N(5,2) )
wait "Am creat tabelele!"
return

*******************************POPULARE TABELA
REZULTATE**********************
procedure pr2
clea
close all data
use REZULTATE
@1,1 say "matematica-informatica =1; stiinte ale naturii =2; filologie =3"
ok=1
do while ok==1
@ 2,2 say "DATI NUME= " get WNUME pict repl ('x',20) size 1,20 defa repl ('
',20)
@ 4,2 say "DATI CNP= " get WCNP pict repl ('x',13) size 1,13 defa repl (' ',13)
@ 6,2 say "DATI MEDIA =" get WMEDIA pict '99.99' size 1,8 defa 0.0
@ 8,2 say "DATI OPTIUNEA1=" get WOPTIUNEA1 pict'9' size 1,2 defa 0 valid
fc(woptiunea1)
@ 10,2 say "DATI OPTIUNEA2=" get WOPTIUNEA2 pict'9' size 1,2 defa 0 valid
fc(woptiunea1)
@ 12,2 say "DATI OPTIUNEA3=" get WOPTIUNEA3 pict'9' size 1,2 defa 0 valid
fc(woptiunea1)
read
appen blank
repl NUME with WNUME, CNP with WCNP, MEDIA with WMEDIA, OPTIUNE1
with WOPTIUNEA1, OPTIUNE2 with WOPTIUNEA2, OPTIUNE3 with
WOPTIUNEA3
WNUME=REPL(' ',20)
WCNP=REPL(' ',13)
WMEDIA=0.0

WOPTIUNE1=0
WOPTIUNE2=0
WOPTIUNE3=0
@ 20, 5 say "continuati ? 1-DA/0-NU:" get ok pict '9' size 1,2 defa 0
read
enddo
brow
close all data
return
*****************************POPULARE TABELA
SPECIALIZARI**********************
procedure pr3
clea
close all data
use SPECIALIZARI
@1,1 say "matematica-informatica =1; stiinte ale naturii =2; filologie =3"
ok=1
do while ok==1
@ 2,2 say "DATI COD SPECIALIZARE = " get WCODS pict '9' size 1,2 defa 0
@ 4,2 say "DATI NUME SPECIALIZARE= " get WNUMES pict repl ('x',20) size
1,20 defa repl (' ',20)
@ 6,2 say "DATI NUMAR DE LOCURI SPECIALIZARE =" get WNRLOCURI pict
'999' size 1,4 defa 0
READ
appen blank
repl CODS with WCODS, NUMES with WNUMES, NRLOCURI with WNRLOCURI

wCODS=0
wNUMES=REPL(' ',20)
wNRLOCURI=0
@ 10, 5 say "continuati ? 1-DA/0-NU:" get ok pict '9' size 1,2 defa 0
read
enddo
brow
close all data
return
******************************POPULAREA TABELELOR DE
ELEVI*********************
procedure pr6
close all data

use specializari
c1=cods
nr1=nrlocuri
skip
c2=cods
nr2=nrlocuri
skip
c3=cods
nr3=nrlocuri
use

sele 5
use rezultate
sort on media/d to rezultateo
use rezultateo
sele 1
use mi
sele 2
use sn
sele 3
use filo
sele 4
use respinsi

sele 5
scan

vnume=nume
vcnp=cnp
vscoala=scoala
vmedia=media
opt1=optiune1
opt2=optiune2
opt3=optiune3

if opt1==1

if nr1>=1
do adaug with 1
else
if opt2==2
if nr2>=1
do adaug with 2
else
if nr3>=1
do adaug with 3
else
do adaug with 4
endif
endif
endif
endif
endif

if opt1==2
if nr2>=1
do adaug with 2
else
if opt2==1
if nr1>=1
do adaug with 1

else
if nr3>=1
do adaug with 3
else
do adaug with 4
endif
endif
endif
endif
endif

if opt1==3
if nr3>=1
do adaug with 3
else
if opt2==1
if nr1>=1
do adaug with 1
else
if nr2>=1
do adaug with 2
else
do adaug with 4
endif

endif
endif
endif
endif
ends

sele 1
brow
sele 2
brow
sele 3
brow
sele 4
brow

close all data


return
*******************************validare optiune tabla rezulate
*********************
function fc
param x
if x>=1.and. x<=3
return 1
else
return 0

endif
return

****************************adaugare al o tabela*************************
procedure adaug
param x
if x==1
sele 1
nr1=nr1-1
endif
if x==2
sele 2
nr2=nr2-1
endif
if x==3
sele 3
nr3=nr3-1
endif
if x>3
sele 4
endif
append blank
repl nume with vnume, cnp with vcnp, scoala with vscoala, media with
vmedia
sele 5

return

*************************modificare datelor pentru un elev


dat*********************
procedure pr4
clea
close all data
use REZULTATE

ok=1
do while ok==1
@ 2,2 say "DATI NUME= " get WNUME pict repl ('x',20) size 1,20 defa repl ('
',20)
read
locate for at(upper (alltrim(wnume)),upper(alltrim(nume)))>0
if .NOT. found()
@ 10,10 say "nu exista"
else
@ 4,2 SAY " DATI CNP NOU=" get WCNP pict repl ('x',13) size 1,13 defa repl
(' ',13)
@ 6,2 say "DATI MEDIA =" get WMEDIA pict '99.99' size 1,8 defa 0.0
@ 8,2 say "DATI OPTIUNEA1=" get WOPTIUNEA1 pict'9' size 1,2 defa 0 valid
fc(woptiunea1)
@ 10,2 say "DATI OPTIUNEA2=" get WOPTIUNEA2 pict'9' size 1,2 defa 0 valid
fc(woptiunea1)
@ 12,2 say "DATI OPTIUNEA3=" get WOPTIUNEA3 pict'9' size 1,2 defa 0 valid
fc(woptiunea1)

read
repl CNP with WCNP, MEDIA with WMEDIA, OPTIUNE1 with WOPTIUNEA1,
OPTIUNE2 with WOPTIUNEA2, OPTIUNE3 with WOPTIUNEA3
WNUME=REPL(' ',20)
WCNP=REPL(' ',13)
WMEDIA=0.0
WOPTIUNE1=0
WOPTIUNE2=0
WOPTIUNE3=0
ENDIF
@ 20, 5 say "continuati ? 1-DA/0-NU:" get ok pict '9' size 1,2 defa 0
read
enddo
brow
close all data
return
*****************************STERGEREA UNUI ELEV DUPA
NUME******************
procedure pr5
clea
close all data
SET DELETE OFF
use REZULTATE

ok=1
do while ok==1

@ 2,2 say "DATI NUME= " get WNUME pict repl ('x',20) size 1,20 defa repl ('
',20)
read
locate for at(upper (alltrim(wnume)),upper(alltrim(nume)))>0
if .NOT. found()
@ 10,10 say "nu exista"
else
DELETE
PACK
ENDIF
@ 20, 5 say "continuati ? 1-DA/0-NU:" get ok pict '9' size 1,2 defa 0
read
enddo
brow
close all data
return
***************************AFISARE ELEVI RESPINSI
ALFABETIC**********************
PROCEDURE PR7
CLOSE ALL DATA
USE RESPINSI
INDEX ON UPPER(NUME) TAG NUME
BROW
USE
RETURN

*******************AFISAREA NUMARULUI DE LOCURI LIBERE PE


SPECIALIZARI***********
procedure pr8
use specializari
nr1=nrlocuri
skip
nr2=nrlocuri
skip
nr3=nrlocuri
use
use mi
clea
if reccount()<=nr1
@ 5,5 say "la mate-info " +str(nr1-reccount())
endif

use sn
if reccount()<=nr2
@7,5 say "la stiintele naturii "+str(nr2-reccount())
endif
use filo
if reccount()<=nr3
@9,5 say "la filologie " +str(nr3-reccount())
endif
use

wait "apasa o tasta"


return

PROIECT REALIZAT DE :
-CHIRITA PAUL (SEF DE ECHIPA)
-ARSENE ALEXANDRU
-BRINZARU ROBERT
-CAPRARU ADRIANA

S-ar putea să vă placă și