Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » scoala » informatica
INFORMATICA FIRMA DE INCHIRIERI AUTO 'TOP_CARS_RENT'

INFORMATICA FIRMA DE INCHIRIERI AUTO 'TOP_CARS_RENT'


 



Sistemele de gestiune a bazelor de date (SGBD)-identificarea datelor care intervin intr-o problema si aplicarea algoritmilor fundamentali de prelucare a acestora.

Baza de date relationala este un instrument complex de organizare a datelor. Aceasta este prevazuta cu posibilitatea realizarii de legaturi intre doua sau mai multe baze de date , legaturi ce permit accesarea simultana a unor date care se afla intr-o anumita relatie din baze de date diferite. O baza de date poate fi prvita ca un tabel.

SGBD-trebuie sa asigure:

  • definirea bazei de date
  • actualizarea datelor din baza de date prin:-adaugarea de noi inregistrari
  • ștergerea unor inregitrari 
  • interogarea bazei de date

VISUAL FoxPro este cea mai noua versiune a sistemului de gestiune a bazelor de date FoxPro.Termenul visual inseamna ca aplicatia dispune de instrumente folosite de programarea vizuala.

Sistemul de gestiune a bazelor de date FoxPro este cel mai raspandit produs de acest tip pentru microcalculatoare.

FoxPro este un sistem de gestiune a bazelor de date relational dezvoltat de firma FoxSoftware.

Inca din cele mai vechi timpuri, omul a cautat metode prin care sa poata transporta diferite materiale sau hrana pe distanțe mult mai mari. Astfel, el a construit, folosindu-și inteligenta cu care este inzestrat, diferite mijloace de transport, de la cele mai rudimentare, atingand apogeul in sec. al XIX-lea, odata cu invenția automobilului.In zilele noastre automoblilul este cel mai important mijloc de transport fiind foarte util si practic.Exista o gama variata de automobile de la masini mici de oraș pana la autocamioane de transport internațional.Populația Terei deține un numar foarte mare de automobile care sunt intrebuințate in diferite scopuri.Pentru cei care nu dețin un automobil și au nevoie de un mijloc de transport exista o soluție:inchirierea acestuia. 

In acest atestat tema mea este inchirierea de automobile. Proiectul meu este o aplicație pur didactica care poate fi utilizata cu mici modificari intr-o companie reala.Acest program reține informații cu privire la mașinile aflate in parcul auto și inchirierea acestora pe baza unui contract de inchiriere.Am gestionat in diferite tabele date despre mașini,clienți precum și inchirierea acestora.

Tabelele sunt relaționate astfel:mașina-client o relație n:n pe care am transformat-o cu ajutorul tabelei inchiriere intr-o relație de 1:n si 1:1.

Am utilizat limbajul de programare Visual FoxPro pentru crearea lucrarii de atestat, deoarece acest limbaj are un viitor in domeniul economic (de gestiune a bazelor de date),dar si pentru un mod rapid,corect si placut de lucru

MASINA

-campul 'id' este de tip numeric(5) si reprezinta id-ul masinii

-campul 'marca' este de tip character(15) si reprezinta denumirea masinii

-campul ' model' este de tip character(10) si reprezinta modelul masinii

-campul 'an_fab' este de tip numeric(5) si reprezinta anul de fabricatie al masinii

-campul 'cp' este de tip numeric(5) si reprezinta puterea dezvoltata de motorul masinii

-campul 'carburant' este de tip character(10) si reprezinta carburantul utilizat de masina

-campul 'culoare' este de tip character(10) si reprezinta culoarea masinii

-campul 'foto' este de tip general si reprezinta fotografia masinii

Masina.dbf

CLIENT

-campul 'cod_client' este de tip numeric(5) si reprezinta codul clientului

-campul 'nume' este de tip character(15) si reprezinta numele clientului

-campul 'prenume' este de tip character(15) si reprezinta prenumele clientului

-campul 'cnp' este de tip numeric(13) si reprezinta codul numeric personal al clientului

-campul 'telefon' este de tip character(10) si reprezinta numarul de telefon al clientului

-campul 'email' este de tip logical si reprezinta existenta adresei de mail a clientului

-campul 'adresa' este de tip memo si reprezinta adresa clientului

Client.dbf

INCHIRIERE

-campul 'nr' este de tip integer si reprezinta numarul inchirierii

