Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » referate » management
Programul realizeaza gestiunea unei firme

Programul realizeaza gestiunea unei firme


Dosar de utilizare

Programul realizeaza gestiunea unei firme importatoare de automobile din Germania, a unui dealer BMW. Se creeaza doua fisiere distincte , unul cu autoturisme existente in stoc iar celalalt cu clientii pe care ii are firma. Aceste fisiere sunt legate intre ele in sensul ca in momentul in care se incheie contractul cu un client, acesta este inregistrat in baza de date si automat in celalalt fisier cu autoturisme se modifica stocul in functie de modelul achizitionat si comanda facuta. Fisierele sunt ambele memorate binar.

Meniul principal contine trei optiuni:

M - Operatii cu autoturisme



C - Operatii cu clienti

E - Exit

Prima optiune realizeaza gestiunea fisierului cu autoturisme. La tastarea literei "M" apare submeniul urmator:

V - Vizualizarea autoturismelor existente in stoc

C - Cautarea unui anumit tip de autoturism in baza de date

A - Introducerea unui nou autoturism in baza de date

M - Modificarea datelor unui autoturism

P - Clasificarea automobilelor dupa pretul de vanzare

S - Stergerea unui autoturism din baza de date

O - Stergerea bazei de date existente si crearea unei noi baze de date !

I - Iesire

Optiunea "V" realizeaza o vizualizare in totalitate a bazei de date ce contine autoturisme. Aceasta include date privitoare la codul fabricatiei (cod ce este unic), model, culoare, capacitate cilindrica, puterea motorului, tipul cutiei de viteze, pretul autoturismului, stocul existent. Vizualizarea se realizeaza cu procedura "consultare" ce este inclusa in unitul "BMWCRI".

Optiunea "C" realizeaza cautarea unui anumit tip de autoturism in baza de date. Se va introduce de la tastatura tipul (modelul - ex. 520i) de autoturism, la cerere. Daca autoturismul exista in stoc este afisat, iar daca nu, apare mesaj. Daca se introduc alte tipuri de masini se cere reintroducerea. Cautarea se face cu procedura "cautare" din unitul "BMWCRI".

Optiunea "A" realizeaza introducerea unui nou autoturism in baza de date. Se introduce de la tastatura la cererea codului de fabricatie. Daca codul exista deja sau sunt introduse caractere se cere reintroducere. Daca nu autoturismul este inregistrat in baza de date. Adaugarea este realizata cu procedura "adaugare' din unitul "BMWCRI"

Optiunea "M" realizeaza modificarea datelor unui autoturism. Se introduce de la tastatura la cerere codul de fabricatie. Daca sunt introduse caractere se va cere reintroducere. Daca nu, se poate modifica prin rescriere orice data despre autoturismul respectiv. Exista validari pt. fiecare camp. Modificarea este realizata de procedura "modificare" din unitul "BMWCRI".

Optiunea "P" realizeaza listarea tuturor automobilelor din stoc in ordinea crescatoare a pretului acestora. Aceasta optiune este realizata de procedura "indexat" din unitul "INDEX_CA".

Optiunea "S" realizeaza stergerea unui autoturism din baza de date. Se introduce de la tastatura la cerere codul de fabricatie. Daca sunt introduse litere sau codul nu exista se cere reintroducere. Daca nu, autoturismul respectiv este sters din baza de date. Modificarea este realizata de procedura "stergere" din unitul "BMWCRI".

Optiunea "O" realizeaza stergerea intregii baze de date si crearea uneia noi; de aceea este marcata in meniu cu rosu. Stergerea se realizeaza prin apasarea tastei zero, desi apare cu litera "O".

Optiunea "I" realizeaza iesirea din submeniu si trecerea automata la meniul principal de unde se poate selecta lucrul cu fisierul clienti sau din nou lucrul cu fisierul automobile.

A doua optiune realizeaza gestiunea fisierului cu clienti. La tastarea literei "C" apare meniul urmator :

V - Vizualizarea clientilor firmei

C - Cautarea unui anumit client in baza de date

A - Introducerea unui nou client in baza de date

M - Modificarea datelor unui client

S - Stergerea unui client din baza de date

O - Stergerea bazei de date existente si crearea unei noi baze de date !

I - Iesire.

Optiunea "V" realizeaza o vizualizare in totalitate a bazei de date ce contine clientii. Aceasta include date privitoare la codul clientului (cod ce este unic), nume, adresa, telefon, modelul pe care la achizitionat, suma achitata si comanda pe care a facut-o. Vizualizarea se realizeaza cu procedura "consultare1" ce este inclusa in unitul "BMWCRICL".

Optiunea "C" realizeaza cautarea unui anumit client in baza de date. Se va introduce de la tastatura numele clientului, la cerere. Daca clientul exista in baza de date este afisat, iar daca nu, apare mesaj. Cautarea se face cu procedura "cautare1" din unitul "BMWCRICL".

