Documente Academic
Documente Profesional
Documente Cultură
Proiect Programare
Proiect Programare
Descriere:
Se cere realizarea unui proiect care sa asigure gestiunea unui magazin de componente PC(procesoare,
plăci de bază, memorii, hdd-uri etc).
Se cere realizarea unui proiect pentru o firma care face rezervari de locuri pentru curse aeriene.
Pentru fiecare rezervare se considera informatiile:
La pornirea aplicatiei va fi afisat urmatorul meniu:
1. Încărcare din fişier a componentelor din magazin.
2. Adăugare produs nou la o anumită componentă introdusă de la tastatură.
3. Vânzare produs (stoc = stoc - 1).
4. Ştergere anumit produs după cod_produs.
5. Încărcare stoc (refacerea stocului la un anumit produs, căutat în prealabil după cod).
6. Să se calculeze totalul în lei pentru o anumită categorie (suma produselor stoc*preţ de la o
anumită componentă).
7. Afişare preţ pentru anumite produse căutate după marcă.
8. Salvare componente în fişier.
9. Ieşire
Analiza cerintelor
1. Adaugare produs
In aceasta operatiune se introduce toate datele necesare pentru adaugarea unui nou
produs in gestiune (cod_produs, preţ, marca, an_fabricaţie, garanţie, producător,
ţară_provenienţă).
2. Lista produse
In aceasta operatiune ne este afisata lista cu toate produsele din gestiune precum si
detalii ale acestora (cod_produs, preţ, marca, an_fabricaţie, garanţie, producător,
ţară_provenienţă, daca se afla sau nu in stoc)
3. Reincarcare stoc
4. Sterge produs
5. Cauta produs
6. Calculator Pret
7. Vanzare Produs
8. Iesire
Capitolul 3.
-Folosirea claselor
-Instructiuni conditionale [ if ]
#include"string.h"
#include"stdlib.h"
#include"conio.h"
#include"iomanip.h"
main()
{clrscr();
int q,w,r,t,S;
char a,c;
//-------------------------------------------------------------------------------------------------------------------
//Declararea Claselor
//-------------------------------------------------------------------------------------------------------------------
class detalii{
public:
class nume{
public:
//--------------------------------------------------------------------------------Clasa client----//
class
comparare{
public:
struct nume m;
struct detalii e;
struct comparare n;
fp=fopen("c:/nitu.txt","rb+");
if(fp==NULL) {
fp=fopen("c:/nitu.txt","wb+");
if(fp==NULL)
return 0;}}
recsize=sizeof(e);
while(1)
//-------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------
clrscr();
gotoxy(23,5);cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
gotoxy(23,7);cout<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ";
gotoxy(23,9);cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
gotoxy(23,18);cout<<"³ ³";
gotoxy(23,20);cout<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ";
fflush(stdin);
gotoxy(45,19);c=getche();
clrscr();
switch(c)
{case'1':
fseek(fp,0,SEEK_END);
a='Y';
while(a=='Y'||a=='y')
//-------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------
{clrscr();
gotoxy(20,10);cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
gotoxy(20,12);cout<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ";
gotoxy(20,13);cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
gotoxy(20,23);cout<<"³ ³";
gotoxy(20,25);cout<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ";
gotoxy(38,14);gets(e.numeprodus);
gotoxy(37,15);gets(e.cod_produs);
gotoxy(30,16);gets(e.pret);
gotoxy(31,17);cin>>e.marca;
gotoxy(40,18);gets(e.an_fabricatie);
gotoxy(36,19);gets(e.garantie);
gotoxy(34,20);cin>>e.producator;
gotoxy(42,21);cin>>e.tara;
gotoxy(29,22);cin>>e.stoc;
fflush(stdin); //refresh
gotoxy(53,23);a=getche();}
break;
case'2':
clrscr();
rewind(fp);
cout<<"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ";
cout<<"\n";
cout<<"Cod_Produs";
cout<<"\t\tMarca";
cout<<"\t\tProducator";
cout<<endl;
cout<<"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ";
while(fread(&e,recsize,1,fp)==1){
cout<<e.cod_produs;
cout<<"\t\t"<<e.marca;
cout<<"\t\t"<<e.producator<<"\n";}
cout<<"\n";
getch();
break;
case'3' :
//Reincarcare stoc , Compararea codului produs , apoi daca este bine scris apare mesajul
clrscr();
a='Y';
while(a=='Y'||a=='y')
{clrscr();
gotoxy(20,10);cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
gotoxy(20,12);cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
gotoxy(20,14);cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
gotoxy(34,13);cin>>m.codprodus;
rewind(fp);
while(fread(&e,recsize,1,fp)==1)
{if(strcmp(m.codprodus,e.cod_produs)==0)
gotoxy(20,17);cout<<"³ ³";
gotoxy(20,19);cout<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ";
}}
fflush(stdin);
gotoxy(48,18);a=getche();
break;
case'4':
//Stergerea unui produs , Foloseste strcmp pentru compararea codului de produs apoi sterge copiaza din
nitu.txt in temp.data
//unde sterge codul cautat cu proprietatile apoi sterge nitu.txt urmat de copierea temp in nitu
clrscr();
a='Y';
while (a=='Y'||a=='y')
gotoxy(20,10);cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
gotoxy(20,12);cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
gotoxy(20,14);cout<<"³ ³";
gotoxy(20,15);cout<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ";
gotoxy(34,13);gets(m.cod_produs1);
ft=fopen("c:/temp.dat","wb");
rewind(fp);
while(fread(&e,recsize,1,fp)==1)
if(strcmp(m.cod_produs1,e.cod_produs)!=0)
{fwrite(&e,recsize,1,ft);}
fclose(fp);
fclose(ft);
remove("c:/nitu.txt");
rename("c:/temp.dat","c:/nitu.txt");
fp=fopen("c:/nitu.txt","rb+");
fflush(stdin);
gotoxy(50,14);a=getche();
break;
case'5':
// Comparare prin strcm cautare si afisare din nitu.txt produsele asa cum cere , marca,produs,pret,etc
clrscr();
a='Y';
while (a=='Y'||a=='y')
{clrscr();
gotoxy(20,10);cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
gotoxy(20,12);cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
gotoxy(20,14);cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
gotoxy(20,19);cout<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ";
gotoxy(34,13);cin>>m.marca1;
rewind(fp);
while(fread(&e,recsize,1,fp) == 1)
{if(strcmp(m.marca1,e.marca) == 0)
{gotoxy(34,15);cout<<e.numeprodus;
gotoxy(34,16);cout<<e.pret;
gotoxy(40,17);cout<<e.stoc;
}}
fflush(stdin);
gotoxy(50,21);a=getche();
break;
case'6':
//Calculator de produse , Introducere categorie Introducerea produselor din stoc , apoi pretul se face
inmultirea produse-
{clrscr();
gotoxy(20,10);cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
gotoxy(20,12);cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
gotoxy(20,14);cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
gotoxy(20,17);cout<<"³ ³";
gotoxy(20,18);cout<<"³ ³";
gotoxy(20,20);cout<<"³ ³";
gotoxy(34,13);cin>>e.categorie;
gotoxy(50,15);cin>>q;
gotoxy(30,16);cin>>w;
gotoxy(40,19);S=q*w;
cout<<S;
fflush(stdin);
gotoxy(50,21);a=getche();}
break;
case'7':
//Vanzarea unui produs se tipareste categoria marca pret , va fi afisat cate sunt in stoc apoi se introduce
cate bucati
//se vad, Pe linia mai sunt disponibile va fi afisat cate au mai ramas.
{ clrscr();
gotoxy(20,10);cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿";
gotoxy(20,12);cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
gotoxy(20,14);cout<<"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´";
gotoxy(20,18);cout<<"³ ³";
gotoxy(20,21);cout<<"³ ³";
gotoxy(36,13);cin>>e.categorie;
gotoxy(32,15);cin>>e.categorie;
gotoxy(30,16);cin>>e.categorie;
gotoxy(33,17);cin>>q;
gotoxy(37,19);cin>>r;
gotoxy(46,20);S=q-r;
cout<<S;
fflush(stdin);
gotoxy(50,22);a=getche();
break;
case'8':
//Inchiderea programului
fclose(fp);
exit(0);}}
getch();
}
Capitolul 5
1.Meniul principal
2.Afisarea produselor
3.Cautare produs
4.Calculare pret.
5.Vanzare produs
Referinte bibliografice:
1.www.wikipedia.com
2.software.ucv.ro