#include <iostream>
using namespace std;
class Employee{
private:
string name;
int age;
double salary;
string dept;
public:
Employee();
//~Employee();
void create_emp();
void show_emp();
void delete_emp(Employee *e);
};
Employee :: Employee()
{
name = "";
age = 0;
salary = 0.0;
dept = "";
}
/*Employee :: ~Employee()
{
delete emp;
}
*/
void Employee :: create_emp()
{
cout<<"Employee record"<<endl;
cout<<"Employee Name:";
cin>>name;
cout<<"\nEmployee Age:";
cin>>age;
cout<<"\nEmployee Salary:";
cin>>salary;
cout<<"\nEmployee Department:";
cin>>dept;
}
void Employee :: delete_emp(Employee *e)
{
delete[] e;
}
void Employee :: show_emp()
{
cout<<"Display Employee Record";
cout<<"Employee Name:"<<name;
cout<<"\nEmployee Age:"<<age;
cout<<"\nEmployee Salary:"<<salary;
cout<<"\nEmployee Department:"<<dept;
}
int main(int argc, char **argv)
{
int size=0;
Employee *emp = new Employee[size+1];
int ch;
cout<<"\nEnter Choice\n";
do{
cout<<"1 Create Employee\n";
cout<<"2 Display Record\n";
cout<<"3 Delete Record\n";
cout<<"4 Press 0 to exit\n\n\n\n";
cin>>ch;
switch(ch){
case 1:cout<<"Record"<<++size<<":";
emp[size-1].create_emp();
emp = new Employee[size+1];
break;
case 2:for(int i=0;i<size;i++){
emp[i].show_emp();}
break;
case 3:for(int i=0;i<size;i++){
emp[i].delete_emp(emp);}
break;
//case default:exit();
}
}while(ch);
return 0;
}
Output is not upto the mark.
problem with above code is that when we have entered value and then displayed on screen at that time only last entered value would be display rather than displaying all the values.
So how do we have to display all the entered record and then delete any specific record by deleting object holding that record???

New Topic/Question
Reply




MultiQuote



|