Optiunea "A" realizeaza introducerea unui nou client in baza de date. Se introduce de la tastatura la cererea codului clientului. Daca codul exista deja sau sunt introduse caractere se cere reintroducere. Daca nu, se vor introduce date despre respectivul client in baza de date. Adaugarea este realizata cu procedura "adaugare1" din unitul "BMWCRICL"

Optiunea "M" realizeaza modificarea datelor unui client. Se introduce de la tastatura la cerere codul clientului. Daca sunt introduse caractere se va cere reintroducere. Daca nu, se poate modifica prin rescriere orice data despre clientul respectiv. Exista validari pt. fiecare camp. Modificarea este realizata de procedura "modificare1" din unitul "BMWCRICL".

Optiunea "S" realizeaza stergerea unui client din baza de date. Se introduce de la tastatura la cerere codul clientului. Daca sunt introduse litere sau codul nu exista se cere reintroducere. Daca nu, clientul respectiv este sters din baza de date. Modificarea este realizata de procedura "stergere1" din unitul "BMWCRICL".

Optiunea "O" realizeaza stergerea intregii baze de date si crearea uneia noi; de aceea este marcata in meniu cu rosu. Stergerea se realizeaza prin apasarea tastei zero, desi apare cu litera "O".

Optiunea "I" realizeaza iesirea din submeniu si trecerea automata la meniul principal de unde se poate selecta lucrul cu fisierul automobile sau din nou lucrul cu fisierul clienti.

program apelbmwc;

uses crt,bmwcri,bmwcricl,graph,index_ca,legat;

type fisier=file of clientrec;

tabela=file of bmwrec;

var

opt,ta,opt1:char;

k:integer;

er,vb:boolean;

cli:clientrec;

GraphDriver, GraphMode : Integer;

g:fisier;

f:tabela;

art2:bmwrec;

cod_fabr:integer;

procedure iesire1;

begin

setcolor(red);

outtextxy(23,390,'Program terminat. Apasa o tasta');

repeat until keypressed;

end;

begin

clrscr;

GraphDriver := Detect;

InitGraph(GraphDriver, GraphMode, 'e:bp7bgi ');

if GraphResult <> grOk then Halt(1);

repeat

settextstyle(defaultfont,horizdir,2);

setbkcolor(3);setcolor(red);

outtextxy(35,33,' B M W - Substance & Passion');

settextstyle(defaultfont,horizdir,1);

outtextxy(300,410,' by Cristian Postolachi');

outtextxy(315,430,' anul II, grupa 1027');

setcolor(blue);

settextstyle(defaultfont,horizdir,1);

outtextxy(50,100,'M - Operatii cu automobilele din stoc');

outtextxy(50,125,'C - Operatii cu clientii firmei');

setcolor(red);

outtextxy(50,150,'E - Exit');

setcolor(blue);

outtextxy(50,228,'Introduceti optiunea = ');

gotoxy(30,15);textcolor(blue);read(opt1);

textcolor(3);

case upcase(opt1) of 'M' :

begin

clrscr;

k:=0;

repeat

clrscr;

setbkcolor(3);

settextstyle(defaultfont,horizdir,1);

setcolor(blue);

outtextxy(40,100,'V - Vizualizarea autoturismelor existente in stoc ');

outtextxy(40,120,'C - Cautarea unui anumit tip de autoturism in baza de date');

outtextxy(40,140,'A - Introducerea unui nou autoturism in baza de date');

outtextxy(40,160,'M - Modificarea datelor unui autoturism');

outtextxy(40,180,'P - Clasificarea automobilelor dupa pretul de vanzare');

outtextxy(40,200,'S - Stergere unui autoturism din baza de date');

setcolor(red);

outtextxy(40,220,'0 - Stergere bazei de date existente si creearea unei noi baze de date!');

setcolor(5);

outtextxy(40,240,'I - Iesire');

setcolor(blue);

if k=0 then

begin

outtextxy(40,307,'Introduceti optiunea : ');

gotoxy(30,20); textcolor(blue); read(opt);

textcolor(3);

end;

case upcase(opt) of '0': begin

closegraph;

creare;

textcolor(3);

GraphDriver := Detect;

InitGraph(GraphDriver, GraphMode, 'e:bp7bgi ');

end;

'V': begin

closegraph;

consultare;

textcolor(3);

GraphDriver := Detect;

InitGraph(GraphDriver, GraphMode, 'e:bp7bgi ');

end;

'C': begin

closegraph;

cautare;

textcolor(3);

GraphDriver := Detect;

InitGraph(GraphDriver, GraphMode, 'e:bp7bgi ');

end;

'A': begin

closegraph;

adaugare;

textcolor(3);

GraphDriver := Detect;

InitGraph(GraphDriver, GraphMode, 'e:bp7bgi ');

end;

'M': begin

closegraph;

write('Introduceti codul de fabricatie: ');