-campul 'data' este de tip date si reprezinta data la care a fost inchiriata masina

-campul 'durata_ore' este de tip numeric(5) si reprezinta durata inchirierii masinii

-campul 'restituire' este de tip logical si reprezinta returnarea masinii

-campul 'id' este de tip numreic(5) si reprezinta id-ul masinii

-campul 'cod' este de tip numeric(5) si reprezinta codul clientului

Inchiriere.dbf

ERD-inițial cuprinde o relatie de n:n pe care o voi sparge intr-o relație de 1:n si 1:1

Masina

# id

*marca

*model

*an_fab

*cp

*carburant

* culoare

* foto

Client

cod_client

*nume

*prenume

*cnp

*telefon

*email

*adresa


n:n

ERD-final cuprinde o relație de 1:n si una de 1:1

Masina

# id

*marca

*model

*an_fab

*cp

*carburant

* culoare

* foto

Client

cod_client

*nume

*prenume

*cnp

*telefon

*email

*adresa

Inchiriere

*nr

*data

*durata

*restituire

*id

*cod_client

1:n 1:1

Pe fundalul aplicatiei am afișat o fotografie reprezentativa firmei peste care am atașat un meniu orizontal format din: actualizare, vizualizare, situație și terminare

I. In meniul actualizare am format un popup alcatuit din opțiunile: adaugare, modificare, stergere și info_top_cars_rent.

a) Procedura   de Adaugare presupune alegerea unei opțiuni care se refera la adaugarea unei inregistrari noi in tabela: mașina/client;

b) Procedura de Modificare presupune alegerea unei opțiuni care se refera la modificarea unei inregistrari in tabela: mașina/client;

c) Procedura de Ștergere presupune ștergerea unei mașini/client a caror marca/nume se citește de la tastatura ;

d) Procedura Info_top_cars_rent presupune afișarea unor informații legate de firma TOP_CARS_RENT (locație,nr de telefon)

II. In meniul vizualizare am format un popup alcatuit din opțiunile: client,mașina,inchiriere.

a)     Procedura Client se actualizeaza/afișeaza intr-un raport cu numele client.frx

b)    Procedura Mașina se actualizeaza/afișeaza intr-un raport cu numele mașina.frx

c)     Procedura Inchiriere se actualizeaza/afișeaza intr-un raport cu numele inchiriere.frx


III. In meniul situație am format un popup alcatuit din opțiunile:

cauta_mașina_clientului , cauta_clientul_mașinii , durata_inchirierii unei_mașini.

a)     Procedura Cauta_mașina_clientului afișeaza mașina/mașinile inchiriate de un client al carui nume si prenume se citește de la tastatura.

b)    Procedura Cauta_clientul_mașinii afișeaza clientul/clienții unei mașini a carei marca și model se citește de la tastatura;

c) Procedura Durata_inchirierii_unei_mașini afișeaza mașina/mașinile și durata de inchiriere de catre un client al carui nume și prenume se citește de la tastatura

IV. In meniul terminare am format un popup alcatuit din opțiunile: ieșire din program si ieșire din fox; Aceste proceduri executa ieșirea implicita dintr-un anumit program sau din fox.

SET TALK OFF

CLEAR

SET DEFAULT TO D:atestatfinal

SET COLOR OF SCHEME TO RGB

DEFINE WINDOW w1 FROM TO grow zoom float minimize FILL FILE CARS.bmp

DEFINE MENU men1

activate window w1

DEFINE PAD p1 of men1 PROMPT 'ACTUALIZARE' FONT 'ARIAL',16 STYLE 'B' AT

DEFINE PAD p2 OF men1 PROMPT 'VIZUALIZARE' FONT 'ARIAL',16 STYLE 'B' AT

DEFINE PAD p3 OF men1 PROMPT 'SITUATIE' FONT 'ARIAL',16 STYLE 'B' AT

DEFINE PAD p4 OF men1 PROMPT 'TERMINARE' FONT 'ARIAL',16 STYLE 'B' AT

DEFINE POPUP v1 FROM

DEFINE BAR OF v1 PROMPT 'ADAUGARE' FONT 'ARIAL', 16

DEFINE BAR OF v1 PROMPT 'MODIFICARE' FONT 'ARIAL', 16

DEFINE BAR OF v1 PROMPT 'STERGERE' FONT 'ARIAL', 16

