Click here to Skip to main content
15,868,016 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Create an a simple Record Management Application using the concept of Binary Tree. The program will allow you to add,
sort, view, search, and delete record. Minimum of 5 fields(5 structure member, nodes, are not included). The
application have also the capability to save and retrieve data in a file.
Posted
Updated 17-Dec-12 8:46am
v3

Sorry, but this is your assignment and you are expected to do the work. If you have specific questions then post them here and people will try to help you, but no one is going to provide a complete solution for you.
 
Share this answer
 
Comments
earl john mahiya 17-Dec-12 16:18pm    
Here's my program I'm having a hard time trying to put Print command int my menu. Can you help me?



#include
#include
#include
#include
#include
//#include
//#include
#include
#include
#include
#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())!='q')
{
switch(option)
{
case 'b':
build();
break;
case 'l':
list();
break;
case 'i':
insert();
break;
case 'd':
deletes();
break;
case 'e':
edit();
break;
case 's':
search();
break;
case 'n':
sort();
break;
}
menu();
}
return 0;
}
void menu()
{
system("cls");
// highvideo();
cout<<" ";


//normvideo();
cout<<endl;
cout<<" ";
cout<<"\n\t\t Press b---->Built The Employee Table ";
cout<<" ";
cout<<"\n\t\t Press l---->List The Employee Table ";
cout<<" ";
cout<<"\n\t\t Press i---->Insert New Entry ";
cout<<" ";
cout<<"\n\t\t Press d---->Delete An Entry ";
cout<<" ";
cout<<"\n\t\t Press e---->Edit An Entry ";
cout<<" ";
cout<<"\n\t\t Press s---->Search Arecord ";
cout<<" ";
cout<<"\n\t\t Press n---->Sort The Table ";
cout<<" ";
cout<<"\n\t\t Press q---------->Quit 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();
i have Codes here i have difficulty creating Print (file handling) in my program can u help me ? :D
 
Share this answer
 
Comments
Nelek 17-Dec-12 18:42pm    
Please don't post solutions to add information, to ask something or to comment another user.
- To add information to your message, you can use the widget "Improve question" / "Improve solution" at the bottom of your text.
- To ask/answer a user, you can use the widget "Have a question or comment?" (as I am doing right now with you) or the widget "reply" in another comment.
Here's my program I have a hard time trying to put Print int my menu



C++
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<iomanip>
#include<windows.h>
//#include <ctime>
//#include <dos.h>
#include<dos.h>
#include<conio.h>
#include<cstdio>
#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())!='q')
 {
  switch(option)
  {
   case 'b':
		     build();
		     break;
   case 'l':
		     list();
		     break;
   case 'i':
		     insert();
		     break;
   case 'd':
		     deletes();
		     break;
   case 'e':
		   edit();
		    break;
   case 's':
		    search();
		    break;
   case 'n':
		     sort();
		     break;
  }
   menu();
  }
  return 0;
 }
 void menu()
 {
  system("cls");
 // highvideo();
cout<<"		      ";


//normvideo();
cout<<endl;
cout<<"		         ";
cout<<"\n\t\t Press  b---->Built The Employee Table ";
cout<<"		         ";
cout<<"\n\t\t Press  l---->List The Employee Table  ";
cout<<"		         ";
cout<<"\n\t\t Press  i---->Insert New Entry        ";
cout<<"		         ";
cout<<"\n\t\t Press  d---->Delete An Entry         ";
cout<<"		         ";
cout<<"\n\t\t Press  e---->Edit An Entry           ";
cout<<"		         ";
cout<<"\n\t\t Press  s---->Search Arecord          ";
cout<<"		         ";
cout<<"\n\t\t Press  n---->Sort The Table          ";
cout<<"		         ";
cout<<"\n\t\t Press  q---------->Quit 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();

} }


[edit]code block added[/edit]
 
Share this answer
 
v2
Comments
Nelek 17-Dec-12 18:42pm    
If you want to add such a bunch of code, please use the "PRE" tags to give it a bit format, if not it is going to be unreadable.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900