read(cheie);

modificare(cheie);

textcolor(3);

GraphDriver := Detect;

InitGraph(GraphDriver, GraphMode, 'e:bp7bgi ');

end;

'S': begin

closegraph;

write('Introduceti codul de fabricatie:');read(l);

stergere(l);

textcolor(3);

GraphDriver := Detect;

InitGraph(GraphDriver, GraphMode, 'e:bp7bgi ');

end;

'I': begin

setcolor(red);

outtextxy(23,390,'Intoarcere la meniul principal. APASA O TASTA');

iesire;

end;

'P' : begin

closegraph;

indexat;

poster;

textcolor(3);

GraphDriver := Detect;

InitGraph(GraphDriver, GraphMode, 'e:bp7bgi ');

end;

else

write('Ati tastat gresit. Reluati');

end;

until (upcase(opt)='I');

end;

'C' :

begin

clrscr;

k:=0;

repeat

clrscr;

setbkcolor(3);

settextstyle(defaultfont,horizdir,1);

setcolor(blue);

outtextxy(40,100,'V - Vizualizarea clientilor firmei ');

outtextxy(40,120,'C - Cautarea unui anumit client in baza de date');

outtextxy(40,140,'A - Introducerea unui nou client in baza de date');

outtextxy(40,160,'M - Modificarea datelor unui client');

outtextxy(40,180,'S - Stergere unui client din baza de date');

setcolor(red);

outtextxy(40,200,'0 - Stergere bazei de date existente si creearea unei noi baze de date!');

setcolor(magenta);

outtextxy(40,220,'I - Iesire');

setcolor(blue);

if k=0 then

begin

outtextxy(40,307,'Introduceti optiunea : ');

gotoxy(30,20); textcolor(blue); read(opt);

textcolor(3);

end;

case upcase(opt) of '0': begin

closegraph;

creare1;

textcolor(3);

GraphDriver := Detect;

InitGraph(GraphDriver, GraphMode, 'e:bp7bgi ');

end;

'V': begin

closegraph;

consultare1;

textcolor(3);

GraphDriver := Detect;

InitGraph(GraphDriver, GraphMode, 'e:bp7bgi ');

end;

'C': begin

closegraph;

cautare1;

textcolor(3);

GraphDriver := Detect;

InitGraph(GraphDriver, GraphMode, 'e:bp7bgi ');

end;

'A': begin

closegraph;

leg;

textcolor(3);

GraphDriver := Detect;

InitGraph(GraphDriver, GraphMode, 'e:bp7bgi ');

end;

'M': begin

closegraph;

modificare1;

textcolor(3);

GraphDriver := Detect;

InitGraph(GraphDriver, GraphMode, 'e:bp7bgi ');

end;

'S': begin

closegraph;

stergere1;

textcolor(3);

GraphDriver := Detect;

InitGraph(GraphDriver, GraphMode, 'e:bp7bgi ');

end;

'I': begin

setcolor(red);

outtextxy(23,390,'Intoarcere la meniul principal. APASA O TASTA');

iesire;

end;

else

write('Ati tastat gresit. Reluati');

end;

until (upcase(opt)='I');

end;

'E' : iesire1;

else

clrscr;end;

until (upcase(opt1)='E');

closegraph;

end.

UNIT BMWCRI;

INTERFACE

uses crt;

type

bmwrec = record

is:byte;

codf:integer;

model:string[20];

culoare:string[20];


cap_cil:real;

putere:real;

transmisie:string[30];

stoc:real;

pret:real;

end;

tabela=file of bmwrec;

var

art,art1:bmwrec;

f:tabela;

er:boolean;

cheie:integer;

i,l,j:byte;

s,t:string[100];

ras:char;

tot:real;

const

modelbmw=['0'..'8','i'..'i','e'..'e','l'..'l','x'..'x','d'..'d','z'..'z','m'..'m'];

alfabet=['a'..'z','A'..'Z'];

transmisie=['a'..'z','A'..'Z','4'..'6','-'..'-'];

procedure eroare;

procedure citcodf;

procedure citcodf1;

procedure citmodel;

procedure citculoare;

procedure cittransmisie;

procedure citpret ;

procedure citcap_cil;

procedure citputere;

procedure citstoc;

procedure inceput;

procedure sfarsit;

procedure prelucrare;

procedure stergere(var l:byte);

procedure creare;

procedure modificare(var cheie:integer);

procedure cautare;

procedure consultare;

procedure inceput1;

procedure adaugare;

procedure iesire;

IMPLEMENTATION

procedure eroare;

begin

er:=true;

gotoxy(10,25);

write(s,'Tastati [enter] va rog! ');

repeat until readkey=#13;

gotoxy(10,25);

clreol;

end;

procedure citcodf;

var i:integer;

begin

repeat

er:=false;

gotoxy(43,5);

;readln(art.codf);;

if ioresult<>0 then

begin