DEFINE BAR OF v1 PROMPT 'INFO_TOP_CARS_RENT' FONT 'ARIAL', 16

DEFINE POPUP v2 FROM

DEFINE BAR OF v2 PROMPT 'CLIENT' FONT 'ARIAL', 16

DEFINE BAR OF v2 PROMPT 'MASINA' FONT 'ARIAL', 16

DEFINE BAR OF v2 PROMPT 'INCHIRIERE' FONT 'ARIAL', 16

DEFINE POPUP v3 FROM

DEFINE BAR OF v3 PROMPT 'CAUTA MASINA CLIENTULUI ' FONT 'ARIAL', 16

DEFINE BAR OF v3 PROMPT 'CAUTA CLIENTUL MASINII ' FONT 'ARIAL', 16

DEFINE BAR OF v3 PROMPT 'DURATA INCHIRIERII UNEI MASINI' FONT 'ARIAL', 16

DEFINE POPUP v4 FROM

DEFINE BAR OF v4 PROMPT 'IESIRE DIN PROGRAM' FONT 'ARIAL',16

DEFINE BAR OF v4 PROMPT 'IESIRE DIN FOX' FONT 'ARIAL',16

ON SELECTION pad p1 OF men1 activate popup v1

ON SELECTION pad p2 OF men1 activate popup v2

ON SELECTION pad p3 OF men1 activate popup v3

ON SELECTION pad p4 OF men1 activate popup v4

ON selection popup v1 do ACTUALIZARE

ON selection popup v2 do VIZUALIZARE

ON selection popup v3 do SITUATIE

ON SELECTION POPUP v4 do TERMINARE

ACTIVATE MENU men1

PROCEDURE actualizare

DO case

CASE BAR

DO ADAUGARE

CASE BAR

DO MODIFICARE

CASE BAR

DO STERGERE

CASE BAR

DO INFO_TOP_CARS_RENT

ENDCASE

RETURN

PROCEDURE vizualizare

DO case

CASE BAR

DO CLIENT

CASE BAR

DO MASINA

CASE BAR

DO INCHIRIERE

&&CASE BAR()=4

&&DO PRODUS

ENDCASE

RETURN

PROCEDURE situatie

DO case

CASE BAR

DO CAUTA_MASINA_CLIENTULUI

CASE BAR

DO CAUTA_CLIENTUL_MASINII

CASE BAR

DO DURATA_INCHIRIERII_UNEI_MASINI

CASE BAR

DO produs_comanda

ENDCASE

RETURN

PROCEDURE terminare

DO case

CASE BAR

DO TERMIN_1

CASE BAR

DO TERMIN_2

ENDCASE

RETURN

*PROCEDURA DE ADAUGARE DE NOI INREGISTRARI IN BAZELE DE DATE

PROCEDURE adaugare

*activate window w1

CLEAR

STORE TO opt

say 'introduceti optiunea pentru adaugare:1-Masina ; 2-Client: 'get opt

read

DO case

CASE opt=1

USE masina.dbf

GO top

CALCULATE MAX id TO max

a=max

APPEND BLANK

replace id WITH a

accept 'marca=' to b

replace marca WITH b

accept 'model=' to c

replace model WITH c

input 'an fabricatie=' to d

replace an_fab WITH d

input 'cai putere=' to e

replace cp WITH e

accept 'carburant=' to f

replace carburant WITH f

accept 'culoare=' to g

replace culoare WITH g

CASE opt=2

USE client.dbf

GO top

CALCULATE MAX(cod_client) TO max

a=max

APPEND BLANK

b='  '

accept 'Nume=' to b

accept 'Prenume=' to d

c=' '

input 'Cnp=' to c

accept 'Telefon=' to e

replace cod_client WITH a, nume WITH b, cnp WITH c, prenume WITH d, telefon WITH e

ENDCASE

CLEAR

IF OPT=1 OR OPT=2

DEFINE WINDOW w2 FROM TO

ACTIVATE WINDOW w2

BROWSE

WAIT 'apasati o tasta'

DEACTIVATE WINDOW w2

USE IN

ENDIF

*DEACTIVATE WINDOW w1

RETURN

*PROCEDURA DE MODIFICARE A DATELOR

PROCEDURE MODIFICARE

*activate window w1

CLEAR

STORE TO opt

say 'introduceti optiunea pentru a modifica date despre: 1-masina 2-client' get opt

