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 noun");
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 noun");
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 noun");
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);
}
Preview document
Conținut arhivă zip
- Proiect Algoritmi in Programare.doc