s:='Se pot introduce numai valori numerice!';

eroare;

gotoxy(43,5);

clreol;

end

else

begin

seek(f,0);

for i:=1 to filesize(f) do

begin

read(f,art1);

if art1.codf=art.codf then

begin

s:='Mai exista o inreg. cu acest cod..!';

eroare;

gotoxy(43,5);

clreol;

end;

end;

end;

until not er;

end;

procedure citcodf1;

begin

repeat

er:=false;

gotoxy(43,5);

;readln(art.codf);;

if ioresult<>0 then

begin

s:='Se pot introduce numai valori numerice!';

eroare;

gotoxy(43,5);

clreol;

end;

until not er;

end;

procedure citmodel;

begin

repeat

er:=false;

gotoxy(43,6);

clreol;

readln(art.model);

l:=length(art.model);

for i:=1 to l do

if not (art.model[i] in modelbmw) then

er:=true;

if er then

begin

s:='Nu exista acest model de BMW!';

eroare;

end;

until not er;

end;

procedure citculoare;

begin

repeat

er:=false;

gotoxy(43,7);

clreol;

readln(art.culoare);

l:=length(art.culoare);

for i:=1 to l do

if not (art.culoare[i] in alfabet) then

er:=true;

if er then

begin

s:='Ati introdus caractere numerice!';

eroare;

end;

until not er;

end;

procedure cittransmisie;

begin

repeat

er:=false;

gotoxy(43,10);

clreol;

readln(art.transmisie);

l:=length(art.transmisie);

for i:=1 to l do

if not (art.transmisie[i] in transmisie) then

er:=true;

if er then

begin

s:='Nr de viteze poate fi intre !';

eroare;

end;

until not er;

end;

procedure citpret;

begin

repeat

er:=false;

gotoxy(43,11);

clreol;

;readln(art.pret);;

if ioresult<>0 then

begin

s:='caractere nenumerice!';

eroare;

end;

until not er;

end;

procedure citcap_cil;

begin

repeat

er:=false;

gotoxy(43,8);

clreol;

;readln(art.cap_cil);;

if ioresult<>0 then

begin

s:='Introduceti numai caractere numerice!';

eroare;

end

until not er

end;

procedure citputere;

begin

repeat

er:=false;

gotoxy(43,9);

clreol;

;readln(art.putere);;

if ioresult<>0 then

begin

s:='Introduceti numai caractere numerice!';

eroare;

end

until not er

end;

procedure citstoc;

begin

repeat

er:=false;

gotoxy(43,12);

clreol;

;readln(art.stoc);;

if ioresult<>0 then

begin

s:='Introduceti numai caractere numerice!';

eroare;

end

until not er

end;

procedure inceput;

begin

clrscr;

assign(f,'bavaria.dat');

rewrite(f);

checkeof:=true;

gotoxy(20,5);

write('Cod fabricatie :');

gotoxy(20,6);

write('Modelul : ');

gotoxy(20,7);

write('Culoarea : ');

gotoxy(20,8);

write('Capacitatea cilindrica:');

gotoxy(20,9);

write('Puterea in CP : ');

gotoxy(20,10);

write('Transmisia : ');

gotoxy(20,11);

write('Pretul : ');

gotoxy(20,12);

write('Stocul disponibil : ');

gotoxy(43,5);

end;

procedure prelucrare;

begin

art.is:=1;

citcodf;citmodel;citculoare;citcap_cil;citputere;cittransmisie;citpret;citstoc;

write(f,art);

for i:=5 to 12 do

begin

gotoxy(43,i);

clreol;

end;

gotoxy(43,5);

end;

procedure sfarsit;

begin

clrscr;

close(f);

end;

PROCEDURE CREARE;

begin

inceput;

while not eof do prelucrare;

sfarsit;

end;

PROCEDURE STERGERE;

begin

textcolor(lightblue);

assign(f,'bavaria.dat');

reset(f);

clrscr;

seek(f,0);

for i:=0 to filesize(f)-1 do

begin

read(f,art);

if (ioresult=0) and (art.codf=l) and (art.is=1) then

begin

seek(f,i);

art.is:=0;write(f,art);

writeln;writeln('INREGISTRAREA A FOST STEARSA');

end;

end;

writeln;writeln;write('APASA O TASTA');

repeat until keypressed;

end;

PROCEDURE MODIFICARE;

var

i,m:byte;

begin

textcolor(2);

assign(f,'bavaria.dat');

reset(f);

clrscr;

seek(f,0);

for m:=1 to filesize(f) do

begin

read(f,art);

if (art.codf=cheie) and (art.is=1) then

begin

gotoxy(20,5);

write('Cod fabricatie :',art.codf);

gotoxy(20,6);

write('Modelul : ',art.model);

gotoxy(20,7);

write('Culoarea : ',art.culoare);

gotoxy(20,8);

write('Capacitatea cilindrica:',art.cap_cil:4:1);