read

DO case

CASE opt=1

USE masina.dbf

accept 'introduceti marca masinii pentru care vreti sa faceti modificarea:' to x

x=ALLTRIM UPPER(x))

GO top

LOCATE FOR ALLTRIM UPPER(marca))=x

IF FOUND

?? 'operati va rog modificarea si salvati cu CTRL+W'

DEFINE WINDOW w2 FROM TO

ACTIVATE WINDOW w2

BROWSE

USE IN

DEACTIVATE WINDOW w2

ELSE

DEFINE WINDOW w2 FROM TO

ACTIVATE WINDOW w2

?? 'masina',x,' nu exista in baza de date'

WAIT 'apasati o tasta'

DEACTIVATE WINDOW w2 

endif

CASE opt=2

USE client.dbf

accept 'introduceti numele clientului pentru care vreti sa faceti modificarea:' to x

x=ALLTRIM UPPER(x))

GO top

LOCATE FOR ALLTRIM UPPER(nume))=x

IF FOUND

?? 'operati va rog modificarea si salvati cu CTRL+W'

DEFINE WINDOW w2 FROM TO

ACTIVATE WINDOW w2

brow

USE IN

DEACTIVATE WINDOW w2

ELSE

DEFINE WINDOW w2 FROM TO

ACTIVATE WINDOW w2

?? 'clientul cu numele ',x,' nu exista in baza de date'

WAIT 'apasati o tasta'

DEACTIVATE WINDOW w2

endif

ENDCASE

*DEACTIVATE WINDOW w1

RETURN

*PROCEDURA DE STERGERE A UNEI INREGISTRARI

PROCEDURE STERGERE

*activate window w1

CLEAR

STORE TO opt

say 'introduceti optiunea pentru a sterge date despre: 1-masina; 2-client' get opt

read

DO case

CASE opt=1

DEFINE WINDOW w2 FROM TO

ACTIVATE WINDOW w2

USE masina.dbf

accept 'Iintroduceti marca masinii pentru care vreti sa efectuati stergerea:' to x

accept 'Introduceti modelul masinii pentru care vreti sa efectuati stergerea:' to y

x=ALLTRIM UPPER(x))

y=ALLTRIM UPPER(Y))

GO top

LOCATE FOR ALLTRIM UPPER(marca))=x AND ALLTRIM UPPER(model))=y

IF FOUND

DELETE

accept 'doriti stergere definitiva?(da/nu)' to z

IF z='da'

PACK

browse

ELSE

RECALL all

BROWSE

endif

ELSE

?? 'masina ',x,' ',y,' nu exista in baza de date'

WAIT 'apasati o tasta' 

endif

DEACTIVATE WINDOW w2

CASE opt=2

USE client.dbf

DEFINE WINDOW w2 FROM TO

ACTIVATE WINDOW w2

accept 'Introduceti numele clientului pentru care vreti sa faceti stergerea:' to x

accept 'Introduceti prenumele clientului pentru care vreti sa efectuati stergerea:' to y

x=ALLTRIM UPPER(x))

y=ALLTRIM UPPER(Y))

GO top

LOCATE FOR ALLTRIM UPPER(nume))=x AND ALLTRIM UPPER(prenume))=y

IF FOUND

DELETE

accept 'doriti stergere definitiva?(da/nu)' to z

IF z='da'

pack

ELSE

RECALL all

BROWSE

endif

DEACTIVATE WINDOW w2

ELSE

?? 'clientul ',x,' ',y,' nu exista in baza de date'

WAIT 'apasati o tasta'

endif

DEACTIVATE WINDOW w2

ENDCASE

*DEACTIVATE WINDOW w1

RETURN

*PROCEDURA INFO_TOP_CARS_RENT

PROCEDURE INFO_TOP_CARS_RENT

say'AVETI NEVOIE DE UN MIJLOC DE TRANSPORT,DAR NU DISPUNETI DE O MASINA? IATA SOLUTIA:'FONT 'ARIAL',13 STYLE 'B'

say'SC.TOP-CARS-RENT.SRL VA OFERA O GAMA VARIATA DE MASINI'FONT 'ARIAL',13 STYLE 'B'

say 'PENTRU TOATE ACTIVITATILE DUMNEAVOASTRA'FONT 'ARIAL',13 STYLE 'B'

