مشروع متكامل لإدارة الموظفين في لغة ++c -مشاريع بلغة c++


مشروع متكامل لإدارة الموظفين في لغة ++c
Employee’s Management System

شرح المشروع :-

هذا المشروع يقوم او يحتوي على المهام التالية:

1- اضافة عدد n من سجلات الموظفين  واسم الدالة هي ()build
2- طباعه سجلات كافة الموظفين واسم الدالة هي ()list
3- اضافة سجل واحد من الموظفين واسم الدالة هي ()insert
4- حذف سجل معين من سجلات الموظفين واسم الدالة هي ()deletes
5- تعديل سجلات الموظفين واسم الدالة هي ()edit وفي هذه الدالة هنالك دوال اخرى مرتبطة بها ,وهذه الدوال كتالي:

- داله editname والتي تقوم بتعديل اسم الموظف فقط.
- داله editcode والتي تقوم بتعديل كود الموظف فقط.
- داله editexp والتي تقوم بتعديل سنين الخبرة للموظف فقط.
- داله editage والتي تقوم بتعديل عمر الموظف فقط.
- داله editdes والتي تقوم بتعديل تأريخ تعيين الموظف فقط.

6- البحث عن الموظفين واسم الدالة هي ()search .
6- ترتيب الموظفين واسم الدالة هي ()sort هذه الدالة هنالك دوال اخرى مرتبطة بها مثل دالة ()edit
-ترتيب حسب الاسم
-ترتيب حسب العمر
-ترتيب حسب سنين الخبر
-ترتيب حسب الكود
الخ


كود البرنامج

#include <iostream>
#include <windows.h>
#include <fstream>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <cctype>
#include <conio.h>
#include <ctime>
#include <dos.h>
#include <iomanip>

#define max 20

using namespace std;

struct employee

{

 char name[20];

 long int code;

 char designation[20];

 int exp;

 int age;

};

int num;

employee emp[max],tempemp[max],sortemp[max],sortemp1[max];

int main()

{

 system("cls");

 void build();

 void list();

 void insert();

 void deletes();

 void edit();

 void search();

 void sort();

 char option;

 void menu();

 menu();

 while((option=cin.get())!='e')

 {

  switch(option)

  {

   case '1':

         build();

         break;

   case '2':

         list();

         break;

   case '3':

         insert();

         break;

   case '4':

         deletes();

         break;

   case '5':

       edit();

        break;

   case '6':

        search();

        break;

   case '7':

         sort();

         break;

  }

   menu();

  }

  return 0;

 }

 void menu()

 {

  system("cls");

 // highvideo();

cout<<"          ";

printf("\n*****  Employees Management System 1.0 ***** ");



//normvideo();

cout<<endl;

cout<<"             ";

cout<<"\n\t\t Press  1---->Insert Many Records Of Employees  ";

cout<<"             ";

cout<<"\n\t\t Press  2---->Print List Of The Employee Records  ";

cout<<"             ";

cout<<"\n\t\t Press  3---->Insert New Employee        ";

cout<<"             ";

cout<<"\n\t\t Press  4---->Delete An Employee Record         ";

cout<<"             ";

cout<<"\n\t\t Press  5---->Edit An Employee Record           ";

cout<<"             ";

cout<<"\n\t\t Press  6---->Search for Employee          ";

cout<<"             ";

cout<<"\n\t\t Press  7---->Sort The List Of Employee          ";

cout<<"             ";

cout<<"\n\t\t Press  e---------->Exit Program              ";

cout<<"             ";

cout<<"\n\n \t\t Select Your Option Please ====> ";

}

// داله اضافة عدد من  الموظفين
void build()

{


 system("cls");

// highvideo();

 printf("Build The Table");

 cout<<endl;

 //normvideo();
 //عدد السجلات التي تريد ادخالها
 cout<<"maximum number of entries  -----  >  20"<<endl;

 cout<<"how many do you want    ----->";

 cin>>num;

 cout<<"Enter The Following Items"<<endl;

 for(int i=0;i<=num-1;i++)

 {

  cout<<" Name  ";

  cin>>emp[i].name;

  cout<<"Code  ";

  cin>>emp[i].code;

  cout<<"Designation  ";

  cin>>emp[i].designation;

  cout<<"Years of Experience  ";

  cin>>emp[i].exp;

  cout<<"Age  ";

  cin>>emp[i].age;

 }

  cout<<"going to main menu";

 Sleep(500);

}