gotoxy(20,9);

write('Puterea in CP : ',art.putere:4:1);

gotoxy(20,10);

write('Transmisia : ',art.transmisie);

gotoxy(20,11);

write('Pretul : ',art.pret:4:1);

gotoxy(20,12);

write('Stocul disponibil : ',art.stoc:4:0);

gotoxy(43,5);

citcodf1;citmodel;citculoare;citcap_cil;citputere;cittransmisie;citpret;citstoc;

art.is:=1;

for i:=5 to 12 do

begin

gotoxy(43,i);

clreol;

end;

gotoxy(43,5);

seek(f,m-1);write(f,art);seek(f,m);

end;

end;

close(f);

writeln;writeln;

gotoxy(3,15);

write('Apasa o tasta');

repeat until keypressed;

end;

PROCEDURE CAUTARE;

var er:boolean;

i:integer;

begin

textcolor(15);

er:=false;

assign(f,'bavaria.dat');reset(f);

clrscr;

writeln('Introduceti modelul dorit:');readln;

gotoxy(29,1);readln(t);

seek(f,0);

i:=0;

repeat

read(f,art);

if (art.is=1) and (art.model=t) then

begin

er:=true;

gotoxy(6,6+i); writeln(art.codf);

gotoxy(12,6+i); writeln(art.model);

gotoxy(19,6+i); writeln(art.culoare);

gotoxy(64,6+i); writeln(art.pret:4:2);

gotoxy(28,6+i); writeln(art.transmisie);

gotoxy(43,6+i); writeln(art.cap_cil:4:1);

gotoxy(52,6+i); writeln(art.putere:4:1);

gotoxy(71,6+i); writeln(art.stoc:4:0);

i:=i+1;

end;

until eof(f);

if er=false then begin

writeln;writeln;

writeln(' Modelul nu exista in baza de date!');

end

else

begin

gotoxy(1,5);

writeln(' Cod Fabr. Model Culoare Transmisie Cap.cil Putere(CP) Pret(DM) Stoc ');

end;

gotoxy(1,15);writeln('Apasa <Enter>');

repeat until readkey=#13;

end;

PROCEDURE CONSULTARE;

begin

textcolor(lightblue);

assign(f,'bavaria.dat');reset(f);

clrscr;

tot:=0;

seek(f,0);

gotoxy(1,5);

writeln(' Cod Fabr. Model Culoare Transmisie Cap.cil Putere(CP) Pret(DM) Stoc ');

for i:=1 to filesize(f) do

begin

read(f,art);

if art.is=1 then

begin

gotoxy(6,6+i); writeln(art.codf);

gotoxy(12,6+i); writeln(art.model);

gotoxy(19,6+i); writeln(art.culoare);

gotoxy(64,6+i); writeln(art.pret:4:2);

gotoxy(28,6+i); writeln(art.transmisie);

gotoxy(43,6+i); writeln(art.cap_cil:4:1);

gotoxy(52,6+i); writeln(art.putere:4:1);

gotoxy(71,6+i); writeln(art.stoc:4:0);

tot:=tot+art.stoc;

end;

end;

writeln;

writeln;

writeln('TOTAL AUTOMOBILE IN STOC = ',' ',tot:4:0);

close(f);

writeln;

writeln('Apasa <Enter>');

repeat until readkey=#13;

end;

procedure inceput1;

begin

clrscr;

assign(f,'bavaria.dat');

reset(f);

seek(f,filesize(f));

checkeof:=true;

gotoxy(20,5);

write('Cod fabricatie :');

gotoxy(20,6);

write('Modelul : ');

gotoxy(20,7);

write('Culoarea : ');

gotoxy(20,8);

write('Capacitatea cilindrica:');

gotoxy(20,9);

write('Puterea in CP : ');

gotoxy(20,10);

write('Transmisia : ');

gotoxy(20,11);

write('Pretul : ');

gotoxy(20,12);

write('Stocul disponibil : ');

gotoxy(43,5);

end;

PROCEDURE ADAUGARE;

begin

inceput1;

while not eof do prelucrare;

sfarsit;

end;

PROCEDURE IESIRE;

begin

writeln('Intoarcere la meniul principal.APASA O TASTA');

repeat until keypressed;

end;

end.

unit bmwcricl;

INTERFACE

uses crt;

type

clientrec = record

is:byte;

codcl:integer;

nume:string[20];

adresa:string[20];

suma:real;

model:string[30];

comanda:real;

telefon:real;

end;

var

art,art1:clientrec;

f:file of clientrec;

er:boolean;

i,l,j:byte;

s,t:string[100];

ras:char;

tot,tot1:real;

const

alfabet=['a'..'z','A'..'Z','&'..'&',' '..' '];

alfabet1= ['a'..'z','A'..'Z','0'..'9'];

procedure eroare;

procedure citcodcl;

procedure citcodcl1;

procedure citnume;

