C++ Programming
Slip3
Q.1) Write a C++ program to create a class Date which contains three data members as dd,
mm, yyyy. Create and initialize the object by using parameterized constructor and display
date in dd-mon-yyyy format. (Input: 19-12-2014 Output: 19-Dec-2014) Perform
validation for month. [Marks 15]
Solution
#include<iostream.h>
#include<conio.h>
class date
{
int day,month,year;
public:
date(){}
date(int d,char m,int y);
};
date::date(int d,char m,int y)
{
day=d;
month =m;
year=y;
switch(m)
{
case 1:cout<<"\n Date is ";
cout<<day<<"-"<<"JAN"<<"-"<<year;
break;
case 2:cout<<"\n Date is ";
cout<<day<<"-"<<"FEB"<<"-"<<year;
break;
case 3:cout<<"\n Date is ";
cout<<day<<"-"<<"MAR"<<"-"<<year;
break;
case 4:cout<<"\n Date is ";
cout<<day<<"-"<<"APR"<<"-"<<year;
break;
case 5:cout<<"\n Date is ";
cout<<day<<"-"<<"MAY"<<"-"<<year;
break;
case 6:cout<<"\n Date is ";
cout<<day<<"-"<<"JUN"<<"-"<<year;
break;
case 7:cout<<"\n Date is ";
cout<<day<<"-"<<"JUL"<<"-"<<year;
break;
case 8:cout<<"\n Date is ";
cout<<day<<"-"<<"AUG"<<"-"<<year;
break;
case 9:cout<<"\n Date is ";
cout<<day<<"-"<<"SEPT"<<"-"<<year;
break;
case 10:cout<<"\n Date is ";
cout<<day<<"-"<<"OCT"<<"-"<<year;
break;
case 11:cout<<"\n Date is ";
cout<<day<<"-"<<"NOV"<<"-"<<year;
break;
case 12:cout<<"\n Date is ";
cout<<day<<"-"<<"DEC"<<"-"<<year;
break;
}
}
int main()
{
date x;
clrscr();
int dd,year,mm;
cout<<"\nEnter Day : ";
cin>>dd;
mm=0;
while(1)
{
cout<<"\nEnter Month : ";
cin>>mm;
if(mm<1||mm>12)
{
cout<<"\n Invalid month";
cout<<"\n month should be int between 1 to 12\n";
}
else
break;
}
cout<<"\nEnter year : ";
cin>>year;
x=date(dd,mm,year);
getch();
return 0;
}
Output
Enter Day : 10 11 1995
Enter Month :
Enter year :
Date is 10-NOV-1995
Q.2) Create a base class Student(Roll_No, Name) which derives two classes
Academic_Marks(Mark1, Mark2, Mark3) and Extra_Activities_Marks(Marks). Class
Result(Total_Marks, Grade) inherits both Academic_Marks and Extra_Activities_Marks
classes. (Use Virtual Base Class)
Write a C++ menu driven program to perform the following functions:
i. Build a master table
ii. Calculate Total_marks and grade [Marks 25]
Solution
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<iomanip.h>
class student
{
protected :
int roll_no;
char name[20];
public:
void acceptS()
{
cout<<"\n\t Enter Roll No : ";
cin>>roll_no;
cout<<"\n\t Enter name of student : ";
cin>>name;
}
};
class academic_marks : virtual public student
{
protected :
int marks1,marks2,marks3;
public :
void acceptAM()
{
cout<<"\n\t Enter marks1 : ";
cin>>marks1;
cout<<"\n\t Enter marks2 : ";
cin>>marks2;
cout<<"\n\t Enter marks3 : ";
cin>>marks3;
}
};
class extra_activity_marks : virtual public student
{
protected :
int marks;
public:
void acceptEAM()
{
cout<<"\n\t Enter extra activity marks : ";
cin>>marks;
}
};
class result : public academic_marks , public extra_activity_marks
{
private:
int total;
char grade[20];
public:
void calculate()
{
total=marks1+marks2+marks3+marks;
float per = total/4.0;
if(per>70)
strcpy(grade,"Distinction");
else if(per>60)
strcpy(grade,"First Class");
else if(per>50)
strcpy(grade,"Second Class");
else if(per>40)
strcpy(grade,"Pass");
else
strcpy(grade,"Fail");
cout.width(15);
cout<<setiosflags(ios::right);
cout<<" \n\t Total";
cout.width(15);
cout<<setiosflags(ios::right);
cout<<" Percentage";
cout.width(15);
cout<<setiosflags(ios::right);
cout<<" Grade";
cout<<endl;
cout.width(15);
cout<<setiosflags(ios::right);
cout<<total;
cout.width(15);
cout<<setiosflags(ios::right);
cout<<per;
cout.width(15);
cout<<setiosflags(ios::right);
cout<<grade<<endl;
}
void displaytable()
{
cout.width(10);
cout<<setiosflags(ios::right);
cout<<"Roll No";
cout.width(10);
cout<<setiosflags(ios::right);
cout<<" Name";
cout.width(10);
cout<<setiosflags(ios::right);
cout<<" Marks1";
cout.width(10);
cout<<setiosflags(ios::right);
cout<<" Marks2";
cout.width(10);
cout<<setiosflags(ios::right);
cout<<" Marks3";
cout.width(10);
cout<<setiosflags(ios::right);
cout<<" Marks";
cout<<endl;
cout.width(10);
cout<<setiosflags(ios::right);
cout<<roll_no;
cout.width(10);
cout<<setiosflags(ios::right);
cout<<name;
cout.width(10);
cout<<setiosflags(ios::right);
cout<<marks1;
cout.width(10);
cout<<setiosflags(ios::right);
cout<<marks2;
cout.width(10);
cout<<setiosflags(ios::right);
cout<<marks3;
cout.width(10);
cout<<setiosflags(ios::right);
cout<<marks;
cout<<endl;
}
};
int main()
{ clrscr();
result r;
r.acceptS();
r.acceptAM();
r.acceptEAM();
int c;
do
{
cout<<"\n\t 1. Build Master Table";
cout<<"\n\t 2. Calculate Total marks & Grade";
cout<<"\n\t Enter your choice : ";
cin>>c;
switch(c)
{
case 1:cout<<"\n\t---------------------------------------------"<<endl;
r.displaytable();
cout<<"\n\t---------------------------------------------"<<endl;
break;
case 2: cout<<"\n\t---------------------------------------------"<<endl;
r.calculate();
cout<<"\n\t---------------------------------------------"<<endl;
break;
}
}while(c!=3);
getch();
return 0;
}
Tags:
c++