Proiect Algoritmi în Programare

Extras din proiect

Societatea comercială “SC JUST DISTRIBUTION” se ocupă cu achizitia de produse de curatenie pe care ulterior le vinde. Aceasta îşi desfăşoară activitatea pe piaţa românească de 1 an şi are un număr redus de angajaţi, fiind încă în curs de dezvoltare.
Tema acestui proiect este gestionarea produselor (detergentilor) in depozitul societăţii comerciale SC JUST DISTRIBUTION într-un fişier relativ. Sunt reţinute următoarele date: codul după care produsul este identificat unic în cadrul acestei societăti, denumirea acestuia, unitatea de masura , precum şi pretul de intrare, cantitatea intrata si ziua de intrare a produselor. 
Aplicaţia propriu-zisă constă în crearea unui program complex de gestionare a datelor despre produsele societăţii comerciale SC JUST DISTRIBUTION prin intermediul unui meniu care îi ofera utilizatorului posibilitatea de a alege dintr-un număr de 8 operaţii pe care le poate efectua asupra datelor.Opţiunile sale sunt:
1. Crearea si popularea unui fisier;
2. Adăugarea de noi articole;
3. Stergerea unui articol;
4. Modificarea datelor;
5. Listarea produselor care exista in stoc;
6. Listarea produselor care au fost aduse in luna x;
7. Raport;
8. Iesirea din aplicatie
CODUL C:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>
typedef struct{
int zi,luna,an;
}DATA;
typedef struct{
int is;
int cod;
char denumire[20];
char um[20];
int pret,cant;
DATA intrare;
}PRODUS;
void populare(){
FILE *f;
PRODUS x;
int n,i,nr,j,s,t=0,m,p;
//creare fisier si preformare
f=fopen("fis1.dat","wb+"); //creaza si deschide fisierul cu permisiunea atat de citire cat si de scriere 
printf("\nNumarul de produse existente in stoc este:"); scanf("%d",&n);
x.is=0;
for (i=0;i<n;i++)
fwrite(&x,sizeof(PRODUS),1,f); /*scrie articolele citite in fisierul f*/
//adaugare articol
printf("\nAdaugare articol nou\n");
printf("Codul produsului este: "); scanf("%d",&p);
while(t<n)
{fseek(f,0,2); //pozitionarea la sfarsitul fisierului
nr=ftell(f)/sizeof(PRODUS);
//facem loc noului articol
if (nr<=p)
{x.is=0;
for (i=nr;i<p;i++)
fwrite(&x,sizeof(PRODUS),1,f);
}
//adaugarea propriu-zisa
fseek(f,p*sizeof(PRODUS),0);
fread(&x,sizeof(PRODUS),1,f);
if (x.is==1)
{printf("\nExista deja un produs cu acest cod... Introduceti alt cod: ");
scanf("%d",&p);
}
else
{t++;
x.is=1;
x.cod=p;
printf("Denumirea produsului este: "); scanf("%s",&x.denumire);
printf("Unitatea de masura este: "); scanf("%s",&x.um);
printf("Pretul de intrare este: "); scanf("%d",&x.pret);
printf("Cantitatea este: "); scanf("%d",&x.cant);
printf("\nZiua intrarii produsului: "); scanf("%d",&x.intrare.zi);
while((x.intrare.zi>31)||(x.intrare.zi<1))
{printf("Zi introdusa gresit... Reintroduceti ziua: ");
scanf("%d",&x.intrare.zi);
}
printf("Luna intrarii produsului: "); scanf("%d",&x.intrare.luna);
while((x.intrare.luna>12)||(x.intrare.luna<1))
{printf("Luna introdusa gresit... Reintroduceti luna: ");
scanf("%d",&x.intrare.luna);
}
printf("Anul intrarii produsului: "); scanf("%d",&x.intrare.an);
while((x.intrare.an>2010)||(x.intrare.an<1990))
{printf("An introdus gresit... Reintroduceti anul: ");
scanf("%d",&x.intrare.an);
}
fseek(f,p*sizeof(PRODUS),0);
fwrite(&x,sizeof(PRODUS),1,f);
if (t<n){
printf("\nAdaugare articol nou\n");
printf("Codul produsului este: "); scanf("%d",&p);}
} 
}
fclose(f); 
}
void adaugare(){
FILE *f;
PRODUS x;
int nr,i,p;
f=fopen("fis1.dat","r+b"); 
printf("\nAdaugare articol nou\n");
printf("Codul produsului este: "); scanf("%d",&p);
fseek(f,0,2);
nr=ftell(f)/sizeof(PRODUS);
if (nr<=p)
{x.is=0;
for (i=nr;i<p;i++)
fwrite(&x,sizeof(PRODUS),1,f); 
}


Fisiere în arhivă (1):

  • Proiect Algoritmi in Programare.doc

Imagini din acest proiect

Ne pare rau, pe moment serviciile de acces la documente sunt suspendate.


Hopa sus!