ASSIGNMENT NO.2
ASSIGNMENT NO.2
2
TITLE: Program to create Students Database using C++ Concepts
PROBLEM STATEMENT: Develop a program in C++ to create a database of
student’s information system containing the following information: Name, Roll
number, Class, Division, Date of Birth, Blood group, Contact address,
Telephone number, Driving license no. and other. Construct the database with
suitable member functions. Make use of constructor, default constructor, copy
constructor, destructor, static member functions, friend class, this pointer,
inline code and dynamic memory allocation operators-new and delete as well
as exception handling
CODE
#include<iostream>
#include<string.h>
using namespace std;
class StudData;
class Student{
string name;
int roll_no;
string cls;
char* division; //pointer datamember or pointer variable
string dob;
char* bloodgroup;
static int count;
public:
Student() // Default Constructor
{
name="";
roll_no=0;
cls="";
division=new char; //dynamic memory allocation operator-new
dob="dd/mm/yyyy";
bloodgroup=new char[4];
}
Student(Student *obj)
{
cout<<"\nCopy constructor implemented"<<endl;
}
~Student() // Destructor
{
delete division; //dynamic memory allocation operator-delete
delete[] bloodgroup;
}
void getData(StudData*);
void dispData(StudData*);
};
class StudData{
string caddress;
long int* telno;
long int* dlno;
friend class Student; //friend class
public:
StudData()
{
caddress="";
telno=new long;
dlno=new long;
}
~StudData()
{
delete telno;
delete dlno;
}
void getStudData()
{
cout<<"Enter Contact Address : ";
cin.get();
getline(cin,caddress);
cout<<"Enter Telephone Number : ";
cin>>*telno;
cout<<"Enter Driving License Number : ";
cin>>*dlno;
}
void dispStudData()
{
cout<<"Contact Address : "<<caddress<<endl;
cout<<"Telephone Number : "<<*telno<<endl;
cout<<"Driving License Number : "<<*dlno<<endl;
}
};
int main()
{
Student* stud1[100]; //array of pointer or pointer array to create n
//number of objects.
StudData* stud2[100];
int n=0; //number of students
char ch;
do
{
stud1[n]=new Student;
stud2[n]=new StudData;
stud1[n]->getData(stud2[n]); //n number of pointers to point n
number of //objects.(-> member access
operator)
n++;
cout<<"Do you want to add another student (y/n) : ";
cin>>ch;
cin.get();
} while (ch=='y' || ch=='Y');
for(int i=0;i<n;i++)
{
cout<<"---------------------------------------------------------------"<<endl;
stud1[i]->dispData(stud2[i]);
}
cout<<"---------------------------------------------------------------"<<endl;
cout<<"Total Students : "<<Student::getCount();
cout<<endl<<"---------------------------------------------------------------"<<endl;
return 0;
}