TEHNICI DE
PROGRAMARE
Oprescu Valentin 1113 ID
CNP
Nume
Prenume
Vechime
Salariu
#include<stdio.h>
#include <math.h>
#include <string.h>
#include<stdlib.h>
#include <conio.h>
#include <ctype.h>
typedef struct{
int cod;
char nume[20];
char cnp[13];
char prenume[20];
float salariu;
int vechime;
int is;
}ANGAJAT;
int nrart(FILE *f, int l)
{long p; int n;
p=ftell(f); fseek(f,0,2); n=ftell(f)/l;
fseek(f,p,0);return n;
}
FILE * creare()
{
FILE *f;
char nume[20];
char a;
printf("\nFisier: ");gets(nume);
f=fopen(nume,"rb+");
if(f==NULL)
{
printf("Se creaza fisierul cu numele %nume?", nume);
a=getch();
if(toupper(a)=='D')
{
f=fopen(nume, "wb");
fclose(f);
fopen(nume,"rb+");
}
}
return f;
}
FILE *adaugare(FILE *f)
{
ANGAJAT p; int i, cod;
printf("\t\t--------------------");
printf("\t\tADAUGARE ANGAJAT NOU");
printf("\t\t--------------------");
p.is=0;
fseek(f, CodStergere*sizeof(ANGAJAT),0);
fwrite(&p,sizeof(ANGAJAT),1,f);
printf("Angajatul cu codul %d a fost sters din baza de date...", CodStergere);
}
return f;
FILE *f=NULL;
int opt=1;
while(opt!=0)
{
system ("cls");
printf("GESTIONAREA UNEI BAZE DE DATE CU INFORMATII DESPRE ANGAJATI");
printf("\n1. Alegere fisier de lucru.");
printf("\n2. Adaugare angajati in baza de date.");
printf("\n3. Modificare angajat din baza de date.");
printf("\n4. Stergere angajat din baza de date.");
printf("\n5. Generare raport cu angajatii actuali .");
printf("\n6. Generare raport angajati cu vechime mai mare de 5 ani .");
printf("\n7. Afisare date angajat.");
printf("\n0. Iesire");
printf("\n Alegeti optiunea: "); scanf("%d", &opt);
switch (opt)
{
case 1:
{
f=creare();
}
break;
case 2:
{
if(f==NULL)
{printf("\n NU ATI ALES FISIERUL DE LUCRU");
getch();
}
else f=adaugare(f);
}
break;
case 3:
{
if(f==NULL)
{
printf("\n NU ATI ALES FISIERUL DE LUCRU");
getch();
}
else {modificare(f);getch();}
}
break;
case 4:
{
if(f==NULL)
{
}
break;
case 6:
{
if(f==NULL)
{
printf("\n NU ATI ALES FISIERUL DE LUCRU");
getch();
}
else
lista2(f);
}
break;
case 7:
{
if(f==NULL)
{
printf("\n NU ATI ALES FISIERUL DE LUCRU");
getch();
}
else
afisare(f);
}
break;
}
fclose(f);
}