//  داله طباعه كافة الموظفين
void  list()

{

 system("cls");

// highvideo();

 printf("       ********List The Table********");

 cout<<endl;

 //normvideo();

 cout<<"     Name     Code     Designation     Years(EXP)     Age "<<endl;

 cout<<"    ------------------------------------------------------"<<endl;

 for(int i=0;i<=num-1;i++)

 {

  cout<<setw(13)<<emp[i].name;

  cout<<setw(6)<<emp[i].code;

  cout<<setw(15)<<emp[i].designation;

  cout<<setw(10)<<emp[i].exp;

  cout<<setw(15)<<emp[i].age;

  cout<<endl;

 }

  cout<<"going to main menu";

 getch();

  }
// داله اضافة واحد من  الموظفين
  void insert()

  {

  system("cls");

  int i=num;

  num+=1;

 // highvideo();

  printf("Insert New Record");

  cout<<endl;

  //normvideo();

  cout<<"Enter The Following Items"<<endl;

  cout<<"Name  ";

  cin>>emp[i].name;

  cout<<"Code  ";

  cin>>emp[i].code;

  cout<<"Designation  ";

  cin>>emp[i].designation;

  cout<<"Years of Experience  ";

  cin>>emp[i].exp;

  cout<<"Age  ";

  cin>>emp[i].age;

  cout<<endl<<endl;

  cout<<"going to main menu";

 Sleep(500);


  }


// داله حذف  الموظفين
  void deletes()

  {

   system("cls");

  // highvideo();

   int code;

   int check;

   printf("Delete An Entry");

   //normvideo();

   cout<<endl;

   cout<<"Enter An JobCode To Delete That Entry  ";

   cin>>code;

   int i;

   for(i=0;i<=num-1;i++)

   {

    if(emp[i].code==code)

    {

      check=i;

    }

   }

   for(i=0;i<=num-1;i++)

   {

    if(i==check)

    {

    continue;

    }

    else

    {

    if(i>check)

    {

     tempemp[i-1]=emp[i];

    }

    else

    {

     tempemp[i]=emp[i];

    }

     }

   }

  num--;


  for(i=0;i<=num-1;i++)

  {

   emp[i]=tempemp[i];

  }

 }

// داله تعديل سجلات  الموظفين
void edit()

{

 system("cls");

 int jobcode;

// highvideo();

 printf("          Edit An Entry           ");

 cout<<endl;

 cout<<endl;

 int i;

 void editmenu();

 void editname(int);

 void editcode(int);

 void editdes(int);

 void editexp(int);

 void editage(int);

 char option;

 //normvideo();

 cout<<"Enter An jobcode To Edit An Entry----  ";

 cin>>jobcode;

  editmenu();

 for(i=0;i<=num-1;i++)

   {

    if(emp[i].code==jobcode)

    {


while((option=cin.get())!='q')

{

      switch(option)

      {

       case 'n':

            editname(i);

            break;

       case 'c':

            editcode(i);

            break;

       case 'd':

            editdes(i);

            break;

       case 'e':

            editexp(i);

            break;

       case 'a':

           editage(i);

           break;

     }

   editmenu();

    }

  }

  }

  }

  void editmenu()

  {

   system("cls");

   cout<<"        What Do You Want To edit";

   cout<<"          n--------->Name ";

   cout<<"          c--------->Code ";

   cout<<"          d--------->Designation";

   cout<<"          e--------->Experience ";

   cout<<"          a--------->Age        ";

   cout<<"              q----->QUIT                            ";

   cout<<"   Options Please ---->>>  ";

  }

  void editname(int i)

  {

     cout<<"Enter New Name----->  ";

     cin>>emp[i].name;

  }

  void editcode(int i)

  {

   cout<<"Enter New Job Code----->  ";

   cin>>emp[i].code;

  }

  void editdes(int i)

  {

   cout<<"enter new designation----->  ";

   cin>>emp[i].designation;

  }

  void editexp(int i)

  {

   cout<<"Enter new Years of Experience";

   cin>>emp[i].exp;

  }

  void editage(int i)

  {

   cout<<"Enter new Age ";

   cin>>emp[i].age;

  }

