C++ program to explain the concept of inheritance
Design a base class consisting of the data members such as name of the student,roll number and subject.The derived class consists of the data members subject code ,internal assessment and university examination marks.Construct a virtual base class for the item name of the student and roll number.The program should have the facilities. i) Build a master table ii) List a table iii) Insert a new entry iv) Delete old entry v) Edit an entry vi) Search for a record
#include<iostream.h>
#include<fstream.h>
#include<conio.h>
class student
{
protected:
char nm[40];
int rno;
char sub[10];
public:
void get();
};
class marks:virtual public student
{
int sub_code;
int internal;
int uni_marks;
public:
marks()
{
sub_code=0;
internal=0;
uni_marks=0;
}
void getdata();
void display();
void insert();
void modify();
};
void student::get()
{
cout<<"\n\n\t Enter name:";
cin>>nm;
cout<<"\n\n\t Enter roll no:";
cin>>rno;
cout<<"\n\n\t Enter subject name:";
cin>>sub;
}
void marks::getdata()
{
get();
cout<<"\n\n\t Enter subject code:";
cin>>sub_code;
cout<<"\n\n\t Enter internal assessment:";
cin>>internal;
cout<<"\n\n\t Enter university marks:";
cin>>uni_marks;
}
void marks::display()
{
cout<<" "<<nm<<"\t"<<rno<<"\t"<<sub<<"\t"<<sub_code<<"\t\t"<<internal<<"\t\t"<<uni_marks;
}
void marks::insert()
{
getdata();
}
void marks::modify()
{
getdata();
}
void main()
{
fstream f1;
f1.open("stud.dat", ios::in | ios::out);
int ch,n,loc,i;
marks m[10];
clrscr();
cout<<"\n\n\t Enter no.of records";
cin>>n;
do
{
cout<<"\n\n\t 1> Build master table";
cout<<"\n\n\t 2> Display \n\n\t 3> Insert";
cout<<"\n\n\t 4> Delete \n\n\t 5> Modify";
cout<<"\n\n\t 6> Search";
cout<<"\n\n\t Enter your choice";
cin>>ch;
switch(ch)
{
case 1:for(i=0;i<n;i++)
{
m[i].getdata();
f1.write((char *) & m[i],sizeof(m[i]));
}
break;
case 2:cout<<"\n\n";
cout<<"NAME\tROLL NO\tSUBJECT\tSUB CODE\tINTERNAL\tMARKS";
cout<<"\n\n";
cout<<"-----------------------------------------------------------------";
cout<<"\n\n";
for(i=0;i<n;i++)
{
f1.read((char *) & m[i],sizeof(m[i]));
m[i].display();
f1.write((char *) & m[i],sizeof(m[i]));
cout<<"\n\n";
}
break;
case 3:cout<<"\n\n\t Enter loc at which record to be inserted";
cin>>loc;
for(i=n-1;i>=loc-1;i--)
{
f1.read((char *) & m[i],sizeof(m[i]));
m[i+1]=m[i];
}
f1.write((char *) & m[i],sizeof(m[i]));
m[loc-1].insert();
n++;
break;
case 4:cout<<"\n\n\t enter loc at which record to be deleted";
cin>>loc;
for(i=loc-1;i<=n-1;i++)
{
f1.read((char *) & m[i],sizeof(m[i]));
m[i]=m[i+1];
}
n--;
cout<<"\n\n";
cout<<"NAME\tROLL NO\tSUBJECT\tSUB CODE\tINTERNAL\tMARKS";
cout<<"\n\n";
cout<<"-----------------------------------------------------------------";
cout<<"\n\n";
for(i=0;i<n;i++)
{
f1.read((char *) & m[i],sizeof(m[i]));
m[i].display();
f1.write((char *) & m[i],sizeof(m[i]));
cout<<"\n\n";
}
break;
case 5:cout<<"\n\n\t Enter which record to be editted";
cin>>loc;
m[loc-1].insert();
cout<<"\n\n";
cout<<"NAME\tROLL NO\tSUBJECT\tSUB CODE\tINTERNAL\tMARKS";
cout<<"\n\n";
cout<<"-----------------------------------------------------------------";
cout<<"\n\n";
f1.read((char *) & m[i],sizeof(m[i]));
m[loc-1].display();
f1.write((char *) & m[i],sizeof(m[i]));
cout<<"\n\n";
break;
case 6:cout<<"\n\n\t Enter record to be searched";
cin>>loc;
if(n>=loc)
{
cout<<"\n\n\t Found Record";
cout<<"\n\n";
cout<<"NAME\tROLL NO\tSUBJECT\tSUB CODE\tINTERNAL\tMARKS";
cout<<"\n\n";
cout<<"-----------------------------------------------------------------";
cout<<"\n\n";
f1.read((char *) & m[i],sizeof(m[i]));
m[loc-1].display();
f1.write((char *) & m[i],sizeof(m[i]));
cout<<"\n\n";
}
else
cout<<"\n\n\t Not Found";
break;
}
}while(ch!=7);
f1.close();
getch();
}
/* OUTPUT
Enter no.of records 1
1> Build master table
2> Display
3> Insert
4> Delete
5> Modify
6> Search
Enter your choice 1
Enter name:PR
Enter roll no:10
Enter subject name:DS
Enter subject code:23
Enter internal assessment:45
Enter university marks:67
Enter name:PR2
Enter roll no:20
Enter subject name:CO
Enter subject code:44
Enter internal assessment:48
Enter university marks:71
Enter name:PR3
Enter roll no:30
Enter subject name:CG
Enter subject code:12
Enter internal assessment:46
Enter university marks:65
1> Build master table
2> Display
3> Insert
4> Delete
5> Modify
6> Search
Enter your choice 2
NAME ROLL NO SUBJECT SUB CODE INTERNAL MARKS
-------------------------------------------------------
PR 10 DS 23 45 67
PR2 20 CO 44 48 71
PR3 30 CG 12 46 65
1> Build master table
2> Display
3> Insert
4> Delete
5> Modify
6> Search
Enter your choice 3
Enter name:PR4
Enter roll no:40
Enter subject name:M2
Enter subject code:89
Enter internal assessment:39
Enter university marks:62
1> Build master table
2> Display
3> Insert
4> Delete
5> Modify
6> Search
Enter your choice2
NAME ROLL NO SUBJECT SUB CODE INTERNAL MARKS
------------------------------------------------------
PR 10 DS 23 45 67
PR2 20 CO 44 48 71
PR3 30 CG 12 46 65
PR4 40 M2 89 39 62
1> Build master table
2> Display
3> Insert
4> Delete
5> Modify
6> Search
Enter your choice 4
enter loc at which record to be deleted 2
NAME ROLL NO SUBJECT SUB CODE INTERNAL MARKS
------------------------------------------------------
PR 10 DS 23 45 67
PR2 20 CO 44 48 71
PR3 30 CG 12 46 65
1> Build master table
2> Display
3> Insert
4> Delete
5> Modify
6> Search
Enter your choice 5
Enter which record to be editted 2
Enter name:PR6
Enter roll no:50
Enter subject name:MIT
Enter subject code:78
Enter internal assessment:47
Enter university marks:69
NAME ROLL NO SUBJECT SUB CODE INTERNAL MARKS
------------------------------------------------------
PR6 50 MIT 78 47 69
1> Build master table
2> Display
3> Insert
4> Delete
5> Modify
6> Search
Enter your choice 6
Enter record to be searched 3
Found Record
NAME ROLL NO SUBJECT SUB CODE INTERNAL MARKS
------------------------------------------------------
PR3 30 CG 12 46 65
1> Build master table
2> Display
3> Insert
4> Delete
5> Modify
6> Search
Enter your choice 7 */
0 comments:
Post a Comment