procedure citadresa;

procedure citmodel1;

procedure cittelefon ;

procedure citsuma;

procedure citcomanda;

procedure inceput1;

procedure sfarsit1;

procedure stergere1;

procedure creare1;

procedure prelucrare1;

procedure modificare1;

procedure cautare1;

procedure consultare1;

procedure inceput11;

procedure adaugare1;

procedure iesire11;

IMPLEMENTATION

procedure eroare;

begin

er:=true;

gotoxy(10,25);

write(s,'Tastati [enter] va rog! ');

repeat until readkey=#13;

gotoxy(10,25);

clreol;

end;

procedure citcodcl;

var i:integer;

begin

repeat

er:=false;

gotoxy(43,5);

;readln(art.codcl);;

if ioresult<>0 then

begin

s:='Se pot introduce numai valori numerice!';

eroare;

gotoxy(43,5);

clreol;

end

else

begin

seek(f,0);

for i:=1 to filesize(f) do

begin

read(f,art1);

if art1.codcl=art.codcl then

begin

s:='Mai exista un client cu acest cod';

eroare;

gotoxy(43,5);

clreol;

end;

end;

end;

until not er;

end;

procedure citcodcl1;

begin

repeat

er:=false;

gotoxy(43,5);

;readln(art.codcl);;

if ioresult<>0 then

begin

s:='Se pot introduce numai valori numerice!';

eroare;

gotoxy(43,5);

clreol;

end;

until not er;

end;

procedure citnume;

begin

repeat

er:=false;

gotoxy(43,6);

clreol;

readln(art.nume);

l:=length(art.nume);

for i:=1 to l do

if not (art.nume[i] in alfabet) then

er:=true;

if er then

begin

s:='Ati introdus caractere nealfabetice!';

eroare;

end;

until not er;

end;

procedure citadresa;

begin

repeat

er:=false;

gotoxy(43,7);

clreol;

readln(art.adresa);

until not er;

end;

procedure citmodel1;

begin

repeat

er:=false;

gotoxy(43,9);

clreol;

readln(art.model);

l:=length(art.model);

for i:=1 to l do

if not (art.model[i] in alfabet1) then

er:=true;

if er then

begin

s:='Nu exista modelul ';

eroare;

end;

until not er;

end;

procedure cittelefon;

begin

repeat

er:=false;

gotoxy(43,10);

clreol;

;readln(art.telefon);;

if ioresult<>0 then

begin

s:='caractere nenumerice!';

eroare;

end

else if art.telefon<100000 then

begin

s:='Telefonul trebuie sa aiba >= de 6 cifre';

eroare;

gotoxy(43,10);

end;

until not er;

end;

procedure citsuma;

begin

repeat

er:=false;

gotoxy(43,8);

clreol;

;readln(art.suma);;

if ioresult<>0 then

begin

s:='Introduceti numai caractere numerice!';

eroare;

end

until not er

end;

procedure citcomanda;

begin

repeat

er:=false;

gotoxy(43,11);

clreol;

;readln(art.comanda);;

if ioresult<>0 then

begin

s:='Introduceti numai caractere numerice!';

eroare;

end

until not er

end;

procedure inceput1;

begin

clrscr;

assign(f,'bavariac.dat');

rewrite(f);

checkeof:=true;

gotoxy(20,5);

write('Cod client :');

gotoxy(20,6);

write('Numele : ');

gotoxy(20,7);

write('Adresa : ');

gotoxy(20,8);

write('Suma achitata:');

gotoxy(20,9);

write('Modelul : ');

gotoxy(20,10);

write('Telefonul : ');

gotoxy(20,11);

write('Comanda facuta : ');

gotoxy(43,5);

end;

procedure prelucrare1;

begin

art.is:=1;

citcodcl;citnume;citadresa;citsuma;citmodel1;cittelefon;citcomanda;

write(f,art);

for i:=5 to 11 do

begin

gotoxy(43,i);

clreol;

end;

gotoxy(43,5);

end;

procedure sfarsit1;

begin

clrscr;

close(f);

end;

PROCEDURE CREARE1;

begin

inceput1;

while not eof do prelucrare1;

sfarsit1;

end;

PROCEDURE STERGERE1;

begin

textcolor(lightred);

assign(f,'bavariac.dat');

reset(f);

clrscr;

seek(f,0);

write('Introduceti codul clientului:');read(l);

for i:=0 to filesize(f)-1 do

begin

read(f,art);

if (ioresult=0) and (art.codcl=l) and (art.is=1) then

begin

seek(f,i);

art.is:=0;write(f,art);

writeln;writeln('INREGISTRAREA A FOST STEARSA');

end;

end;

writeln;writeln;

write('APASA O TASTA');

repeat until keypressed;

end;

PROCEDURE MODIFICARE1;

var

cheie: integer;

i,m:byte;

begin

textcolor(2);

assign(f,'bavariac.dat');