// داله البحث عن الموظفين
void search()

{

 system("cls");

 // highvideo();

  printf("Welcome To Search Of Employee Database ");

  //normvideo();

  cout<<endl;

  cout<<endl;

  int jobcode;

  cout<<"You Can Search Only By Jobcode Of An Employee";

  cout<<"Enter Code Of An Employee                    ";

 cin>>jobcode;

 for(int i=0;i<=num-1;i++)

   {

    if(emp[i].code==jobcode)

    {


    cout<<"     Name     Code     Designation     Years(EXP)     Age ";

 cout<<"     ------------------------------------------------------                                  ";

  cout<<setw(13)<<emp[i].name;

  cout<<setw(6)<<emp[i].code;

  cout<<setw(15)<<emp[i].designation;

  cout<<setw(10)<<emp[i].exp;

  cout<<setw(15)<<emp[i].age;

  cout<<endl;

 }


  }

    cout<<"going to main menu";

 getch();



}

// داله ترتيب الموظفين
void sort()

{

 system("cls");

// highvideo();

 printf("Sort The Databse By JobCode");

 //normvideo();

 void sortmenu();

 void sortname();

 void sortcode();

 void sortdes();

 void sortexp();

 char option;

 void sortage();


 cout<<endl;

 cout<<endl;

 sortmenu();

 while((option=cin.get())!='q')

 {

  switch(option)

  {

   case 'n':

          sortname();

          break;

   case 'c':

          sortcode();

          break;

   case 'd':

          sortdes();

          break;

   case 'e':

          sortexp();

          break;

   case 'a':

          sortage();

          break;

   }

   sortmenu();

  }

 }



 void sortmenu()

 {

    system("cls");

   cout<<"          What Do You Want To edit";

   cout<<"          n--------->Name         ";

   cout<<"          c--------->Code         ";

   cout<<"          d--------->Designation  ";

   cout<<"          e--------->Experience   ";

   cout<<"          a--------->Age          ";

   cout<<"                               q----->QUIT            ";

   cout<<"   Options Please ---->>>  ";  }



// داله ترتيب الموظفين حسب الاسم
void sortname()

{

 system("cls");

 int i,j;

 struct employee temp[max];

 for(i=0;i<=num-1;i++)

 {

  sortemp1[i]=emp[i];

 }

 for(i=0;i<=num-1;i++)

  {

   for(j=0;j<=num-1;j++)

   {

    if(strcmp(sortemp1[i].name,sortemp1[j].name)<=0)

    {

     temp[i]=sortemp1[i];

     sortemp1[i]=sortemp1[j];

     sortemp1[j]=temp[i];

    }

   }

 }


 for( i=0;i<=num-1;i++)

   {


    cout<<"     Name     Code     Designation     Years(EXP)     Age ";

 cout<<"     ------------------------------------------------------                                  ";

 for( i=0;i<=num-1;i++)

 {

  cout<<setw(13)<<sortemp1[i].name;

  cout<<setw(6)<<sortemp1[i].code;

  cout<<setw(15)<<sortemp1[i].designation;

  cout<<setw(10)<<sortemp1[i].exp;

  cout<<setw(15)<<sortemp1[i].age;

  cout<<endl;

 }

  cout<<"Press Any Key To Go Back";

 getch();


} }


void sortcode()

{

 system("cls");

 int i,j;

 struct employee temp[max];

 for(i=0;i<=num-1;i++)

 {

  sortemp1[i]=emp[i];

 }

 for(i=0;i<=num-1;i++)

  {

   for(j=0;j<=num-1;j++)

   {

    if(sortemp1[i].code<sortemp1[j].code)

    {

     temp[i]=sortemp1[i];

     sortemp1[i]=sortemp1[j];

     sortemp1[j]=temp[i];

    }

   }

 }


 for( i=0;i<=num-1;i++)

   {


    cout<<"     Name     Code     Designation     Years(EXP)     Age ";

 cout<<"     ------------------------------------------------------                                  ";

 for( i=0;i<=num-1;i++)

 {

  cout<<setw(13)<<sortemp1[i].name;

  cout<<setw(6)<<sortemp1[i].code;

  cout<<setw(15)<<sortemp1[i].designation;

  cout<<setw(10)<<sortemp1[i].exp;

  cout<<setw(15)<<sortemp1[i].age;

  cout<<endl;

 }

  cout<<"Press Any Key To Go Back";

 getch();


} }



