Sunteți pe pagina 1din 9

x="nu"

DO WHILE x="NU" OR x="nu" OR x="Nu"


? "Optiunile sunt: "
? "a) Pentru o persoana a carei nume se citeste de la tastatura ce carte a imprumutat si cand"
? "b) Pentru o carte al carui titlu si autor se citesc de la tastatura de cine a
fost imprumutata si cand"
? "c) Cat costa cartea imprumutata de un cititor (al carui nume se citeste de la tastatura) la o
data citita "
? "d) La cine este cea mai scumpa carte (in cazul in care a fost imprumutata)"
? "e),f) De cate ori a imprumutat carti un cititor al carui nume se citeste de la tastatura; care
este ultima carte imprumutata de acesta"
? "g) Este cartea X imprumutata de cititorul Y? "
? "h) De la ce editura este ultima carte imprumutata. De cine a fost imprumutata? "
? "i),j) Cand a imprumutat cititorul X cartea cu titlul Y de la editura Z? A imprumutat de mai
multe ori cititorul X aceasta carte? (se va afisa adevarat sau fals)"
? "k) Reduceti cu 10% pretul cartilor aparute in anul 2000. "
? "l) Cartile autorului Creanga sunt republicate la editura ARABELA."
? "m) Cate carti ale autorului Eminescu au fost publicate la editura Corint?"
? "n) Afisati cititorii care au imprumutat carti ale autorului Bacovia"
? "o) Cati cititori sunt din Radauti?"
? "p) Afisati numele si telefonul cititorilor care nu au imprumutat nicio carte."
ACCEPT "Ce optiune alegeti? (a/b/c/d/e,f/g/h/i,j/k/l/m/n/o/p) " to y
DO CASE
CASE y="a"
accept "Citeste numele persoanei " to x
sele 2
scan for nume_prenu=x
i=cod_citito
sele 3
scan for cod_citito=i
z=data_impru
j=cod_carte
sele 1
scan for cod_carte=j
? "Titlul cartii imprumutate de ",x, " este: ",titlu
sele 3
?"Data la care a fost imprumutata cartea este: ", data_impru
endscan
endscan
endscan
CASE y="b"
accept "Citeste titlul cartii " to x
accept "Citeste autorul cartii " to y
sele 1
scan for titlu=x and autor=y
i=cod_carte
sele 3
scan for cod_carte=i
z=data_impru
j=cod_citito
sele 2
scan for cod_citito=j
? "Cartea a fost imprumutata de: ",nume_prenu
sele 3
? "Data la care a fost imprumutata cartea este: ",data_impru
endscan
endscan
endscan
CASE y="c"
accept "Citeste numele cititorului " to x
input "Citeste data la care a fost imprumutata cartea " to y
sele 2
scan for nume_prenu=x
i=cod_citito
sele 3
scan for cod_citito=i and data_impru=y
j=cod_carte
sele 1
scan for cod_carte=j
? "Pretul cartii este: ", pret
endscan
endscan
endscan
CASE y="d"
sele 1
p=0
ok=0
scan for pret>p
p=pret
endscan
scan for pret=p
i=cod_carte
sele 3
scan for cod_carte=i
j=cod_citito
sele 2
scan for cod_citito=j
? "Cea mai scumpa carte se afla la: ",nume_prenu
ok=1
endscan
endscan
endscan
if ok=0
? "Cea mai scumpa carte nu a fost imprumutata"
endif
CASE y="e,f"
nr=0
accept "Citeste numele cititorului " to x
sele 2
scan for nume_prenu=x
i=cod_citito
sele 3
maxi={^1000-01-01}
scan for cod_citito=i
nr=nr+1
if maxi<data_impru
maxi=data_impru
endif
endscan
endscan
? "A imprumutat carti de ",nr," ori"
sele 3
scan for data_impru=maxi
j=cod_carte
sele 1
scan for cod_carte=j
? "Ultima carte imprumutata este: ",titlu
endscan
endscan
CASE y="g"
accept "Citeste cartea " to X
accept "Citeste cititorul " to Y
ok=0
sele 2
scan for nume_prenu=Y
i=cod_citito
sele 3
scan for cod_citito=i
j=cod_carte
sele 1
scan for cod_carte=j
if titlu=X
ok=1
endif
endscan
endscan
endscan
if ok=1
? "Cartea ", X, " este imprumutata de ",Y
else
? "Cartea ", X, " nu este imprumutata de ",Y
endif
CASE y="h"
) maxi={^1000-01-01}
sele 3
scan for data_impru>maxi
maxi=data_impru
endscan
scan for data_impru=maxi
i=cod_carte
j=cod_citito
sele 1
scan for cod_carte=i
? "Ultima carte imprumutata este de la editura ",editura
sele 2
scan for cod_citito=j
? "Aceasta a fost imprumutata de ",nume_prenu
endscan
endscan
endscan
CASE y="i,j"
d={^1000-01-01}
j=0
i=0
nr=0
accept "Citeste numele cititorului " to X
accept "Citeste titlul cartii " to Y
accept "Citeste numele editurii " to Z
sele 2
scan for lower(nume_prenu)=lower(X)
i=cod_citito
endscan
sele 1
scan for lower(titlu)=lower(Y) and lower(editura)=lower(Z)
j=cod_carte
endscan
sele 3
scan for cod_citito=i and cod_carte=j
d=data_impru
nr=nr+1
endscan
if d!={^1000-01-01}
? "Cartea a fost imprumutata pe data de ",d
else
? "Cartea nu a fost imprumutata de acest cititor"
endif
? nr>1
CASE y="k"
sele 1
replace pret with pret-0.1*pret for an_apariti=2000
CASE y="l"
sele 1
replace editura with "ARABELA" for atc("Creanga",autor)!=0
CASE y="m"
) nr=0
sele 1
scan for atc("Eminescu",autor)!=0 and editura="Corint"
nr=nr+1
endscan
? nr, " carti ale lui Eminescu au fost publicate la editura Corint"
CASE y="n"
? "Cititorii care au imprumutat carti ale autorului Bacovia sunt: "
ok=0
sele 1
scan for atc("Bacovia",autor)!=0
i=cod_carte
sele 3
scan for cod_carte=i
j=cod_citito
sele 2
scan for cod_citito=j
? nume_prenu
ok=1
endscan
endscan
endscan
if ok=0
? "Niciun cititor nu a imprumutat carti ale autorului Bacovia"
endif
CASE y="o"
cnt=0
sele 2
scan for adresa="Radauti"
cnt=cnt+1
endscan
if cnt!=0
? cnt, " cititori sunt din Radauti"
else
? "Nu exista cititori din Radauti"
endif
CASE y="p"
ok=0
sele 2
x=reccount()
for i=1 to x
goto record i
j=cod_citito
sele 3
y=reccount()
for k=1 to y
goto record k
if cod_citito=j
ok=1
endif
endfor
if ok=0
sele 2
scan for cod_citito=j
? "Numele si telefonul cititorilor care nu au imprumutat nicio carte: ",nume_prenu," ",telefon
endscan
endif
endfor
OTHERWISE
? "Optiune invalida."
ENDCASE
ACCEPT "Doriti sa parasiti programul? (DA/NU) " to x
ENDDO

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