reset(f);

clrscr;

write('Introduceti codul clientului: ');

read(cheie);

seek(f,0);

for m:=1 to filesize(f) do

begin

read(f,art);

if (art.codcl=cheie) and (art.is=1) then

begin

gotoxy(20,5);

write('Cod client : ',art.codcl);

gotoxy(20,6);

write('Numele : ',art.nume);

gotoxy(20,7);

write('Adresa : ',art.adresa);

gotoxy(20,8);

write('Suma achitata:',art.suma:4:1);

gotoxy(20,9);

write('Modelul : ',art.model);

gotoxy(20,10);

write('Telefonul : ',art.telefon:4:0 );

gotoxy(20,11);

write('Comanda facuta:',art.comanda:4:0);

gotoxy(43,5);

citcodcl1;citnume;citadresa;citsuma;citmodel1;cittelefon;citcomanda;

art.is:=1;

for i:=5 to 12 do

begin

gotoxy(43,i);

clreol;

end;

gotoxy(43,5);

seek(f,m-1);write(f,art);seek(f,m);

end;

end;

close(f);

writeln;writeln;

gotoxy(3,15);

write('APASA O TASTA');

repeat until keypressed;

end;

PROCEDURE CAUTARE1;

var er:boolean;

i:integer;

begin

textcolor(white);

er:=false;

assign(f,'bavariac.dat');reset(f);

clrscr;

writeln('Introduceti numele clientului dorit:');readln(t);

gotoxy(38,1);readln(t);

seek(f,0);

i:=0;

repeat

read(f,art);

if (art.is=1) and (art.nume=t) then

begin

er:=true;

gotoxy(5,6+i); writeln(art.codcl);

gotoxy(14,6+i); writeln(art.nume);

gotoxy(28,6+i); writeln(art.adresa);

gotoxy(41,6+i); writeln(art.suma:4:1);

gotoxy(51,6+i); writeln(art.model);

gotoxy(61,6+i); writeln(art.telefon:4:0);

gotoxy(72,6+i); writeln(art.comanda:4:0);

i:=i+1;

end;

until eof(f);

if not er then

begin

writeln;writeln;

writeln(' Clientul nu exista in baza de date!');

end

else

begin

gotoxy(1,3);

writeln(' Cod client Nume Adresa Suma Modelul Telefonul Comanda ');

end;

gotoxy(1,15);writeln('Apasa <Enter>');

repeat until readkey=#13;

end;

PROCEDURE CONSULTARE1;

begin

textcolor(lightblue);

assign(f,'bavariac.dat');reset(f);

clrscr;

tot:=0;

tot1:=0;

seek(f,0);

gotoxy(1,5);

writeln(' Cod client Nume Adresa Suma Modelul Telefonul Comanda ');

for i:=1 to filesize(f) do

begin

read(f,art);

if art.is=1 then

begin

gotoxy(5,6+i); writeln(art.codcl);

gotoxy(14,6+i); writeln(art.nume);

gotoxy(28,6+i); writeln(art.adresa);

gotoxy(41,6+i); writeln(art.suma:4:1);

gotoxy(51,6+i); writeln(art.model);

gotoxy(61,6+i); writeln(art.telefon:4:0);

gotoxy(72,6+i); writeln(art.comanda:4:0);

tot:=tot+art.suma;

tot1:=tot1+art.comanda;

end;

end;

writeln;

writeln;

writeln('TOTAL VANZARI DIN STOC = ',' ',tot:4:2);

writeln('TOTAL COMENZI EFECTUATE =',' ',tot1:4:0);

close(f);

writeln;

writeln('Apasa <Enter>');

repeat until readkey=#13;

end;

procedure inceput11;

begin

clrscr;

assign(f,'bavariac.dat');

reset(f);

seek(f,filesize(f));

checkeof:=true;

gotoxy(20,5);

write('Cod client :');

gotoxy(20,6);

write('Numele : ');

gotoxy(20,7);

write('Adresa : ');

gotoxy(20,8);

write('Suma achitata(DM):');

gotoxy(20,9);

write('Modelul : ');

gotoxy(20,10);

write('Telefonul : ');

gotoxy(20,11);

write('Comanda facuta : ');

gotoxy(43,5);

end;

PROCEDURE ADAUGARE1;

begin

inceput11;

while not eof do prelucrare1;

sfarsit1;

end;

PROCEDURE IESIRE11;

begin

writeln;writeln;

writeln;writeln('Intoarcere la meniul principal.APASA O TASTA');

repeat until keypressed;

end;

end.

unit index_ca;

INTERFACE

uses crt;

type

bmwrec = record

is:byte;

codf:integer;

model:string[20];

culoare:string[20];

cap_cil:real;

putere:real;

transmisie:string[30];

stoc:real;

pret:real;

end;

index=record

pret:real;

mode:string[20];

nr_rel:integer;

end;

indx=file of index;

var