say'NE PUTETI CONTACTA LA TEL:0250734512/0744876519 SAU LA SEDIUL NOSTRU STR.INDEPENDENTEI NR.10 RM.VALCEA'FONT 'ARIAL',13 STYLE 'B'

*PROCEDURA DE VIZUALIZARE

PROCEDURE client

CLEAR

*REPORT FORM client.frx TO FILE raport_comanda.txt

*REPORT FORM client.frx TO printer

REPORT FORM client.frx preview

PROCEDURE masina

CLEAR

REPORT FORM masina.frx preview

PROCEDURE inchiriere

CLEAR

REPORT FORM inchiriere.frx preview

*PROCEDURA DE CAUTARE A MASINII CLIENTULUI

PROCEDURE CAUTA_MASINA_CLIENTULUI

SET TALK OFF

CLOSE ALL

CLEAR

x=' '

y='  '

say 'Introduceti numele clientului pentru care doriti sa efectuati cautarea: ' get x

say 'Introduceti prenumele clientului pentru care doriti sa efectuati cautarea: ' get y

read

USE inchiriere IN

USE masina IN

USE client IN

SELECT

INDEX on id TAG tid

SET ORDER TO tag tid

SELECT

SET RELATION TO id INTO

SET SKIP TO

SELECT

INDEX on cod_client TAG tcod

SET ORDER TO tag tcod

SELECT

SET RELATION TO cod INTO

SELECT

DISPLAY FIELDS masina.marca,masina.model FOR ALLTRIM UPPER(client.nume))=ALLTRIM UPPER(x)) AND ALLTRIM upper(client.prenume))=ALLTRIM UPPER(y))

USE

*PROCEDURA DE CAUTARE A CLIENTULUI UNEI MASINI

PROCEDURE CAUTA_CLIENTUL_MASINII

SET TALK OFF

CLEAR

USE client IN

USE inchiriere IN

USE masina IN

x='  '

y='  '

say 'Introduceti marca masinii pentru care doriti sa efectuati cautarea: ' get x

say 'Introduceti modelul masinii pentru care doriti sa efectuati cautarea: ' get y

read

SELECT

INDEX on id TAG tid

set order to tag tid

SELECT

SET RELATION TO id INTO

SET SKIP TO

SELECT

INDEX on cod_client TAG tcod

set order to tag tcod

SELECT

SET RELATION TO cod INTO additive

SELECT

LIST client.nume,client.prenume for ALLTRIM UPPER(masina.marca))=ALLTRIM UPPER(x)) AND ALLTRIM UPPER(masina.model))==ALLTRIM UPPER(y))

CLOSE all

*PROCEDURA DE AFISARE A DURATEI DE INCHIRIERE A UNEI MASINI

PROCEDURE DURATA_INCHIRIERII_UNEI_MASINI

SET TALK OFF

CLOSE ALL

CLEAR

x=' '

y='  '

say 'Introduceti numele clientului pentru care doriti sa aflati durata inchirierii: ' get x

say 'Introduceti prenumele clientului pentru care doriti sa aflati durata inchirierii: ' get y

read

USE inchiriere IN

USE masina IN

USE client IN

SELECT

INDEX on id TAG tid

SET ORDER TO tag tid

SELECT

SET RELATION TO id INTO

SET SKIP TO

SELECT

INDEX on cod_client TAG tcod

SET ORDER TO tag tcod

SELECT

SET RELATION TO cod INTO

SELECT

DISPLAY FIELDS masina.marca,masina.model,inchiriere.durata_ore FOR ALLTRIM UPPER(client.nume))=ALLTRIM UPPER(x)) AND ALLTRIM upper(client.prenume))=ALLTRIM UPPER(y))

USE

*PROCEDURA TERMINARE

PROCEDURE TERMIN_1

DEACTIVATE WINDOW W1

CANCEL

RETURN

PROCEDURE TERMIN_2

DEACTIVATE WINDOW W1

QUIT

RETURN

.FoxPro- teorie si aplicatii - autori: Eugen Popescu, Doina Preda, Colectia Informatica-Editura Else

.Manual Visual FoxPro- autori: Mariana, Ionut, Irina-Ioana Pantiru, Editura L&S

.Manual: Modulul2- Sisteme de gestiune a bazelor de date ; Programare Visaul FoxPro(Microsoft)- autor : Mariana Milosescu, Editura Didactica si Pedagogica





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.