void sortdes()

{

 system("cls");

 int i,j;

 struct employee temp[max];

 for(i=0;i<=num-1;i++)

 {

  sortemp1[i]=emp[i];

 }

 for(i=0;i<=num-1;i++)

  {

   for(j=0;j<=num-1;j++)

   {

    if(strcmp(sortemp1[i].designation,sortemp1[j].designation)<=0)

    {

     temp[i]=sortemp1[i];

     sortemp1[i]=sortemp1[j];

     sortemp1[j]=temp[i];

    }

   }

 }


 for( i=0;i<=num-1;i++)

   {


    cout<<"     Name     Code     Designation     Years(EXP)     Age";

 cout<<"     ------------------------------------------------------                                 ";

 for( i=0;i<=num-1;i++)

 {

  cout<<setw(13)<<sortemp1[i].name;

  cout<<setw(6)<<sortemp1[i].code;

  cout<<setw(15)<<sortemp1[i].designation;

  cout<<setw(10)<<sortemp1[i].exp;

  cout<<setw(15)<<sortemp1[i].age;

  cout<<endl;

 }

  cout<<"Press Any Key To Go Back";

 getch();


} }


void sortage()

{

 system("cls");

 int i,j;

 struct employee temp[max];

 for(i=0;i<=num-1;i++)

 {

  sortemp1[i]=emp[i];

 }

 for(i=0;i<=num-1;i++)

  {

   for(j=0;j<=num-1;j++)

   {

    if(sortemp1[i].age<sortemp1[j].age)

    {

     temp[i]=sortemp1[i];

     sortemp1[i]=sortemp1[j];

     sortemp1[j]=temp[i];

    }

   }

 }


 for( i=0;i<=num-1;i++)

   {


    cout<<"     Name     Code     Designation     Years(EXP)     Age";

 cout<<"     ------------------------------------------------------                                 ";

 for( i=0;i<=num-1;i++)

 {

  cout<<setw(13)<<sortemp1[i].name;

  cout<<setw(6)<<sortemp1[i].code;

  cout<<setw(15)<<sortemp1[i].designation;

  cout<<setw(10)<<sortemp1[i].exp;

  cout<<setw(15)<<sortemp1[i].age;

  cout<<endl;

 }

  cout<<"Press Any Key To Go Back";

 getch();


} }



void sortexp()

{

 system("cls");

 int i,j;

 struct employee temp[max];

 for(i=0;i<=num-1;i++)

 {

  sortemp1[i]=emp[i];

 }

 for(i=0;i<=num-1;i++)

  {

   for(j=0;j<=num-1;j++)

   {

    if(sortemp1[i].exp<sortemp1[j].exp)

    {

     temp[i]=sortemp1[i];

     sortemp1[i]=sortemp1[j];

     sortemp1[j]=temp[i];

    }

   }

 }


 for( i=0;i<=num-1;i++)

   {


    cout<<"     Name     Code     Designation     Years(EXP)     Age ";

 cout<<"  ------------------------------------------------------ ";

 for( i=0;i<=num-1;i++)

 {

  cout<<setw(13)<<sortemp1[i].name;

  cout<<setw(6)<<sortemp1[i].code;

  cout<<setw(15)<<sortemp1[i].designation;

  cout<<setw(10)<<sortemp1[i].exp;

  cout<<setw(15)<<sortemp1[i].age;

  cout<<endl;

 }

  cout<<"Press Any Key To Go Back";

 getch();


} }

Share this

مواضيع ذات صلة

Previous
Next Post »

هناك 3 تعليقات:

Unknown يقول...

أستاذ عدي انا وضعت الكود في ال c++ shell وظهر لي بأن هناك خطأ في include اريد منك تصححها مشكورا.

Unknown يقول...

فين لغه ال erd

Unknown يقول...

لو سمحت يادكتور البرنامج جاهز بس في مشكلة في الطباعة لاني عدل بعض الاشياء في البرنامج لكي اشغله في برنامج الفيجوال
ارجو الرد بسرعه لان معي غدا مناقشه

إرسال تعليق