art,art1:bmwrec;

f:file of bmwrec;

vb:boolean;

i,j,z:byte;

bart,cart,xx:index;

ind:indx;

c:char;

const

modelbmw=['0'..'8','i'..'i','e'..'e','l'..'l','x'..'x','d'..'d','m'..'m'];

alfabet=['a'..'z','A'..'Z'];

transmisie=['a'..'z','A'..'Z','4'..'6','-'..'-'];

procedure indexat;

procedure poster;

IMPLEMENTATION

procedure indexat;

begin

clrscr;

assign(f,'bavaria.dat');

reset(f);

assign(ind,'bavaria.idx');rewrite(ind);

while not eof(f) do

begin

read(f,art);

bart.pret:=art.pret;

bart.mode:=art.model;

write(ind,bart);

end;

for i:=1 to filesize(ind)-1 do

begin

seek(ind,i-1); read(ind,bart);

for j:=i+1 to filesize(ind) do

begin

seek(ind,j-1); read(ind,cart);

if bart.pret>cart.pret then

begin

seek(ind,i-1); write(ind,cart);

seek(ind,j-1); write(ind,bart);

bart:=cart;

end;

end;

end;

seek(ind,0);

end;

procedure poster;

begin

gotoxy(9,1);

write('Model Pret');

z:=1;

while not eof(ind) do

begin

read(ind,bart);

gotoxy(9,2+z);

write(bart.mode);

gotoxy(17,2+z);

write('--->');

gotoxy(26,2+z);

write(bart.pret:4:1);

gotoxy(36,2+z);

write('DM');

z:=z+1;

end;

writeln;writeln;

write(' Apasa o tasta');

repeat until keypressed;

close(f);close(ind);

c:=readkey;

end;

end.

unit legat;

INTERFACE

uses crt,bmwcri,bmwcricl;

type

clientrec = record

is:byte;

codcl:integer;

nume:string[20];

adresa:string[20];

suma:real;

model:string[30];

comanda:real;

telefon:real;

end;

bmwrec = record

is:byte;

codf:integer;

model:string[20];

culoare:string[20];

cap_cil:real;

putere:real;

transmisie:string[30];

stoc:real;

pret:real;

end;

tabela=file of bmwrec;

fisier=file of clientrec;

procedure caut1;

procedure leg;

IMPLEMENTATION

var

art,art1,articol:bmwrec;

f:tabela;

g:fisier;

cli:clientrec;

er,vb:boolean;

cod_fabr:integer;

procedure caut1;

begin

textcolor(15);

er:=false;

assign(f,'bavaria.dat');reset(f);

clrscr;

repeat

read(f,art);

if (art.is=1) and (art.codf=cod_fabr) then

begin

er:=true;

art1:=art;

end;

until eof(f)or er;

end;

procedure leg;

begin

assign(f,'bavaria.dat');

reset(f);

assign(g,'bavariac.dat');

reset(g);

cli.is:=1;

gotoxy(20,7);

writeln('Codul clientului : ');

gotoxy(40,7);

readln(cli.codcl);

gotoxy(20,8);

writeln('Numele');

gotoxy(30,8);

readln(cli.nume);

gotoxy(20,9);

writeln('adresa');

gotoxy(30,9);

readln(cli.adresa);

consultare;

repeat

vb:=true;

writeln;

writeln('Introduceti codul de fabricatie');read(cod_fabr);

caut1;

if er=false then

begin

writeln;writeln;

writeln(' Modelul nu exista in baza de date!');

vb:=false;

end

else

cli.model:=art1.model;

until vb;

gotoxy(20,10);

writeln('Suma achitata..');gotoxy(35,10);

repeat

er:=false;

gotoxy(35,10);

clreol;

;readln(cli.suma);;

if ioresult<>0 then

begin

gotoxy(35,20);

writeln('Introduceti caractere nenumerice!');

er:=true;

gotoxy(35,10);

end;

until not er;

gotoxy(20,11);

writeln('Telefonul..');gotoxy(35,11);

repeat

er:=false;

gotoxy(35,11);

clreol;

;readln(cli.telefon);;

if ioresult<>0 then

begin

gotoxy(35,20);

writeln('Introduceti caractere nenumerice!');

er:=true;

end;

until not er;

repeat

vb:=true;

gotoxy(20,12);

writeln('Comanda..');gotoxy(30,12);read(cli.comanda);

if art1.stoc<cli.comanda then

begin

writeln;writeln;

writeln('Nu putem onora aceasta comanda');

writeln('Tasteaza din nou');

gotoxy(30,12);

repeat until keypressed;

vb:=false;

gotoxy(30,12);

end

else

begin

art1.stoc:=art1.stoc-cli.comanda;

seek(f,filepos(f)-1);

write(f,art1);

seek(g,filesize(g));

write(g,cli);

end;

until vb;

close(f);close(g);

end;

end.





Politica de confidentialitate


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