Skip to content

Instantly share code, notes, and snippets.

@savaryna
Created December 4, 2014 14:17
Show Gist options
  • Save savaryna/a284105d39cfac637fb5 to your computer and use it in GitHub Desktop.
Save savaryna/a284105d39cfac637fb5 to your computer and use it in GitHub Desktop.
#include <conio.h>
#include <stdio.h>
int i,j,tot,n;
struct lucratori{
char nume[20];
char prenume[20];
char functie[20];
char stagiu[20];
char localitate[20];
int salariu;
}a[20];
void meniu(){
system("cls");
printf("���������������������� MENIU ���������������������ͻ\n");
printf("� Creaza baza de date -------------------------- 1 �\n");
printf("� Adauga date ---------------------------------- 2 �\n");
printf("� Modifica date -------------------------------- 3 �\n");
printf("� Elimina date --------------------------------- 4 �\n");
printf("� Afiseaza continutul bazei de date ------------ 5 �\n");
printf("� Angajatii cu salariul <= 1200 ---------------- 6 �\n");
printf("� Iesi ----------------------------------------- 0 �\n");
printf("��������������������������������������������������ͼ\n");
printf("Introduceti cifra corespunzatoare comenzii dorite: ");
}
void total(){
tot=0;
for (i=0; a[i].salariu>0; i++){tot++;}
}
void b_menu(){
printf("\nApasa (ENTER) pentru meniul principal! ");
getch ();
}
void cit_ad_mod(){
printf("Introduceti datele despre angajatul nr.%d\n",i+1);
printf("\tNumele: ");
scanf("%s", &a[i].nume);
printf("\tPrenumele: ");
scanf("%s", &a[i].prenume);
printf("\tFunctia: ");
scanf("%s", &a[i].functie);
printf("\tStagiul: ");
scanf("%s", &a[i].stagiu);
printf("\tLocalitatea: ");
scanf("%s", &a[i].localitate);
printf("\tSalariul: ");
scanf("%d", &a[i].salariu);
printf("\n");
}
void afisare(){
printf("Angajatul nr.%d:\n",i+1);
printf("\tNumele: %s\n",a[i].nume);
printf("\tPrenumele: %s\n",a[i].prenume);
printf("\tFunctia: %s\n",a[i].functie);
printf("\tStagiul: %s\n",a[i].stagiu);
printf("\tLocalitatea: %s\n",a[i].localitate);
printf("\tSalariul: %d\n\n",a[i].salariu);
}
void alegere(){
int adg=0,edit,elim=0,optiune;
do {
total();
meniu();
scanf("%d",&optiune);
switch(optiune){
case 1: if (tot >= 1){ system("cls"); printf("Baza de date deja existenta!\n"); b_menu();}
else
{
system("cls"); printf("Dati numarul de angajati: ");
do
{
scanf("%d", &n);
if (n > 20)
{
printf("Introduceti un numar mai mic de 20: ");
}
else
{
for(i=0; i<n; i++){cit_ad_mod();}
}
}while(n > 20);
b_menu();
break;
case 2: system("cls"); printf("Citi angajati doriti sa adaugati?: ");
do
{
scanf("%d", &adg);
if (adg <= 0 || adg > 20)
{
printf("Introduceti un numar mai mare ca 0 si mai mic ca 20: ");
}
else
{
if (a[i].salariu == 0)
{
j=i;
for(i=j; i<j+adg; i++){cit_ad_mod();}
}
}
}while(adg <= 0 || adg > 20-tot);
b_menu();
}
break;
case 3: system("cls"); printf("Introduceti nr. angajatului care urmeaza a fi EDITAT: ");
do {
scanf("%d", &edit);
if (edit > tot || edit == 0){
system("cls");
printf("Angajatul nr.%d nu exista! Introduceti alt nr.: ", edit);
}
}while(edit > tot || edit == 0);
for(i=edit-1; i<edit; i++){cit_ad_mod();}
b_menu();
break;
case 4: system("cls"); printf("Introduceti nr. angajatului care urmeaza a fi ELIMINAT: ");
do
{
scanf("%d", &elim);
if (elim > tot || elim == 0)
{
system("cls");
printf("Angajatul nr.%d nu exista, introduceti alt nr.: ", elim);
}
else
{
i=elim-1;
do {
a[i]=a[i+1];
i++;
}while(a[i].salariu>0);
}
}while(elim > tot || elim == 0);
printf("\nAngajatul a fost eliminat cu succes!\n\n");
b_menu();
break;
case 5: system("cls");
if (tot <= 0)
{
printf("Nu a fost gasit nici un angajat!\n\n");
b_menu();
}
else
{
for(i=0; a[i].salariu>0; i++){afisare();} printf("\n\tTotal:%8d\n\n", tot);
b_menu();
}
break;
case 6: system("cls"); tot=0;
for(i=0; a[i].salariu>0; i++){if (a[i].salariu<=1200){tot++; afisare();}}
printf("\n\tTotal:%8d\n\n", tot);
b_menu();
break;
}
}
while(optiune!=0);
}
void main(){
alegere();
getch();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment