C++

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;
}

BCA Pratical Solution

My name is Vivek And I from Mumbai and Complete my Graduation Bca.my Age is 23 Years.

Post a Comment

Previous Post Next Post