Академический Документы
Профессиональный Документы
Культура Документы
PROGRAMMING
PROGRAM NO: 1
DATE: 13/05/2014
STUDENT SURVEY
Students in a college were surveyed about how many days a week they eat fast-food. Write
a program to help analyze the result of the survey. Initially the program prompts how many input
values there are, it then reads in the specified number of values, and counts how many answers are
0 day a week, 1 day a week, etc. Finally the result is displayed in a table, each row showing the
number of days, the number of students that eat fast-food that many days a week, and what
percentage they constitute of the total number of students surveyed. An example running session
might look like follows (you dont have to align the table columns):
How many input values are there: 5
Enter number of days: 2
Enter number of days: 0
Enter number of days: 3
Enter number of days: 3
Enter number of days: 7
Days Students Percentage(%)
0 1 20
100
2 1 20
3 2 40
400
500
600
7 1 20
CLASS DIAGRAM
PROGRAM
#include<iostream>
using namespace std;
class survey
{
private:
int n,count[8];
public:
survey()
{
n=0;
for(int i=0;i<8;i++)
{
count[i]=0;
}
}
void find()
{
int i=0,ch;
cout<<"\nEnter the total number of students to be surveyed: \n";
cin>>n;
while(i<n)
{
cout<<"\nSurvey for student "<<i+1;
cout<<"\nEnter the number of days(eat fast food):";
cin>>ch;
switch(ch)
{
case 0: count[0]++;
break;
case 1:count[1]++;
break;
case 2: count[2]++;
break;
case 3: count[3]++;
break;
case 4: count[4]++;
break;
case 5: count[5]++;
break;
case 6: count[6]++;
break;
case 7: count[7]++;
break;
default: cout<<"Invalid choice\n";
break;
}
i++;
}
}
void display()
{
cout<<"\nDAYS\tSTUDENTS\tPERCENTAGE";
for(int i=0;i<8;i++)
{
float t;
t=((count[i]/float(n))*100.0);
cout<<"\n"<<i<<"\t"<<count[i]<<"\t\t"<<t;
}
cout<<"\n";
}
};
int main()
{
survey s1;
s1.find();
s1.display();
return 0;
}
OUTPUT
PROGRAM NO: 2
DATE: 13/05/2014
PASSING ARRAY OF OBJECTS
Create a class student with rollno, name and marks of 3 subjects. Read the student details,
find total and percentage and display the details
CLASS DIAGRAM
PROGRAM
#include<iostream>
using namespace std;
class student
{
private:
int m1,m2,m3,roll,total;
char name[20];
float per;
public:
void read()
{
cout<<"\nEnter the roll no: ";
cin>>roll;
cout<<"\nEnter the name: ";
cin>>name;
6
return sid;
}
};
int main()
{
student S1[10];
int n,r;
cout<<"\nEnter the no:of students: ";
cin>>n;
for(int i=0;i<n;i++)
{
S1[i].read();
}
student S2,P;
r=S2.percentage(S1,n);
for(int j=0;j<n;j++)
{
S1[j].display();
}
return 0;
}
OUTPUT
PROGRAM NO: 3
DATE: 13/05/2014
INLINE FUNCTION
Create a inline function to find the sum of first n odd numbers
CLASS DIAGRAM
PROGRAM
#include<iostream>
#include<math.h>
using namespace std;
class sum
{
private:
int n;
public:
void getdata()
{
cout<<"Enter the limit: ";
cin>>n;
}
inline int oddsum()
{
int s;
s=pow(n,2);
cout<<"SUM= "<<s;
cout<<"\n";
}
10
};
int main()
{
sum s1;
s1.getdata();
s1.oddsum();
return 0;
}
OUTPUT
11
PROGRAM NO: 4
DATE: 20/05/2014
CONSTRUCTOR
Using constructor find sum of 2 integers (use default, parameterized constructor)
CLASS DIAGRAM
PROGRAM
#include<iostream>
using namespace std;
class constructor
{
int a,b,sum;
public:
constructor()
{
a=0;
b=0;
cout<<"Value of a: "<<a<<"\n";
cout<<"Value of b: "<<b;
sum=0;
}
constructor(int i,int j)
{
a=i;
b=j;
cout<<"Value of a: "<<a<<"\n";
cout<<"Value of b: "<<b;
12
}
int add()
{
return a+b;
}
};
int main()
{
cout<<"\nDefault constructor called\n";
constructor c1;
cout<<"\nSum: "<<c1.add();
cout<<"\n\nParameterised constructor called\n";
constructor c2(5,5);
cout<<"\nSum: "<<c2.add()<<"\n";
return 0;
}
OUTPUT
13
PROGRAM NO: 5
DATE: 20/05/2014
TOLL BOOTH
Implement the toll booth . When a car is a paycar, increment count by one and increment
money by 10. If car is not a paycar,increment count by one. Count will represent number of cars
passed by.
CLASS DIAGRAM
PROGRAM
#include<iostream>
using namespace std;
class tollbooth
{
int tot_car;
int amt;
public:
tollbooth():tot_car(0),amt(0)
{}
void display()
{
cout<<"\nTotal car passed: "<<tot_car;
cout<<"\nTotal Amount :"<<amt<<"\n";
}
void payingcar()
{
tot_car=tot_car+1;
14
amt=amt+10;
}
void nopayingcar()
{
tot_car=tot_car+1;
}
};
int main()
{
int n,ch=1;
tollbooth t;
while(ch==1)
{
cout<<"\nOptions\n1.Paying car\n2.Not paying car\n3.Display\nEnter your choice:
";
cin>>n;
switch(n)
{
case 1:
t.payingcar();
t.display();
break;
case 2:
t.nopayingcar();
t.display();
break;
case 3:
t.display();
break;
default:
cout<<"Invalid choice\n";
}
cout<<"\nDo you want to continue? Press 1 for yes else press 0: ";
15
cin>>ch;
}
return 0;
}
OUTPUT
16
PROGRAM NO: 6
DATE: 20/05/2014
STATIC VARIABLES AND FUNCTIONS
To count no of vowels,consonants in a string using static variables and functions.
CLASS DIAGRAM
PROGRAM
#include<iostream>
using namespace std;
class count
{
static char str[10];
static int vowel_count,consonant_count;
public:
void getdata()
{
cout<<"\nEnter the string : ";
cin>>str;
}
static void putdata()
{
int i;
for(i=0;str[i]!='\0';i++)
{
if(str[i]=='a'||str[i]=='e'||str[i]=='i'||str[i]=='o'||str[i]=='u')
vowel_count++;
17
else
consonant_count++;
}
cout<<"\nNo of Vowels : "<<vowel_count;
cout<<"\nNo of Consonants : "<<consonant_count<<"\n";
}
};
char count::str[10];
int count::vowel_count=0;
int count::consonant_count=0;
int main()
{
count c;
c.getdata();
count::putdata();
return 0;
}
OUTPUT
18
PROGRAM NO: 7
DATE: 03/06/2014
BANK ACCOUNT
Define a class bankAccount. Include the following members. Write a program in C++ to
test Data
MEMBERS:
i. Name of depositor
ii. Account number
iii. Balance amount in the account
MEMBER FUNCTIONS:
i. To assign initial values
ii. To deposit an amount
iii.To withdraw an amount after checking the balance
iv.To display name and balance
v. Transfer amount from one Bank Account to another Bank Account
CLASS DIAGRAM
PROGRAM
#include<iostream>
#include<string.h>
#include<stdlib.h>
using namespace std;
class bankaccount
{
19
private:
string name;
int accno;
unsigned long int bal;
public:
bankaccount()
{
cout<<"\nEnter the name: ";
cin>>name;
cout<<"Enter the account number: ";
cin>>accno;
bal=0;
}
int get()
{
return accno;
}
void display()
{
cout<<"\nName: "<<name<<"\n";
cout<<"Balance: "<<bal<<"\n";
}
void deposit()
{
int amt;
cout<<"\nEnter amount to deposit: ";
cin>>amt;
bal=bal+amt;
cout<<"Amount deposited!!!\n";
}
void withdraw()
{
int amt;
20
21
choice: ";
cin>>ch;
switch(ch)
{
case 1:
cout<<"Enter the account number: ";
cin>>ac1;
if(b1.get()==ac1)
b1.deposit();
else if(b2.get()==ac1)
b2.deposit();
else
cout<<"\nAccount doesn't exist\n";
break;
case 2:
cout<<"Enter the account number:";
cin>>ac1;
if(b1.get()==ac1)
b1.withdraw();
else if(b2.get()==ac1)
b2.withdraw();
else
cout<<"\nAccount doesn't exist\n";
break;
case 3:
cout<<"Enter the account number from which you want to transfer: ";
cin>>ac1;
cout<<"Enter the account number to which u want to deposit: ";
cin>>ac2;
if(b1.get()==ac1 && b2.get()==ac2)
b1=b2.transfer(b1);
else if(b2.get()==ac1 && b1.get()==ac2)
b2=b1.transfer(b2);
22
else
cout<<"\nAccount doesn't exist\n";
break;
case 4:b1.display();
b2.display();
break;
case 5: exit(0);
break;
default: cout<<"\nInvalid choice\n";
}
cout<<"Press 1 to continue else press 0: ";
cin>>a;
}
return 0;
}
OUTPUT
23
24
25
PROGRAM NO: 8
DATE: 03/06/2014
COMPLEX NUMBER ADDITION
Complex number addition using friend function
CLASS DIAGRAM
PROGRAM
#include<iostream>
using namespace std;
class complex
{
float real,image;
public:
void get()
{
cout<<"Enter real and imaginary part: ";
cin>>real>>image;
}
void display()
{
cout<<real<<"+i"<<image<<"\n";
}
friend complex sum(complex,complex);
};
complex sum(complex c1,complex c2)
{
complex c3;
26
c3.real=c1.real+c2.real;
c3.image=c1.image+c2.image;
return c3;
}
int main()
{
complex a,b,c;
cout<<"\nFirst complex number\n";
a.get();
cout<<"\nSecond complex number\n";
b.get();
c=sum(a,b);
cout<<"Sum of complex numbers:";
c.display();
return 0;
}
OUTPUT
27
PROGRAM NO: 9
DATE: 10/06/2014
TRANSLATE THE GIVEN SENTENCE TO PIG LATIN
Write an interactive program that prompts the user to input a valid sentence containing at
least two letters and ending in a period. Use getline(cin,sentence); to read the sentence. Use string
functions. Translate the given sentence to Pig Latin and display it.
NOTE: Use functions to make your code as efficient and as organized as possible. Correctness is
the most important element, however, points will be given for the quality of your code.
The Pig Latin system works as follows:
Words that start with a vowel (A, E, I, O, U) simply have "WAY" appended to the end of the
word.
Words that start with a consonant have the first consonant letter moved to the end of the word and
"AY" is appended.
Incorporate the following features and special case functionality:
Correct upper case and lower case formatting.
Assume Words consist of alphabetic characters only (A-Z and a-z).
All punctuation, numerals, symbols and whitespace should not be modified.
For example:
Input:
Output:
These awful french fries are getting cold.
Hesetay awfulway renchfay riesfay areway ettinggay oldcay.
CLASS DIAGRAM
28
PROGRAM
#include <string.h>
#include <iostream>
using namespace std;
class convert
{
int wordLen;
char low_case,ch;
string word,first,newWord;
public:
bool isVowels(char x)
{
low_case = tolower (x);
if (low_case == 'a' )
return true;
else if (low_case == 'e' )
return true;
else if ( low_case== 'i' )
return true;
else if (low_case == 'o' )
return true;
else if (low_case == 'u' )
return true;
else
return false;
}
void changeLine (string line)
{
while (line.length() !=0)
{
wordLen = line.find(' ');
if (wordLen >0)
29
{
word = line.substr(0,wordLen);
first=word.substr(0,1);
ch = first[0];
string notFirst(word,1);
if (isVowels (ch))
{
Vowel(word);
}
else
{
nonVowel(ch,notFirst);
}
line = line.substr(wordLen+1);
}
else
{
word = line;
ch = line[0];
string notFirst(word,1);
if (isVowels (ch))
Vowel(word);
else
nonVowel(ch, notFirst);
line="";
}
}
}
void Vowel(string changed)
{
newWord=changed+"way";
cout<<newWord<<" ";
}
30
31
OUTPUT
32
PROGRAM NO: 10
DATE: 10/06/2014
ALLOCATING MEMORY DYNAMICALLY
Allocate memory for students dynamically and search for a particular student using rollno.
CLASS DIAGRAM
PROGRAM
#include<iostream>
#include<stdlib.h>
using namespace std;
class student
{
int rolno;
char name[20];
char grade;
public:
void read()
{
cout<<"\nEnter roll number: ";
cin>>rolno;
cout<<"Enter name: ";
cin>>name;
cout<<"Enter Grade: ";
cin>>grade;
}
void display()
{
33
cout<<"\nROLL No : "<<rolno;
cout<<"\nNAME : "<<name;
cout<<"\nGRADE : "<<grade;
}
int search(int r)
{
if(rolno==r)
return 1;
else
return 0;
}
};
main()
{
int r,f,n,ch=1;
cout<<"Enter number of students";
cin>>n;
student *s[n];
do
{
cout<<"\nOptions\n1.READ\n2.SEARCH\n3.DISPLAY \n4.EXIT\nEnter your
choice: ";
cin>>ch;
switch(ch)
{
case 1:for(int i=0;i<n;i++)
{
s[i]=new student;
cout<<"Enter the details of Student "<<i+1;
s[i]->read();
}
break;
case 2:cout<<"\nEnter rollno to search: ";
34
cin>>r;
f=0;
for(int i=0;i<n;i++)
{
f=s[i]->search(r);
if(f==1)
{
cout<<"\n ROLL NO FOUND";
cout<<"Details of student\n";
s[i]->display();
break;
}
}
if(f==0)
{
cout<<"\n ROLL NO NOT FOUND";
}
break;
case 3:for(int i=0;i<n;i++)
{
cout<<"\nDetails of Student "<<(i+1);
s[i]->display();
}
break;
case 4:
exit(0);
}
cout<<"\nPress 1 to continue else press 0\n";
cin>>ch;
}
while(ch!=0);
}
35
OUTPUT
36
37
PROGRAM NO: 11
DATE: 17/06/2014
OPERATOR OVERLOADING-STRING
Create a class string class which contains 2 strings as its data members .Overload '+', '= =',
'<', '>'
CLASS DIAGRAM
PROGRAM
#include<iostream>
#include<string.h>
using namespace std;
class string1
{
char s1[10],s2[10];
public:
void getdata()
{
cout<<"\nEnter first string: ";
cin>>s1;
cout<<"Enter the second string: ";
cin>>s2;
}
void operator==(int a)
{
if(strcmp(s1,s2)==0)
38
39
ob<n;
ob>n;
cout<<"\n";
return 0;
}
OUTPUT
40
PROGRAM NO: 12
DATE: 17/06/2014
OPERATOR OVERLOADING - DISTANCE
Create a class Distance with feet and inches as data members. Overload '+', '==' , ','
CLASS DIAGRAM
PROGRAM
#include<iostream>
using namespace std;
class Distance
{
private:
float feet,inches;
public:
Distance():feet(0),inches(0)
{}
Distance(float f,float i):feet(f),inches(i)
{}
void display()
{
cout<<feet<<" feet and "<<inches<<" inches\n";
}
Distance operator+(Distance d1)
{
41
Distance temp;
temp.inches=inches+d1.inches;
temp.feet=feet+d1.feet;
if(temp.inches>=12)
{
temp.feet=temp.feet+1;
temp.inches=temp.inches-12;
}
return temp;
}
bool operator==(Distance d1)
{
float f1=feet+(inches/12);
float f2=d1.feet+(d1.inches/12);
if(f1==f2)
return true;
else
return false;
}
void operator+=(Distance d1)
{
inches=inches+d1.inches;
feet=feet+d1.feet;
if(inches>=12)
{
feet=feet+1;
inches=inches-12;
}
}
void operator()(float f,float i)
{
feet=f;
42
inches=i;
}
Distance operator,(Distance d1)
{
Distance temp;
temp.feet=d1.feet;
temp.inches=d1.inches;
return temp;
}
};
main()
{
float f,i;
cout<<"\nEnter first distance: ";
cin>>f>>i;
Distance d1(f,i);
cout<<"Enter second distance: ";
cin>>f>>i;
Distance d2(f,i);
Distance d3=d1+d2;
cout<<"First distance: ";
d1.display();
cout<<"\nSecond distance: ";
d2.display();
cout<<"\nd1+d2= ";
d3.display();
if(d1==d2)
cout<<"\nd1 is equal to d2";
else
cout<<"\nd1 is not equal to d2";
d1+=d2;
cout<<"\nd1+=d2 = ";
d1.display();
43
d1(10,20);
cout<<"\nd1(10,20)= ";
d1.display();
d3=(d1,d2);
cout<<endl<<"d3=(d1,d2) : ";
d3.display();
}
OUTPUT
44
PROGRAM NO: 13
DATE: 01/07/2014
INHERITANCE
Create a class counter with a count variable initialized to zero and a function to increment
the counter and another function to display it.create another class which inherits class counter and
it contains a function which decrements the count. When an employee enters into office, count is
incremented and when employee goes out, count is decremented. Write a program to implement
this functionality.
CLASS DIAGRAM
PROGRAM
#include<stdlib.h>
#include<iostream>
using namespace std;
class base
{
protected:
int count;
public:
base():count(0)
{}
void increment()
45
{
count++;
}
void display()
{
cout<<"\nValue of count : "<<count;
}
};
class derived:public base
{
public:
void dercement()
{
count--;
}
};
int main()
{
derived d1;
int ch=1,c;
do
{
cout<<"\nOptions\n1.Employee enters office\n2.Employee leaves
office\n3.Exit\nEnter your choice: ";
cin>>c;
switch(c)
{
case 1:
d1.increment();
d1.display();
break;
case 2:
d1.dercement();
46
d1.display();
break;
case 3:
exit(0);
}
cout<<"\nPress 1 to continue else press 0: ";
cin>>ch;
}
while(ch!=0);
return 0;
}
OUTPUT
47
PROGRAM NO: 14
DATE: 01/07/2014
VIRTUAL FUNCTIONS- SHAPE CLASS
Create a base class shape. Take two data members of double types to compute the area of
different shapes. Derive two classes triangle and rectangle from the base shape. Include
constructors in every class to initialize the objects. Include one pure virtual function
compute_area() to compute area. Using these classes, write a c++ program to compute the area of
triangle and rectangle. Use base class pointer to implement the virtual function.
CLASS DIAGRAM
PROGRAM
#include<iostream>
using namespace std;
class shape
{
protected:
double x,y;
public:
shape()
{
x=0;
48
y=0;
}
shape(double a,double b)
{
x=a;
y=b;
}
virtual double compute_area()=0;
};
class triangle:public shape
{
public:
triangle(double a,double b):shape(a,b){}
double compute_area()
{
return ((x*y)/2);
}
};
class rectangle:public shape
{
public:
rectangle(double a,double b):shape(a,b){}
double compute_area()
{
return x*y;
}
};
int main()
{
int op,ch=1;
double a,b;
shape *s;
cout<<"\nEnter base and height of a triangle: ";
49
cin>>a;
cin>>b;
triangle t(a,b);
s=&t;
cout<<"\nArea of triangle: "<<s->compute_area()<<"\n";
cout<<"\nEnter length and breadth of rectangle: ";
cin>>a;
cin>>b;
rectangle r(a,b);
s=&r;
cout<<"\nArea of rectangle: "<<s->compute_area()<<"\n";
return 0;
}
OUTPUT
50
PROGRAM NO: 15
DATE: 08/07/2014
TRY-CATCH
Write a program that will read the denominator and numerator and if denominator is zero
throw an exception with message denominator cannot be zero
CLASS DIAGRAM
PROGRAM
#include<iostream>
using namespace std;
class Exception
{
float a,b,c;
public:
void read()
{
cout<<"Enter two numbers: ";
cin>>a>>b;
}
void divide()
{
try
{
if(b==0)
throw(b);
else
{
51
c=a/b;
cout<<"Result: "<<c<<"\n";
}
}
catch(float)
{
cout<<"Denominator cannot be zero!!!\n";
}
}
};
int main()
{
Exception e;
e.read();
e.divide();
return 0;
}
OUTPUT
52
PROGRAM NO: 16
DATE: 08/07/2014
BUBBLE SORT USING FUNCTION TEMPLATE
Implement bubble sort using function template
CLASS DIAGRAM
PROGRAM
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
template <class t>
class bubble
{
t a[25];
public:
void get(int);
void sort(int);
void display(int);
};
template <class t>
void bubble <t>::get(int n)
{
int i;
cout<<"Enter the array elements:";
53
for(i=0; i<n;i++)
cin>>a[i];
}
template <class t>
void bubble <t>::display(int n)
{
int i;
cout<<"\nThe sorted array is\n";
for(i=0;i<n;i++)
cout<<a[i]<<"\t";
}
template <class t>
void bubble <t>::sort(int n)
{
int i,j;
t temp;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
}
int main()
{
int n,ch;
while(1)
54
{
cout<<"\nBubble sort\n";
cout<<"\nOptions\n1.Integer\n2.Floating Point\n3.Character\n4.Exit\nEnter your
choice: ";
cin>>ch;
switch(ch)
{
case 1:
{
cout<<"\nInteger Sort\n";
bubble<int> b1;
cout<<"Enter the size of array: ";
cin>>n;
b1.get(n);
b1.sort(n);
b1.display(n);
break;
};
case 2:
{
cout<<"\nFloating Point Sort\n";
bubble<float> b2;
cout<<"Enter the size of array: ";
cin>>n;
b2.get(n);
b2.sort(n);
b2.display(n);
break;
};
case 3:
{
cout<<"\nCharacter Sort\n";
bubble<char> b3;
55
56
OUTPUT
57
PROGRAM NO: 17
DATE: 14/07/2014
CLASS TEMPLATE
Write a class template to represent a generic array. Include member functions to perform
the following tasks:
1. To initialize the array
2. To modify the value at a given position in the array.
3. To multiply by an element in a given location with a scalar value
4. To display the elements in the array.
CLASS DIAGRAM
PROGRAM
#include<iostream>
#include<stdlib.h>
using namespace std;
template<class T>class myarray
{
T arr[20];
int n,pos;
public:
void read()
{
cout<<"\nEnter the size of array: ";
cin>>n;
cout<<"\nEnter the elements: ";
58
for(int i=0;i<n;i++)
cin>>arr[i];
}
void modify()
{
cout<<"\nEnter the position: ";
cin>>pos;
if(pos>n)
cout<<"\nNo such position\n";
else
{
T b;
cout<<"\nEnter the element: ";
cin>>b;
arr[pos-1]=b;
cout<<"\nModified Array";
}
}
void multiply()
{
cout<<"\nEnter the position: ";
cin>>pos;
if(pos>n)
cout<<"\nNo such position\n";
else
{
int b;
cout<<"\nEnter the element to be multiplied: ";
cin>>b;
arr[pos-1]=b*arr[pos-1];
cout<<"\nMultiplication done\n";
}
}
59
void display()
{
for(int i=0;i<n;i++)
cout<<arr[i]<<"\t";
}
};
int main()
{
int ch,c,a;
myarray<int>m1;
myarray<double>m2;
do
{
cout<<"\nOptions\n1.Integer\n2.Double\n3.Exit\nEnter your choice: ";
cin>>c;
switch(c)
{
case 1:
do
{
cout<<"\nInteger\n";
cout<<"\nOptions\n1.Initialize\n2.Modify\n3.Multiply with a
value\n4.Display\n5.Exit\nEnter your choice: ";
cin>>ch;
switch(ch)
{
case 1:m1.read();
break;
case 2:m1.modify();
break;
case 3:m1.multiply();
break;
case 4:m1.display();
60
break;
}
}
while(ch!=5);
break;
case 2:
cout<<"\nDouble\n";
do
{
cout<<"\nOptions\n1.Initialize\n2.Modify\n3.Multiply with a
value\n4.Display\n5.Exit\nEnter your choice: ";
cin>>ch;
switch(ch)
{
case 1:m2.read();
break;
case 2:m2.modify();
break;
case 3:m2.multiply();
break;
case 4:m2.display();
break;
}
}
while(ch!=5);
break;
case 3: exit(0);
}
cout<<"Press 1 to continue else press 0: ";
cin>>c;
}
while(c!=0);
}
61
OUTPUT
62
63
64
65
PROGRAM NO: 18
DATE: 14/07/2014
FILE PROGRAM
C++ Program to Count no. of alphabets , digits and spaces present in a file STORY.TXT
CLASS DIAGRAM
PROGRAM
#include<iostream>
#include<fstream>
using namespace std;
class count
{
int a,b,c;
public:
void find()
{
a=b=c=0;
char ch;
ifstream fp;
fp.open("story.txt",ios::app);
while(fp)
{
fp.get(ch);
if(isalpha(ch))
a++;
if(isdigit(ch))
b++;
66
if(ch==' ')
c++;
}
cout<<"\n Number of Alphabets: "<<a;
cout<<"\n Number of Digits: "<<b;
cout<<"\n Number of Spaces: "<<c;
fp.close();
}
};
int main()
{
count c1;
c1.find();
cout<<"\n";
}
OUTPUT
67
PROGRAM NO: 19
DATE: 15/07/2014
EMPLOYEE DB
Implement Employee db. The db should hold details of Emplyee(ID,name,address,phno).
1. Add a Employee
2. Update a employee records.
3. Search a employee.
4. Delete a employee.
CLASS DIAGRAM
PROGRAM
#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;
class employee
{
int id;
char phnno[20];
char name[20];
char addr[20];
public:
void add();
68
void display();
void update();
void del();
void search();
int menu();
};
main()
{
int n;
employee e;
n=e.menu();
switch(n)
{
case 1 : e.add(); break;
case 2 : e.del(); break;
case 3 : e.update(); break;
case 4 : e.display(); break;
default: cout<<"Thankyou\n";
}
}
int employee::menu()
{
int a;
cout<<"\nMain Menu\n";
cout<<"\n1.Add\n2.Delete\n3.Update\n4.Display\n5.EXIT\n";
cout<<"Enter your choice: ";
cin>>a;
return(a);
}
void employee::add()
{
ofstream f;
employee t;
69
int x=1;
f.open("empdb",ios::app|ios::binary);
while(x==1)
{
cout<<"Enter the id: ";
cin>>t.id;
cout<<"Enter the name: ";
cin>>t.name;
cout<<"Enter the phone number: ";
cin>>t.phnno;
cout<<"Enter the address: ";
cin>>t.addr;
f.write((char *)&t,sizeof(t));
cout<<"\nRecord Successfully Added !!";
f.close();
cout<<"\nPress 1 to add more record: ";
cin>>x;
}
main();
}
void employee::del()
{
int x=1,flag=0,eid;
employee t;
ofstream f1;
ifstream f2;
while(x==1)
{
flag=0;
cout<<"Enter the id to be deleted: ";
cin>>eid;
f1.open("temp",ios::app|ios::binary);
70
f2.open("empdb",ios::app|ios::binary);
while(f2.read((char *)&t,sizeof(t)))
{
if(eid!=t.id)
f1.write((char *)&t,sizeof(t));
else
flag=1;
}
f1.close();
f2.close();
remove("empdb");
rename("temp","empdb");
if(flag==1)
cout<<"Record is successfully deleted\n";
else
cout<<"Record not found\n";
cout<<"\nPress 1 to delete another record else Press 0: ";
cin>>x;
}
main();
}
void employee::update()
{
int x=1,eid;
int flag=0;
ofstream f1;
ifstream f2;
employee t;
while(x==1)
{
flag=0;
f1.open("temp",ios::app|ios::binary);
f2.open("empdb",ios::in|ios::binary);
71
72
ifstream f;
int flag=0,s;
employee t;
cout<<"\nEnter id : ";
cin>>s;
f.open("empdb",ios::in|ios::binary);
f.seekg(0);
while(f.read((char *)&t,sizeof(t)))
{
if(s==t.id)
{
flag=1;
t.display();
break;
}
}
if(flag==0)
cout<<"Entry Not Found !!!\n";
f.close();
}
void employee::display()
{
ifstream f;
int flag=0;
employee t;
cout<<"DETAILS ARE!!!\n";
f.open("empdb",ios::in|ios::binary);
f.seekg(0);
while(f.read((char *)&t,sizeof(t)))
{
flag=1;
cout<<"\n------------------------------\n";
cout<<"Id :"<<t.id;
73
cout<<"\nName :"<<t.name;
cout<<"\nPhone number :"<<t.phnno;
cout<<"\nAddress :"<<t.addr<<"\n";
73
}
if(flag==0)
cout<<"\n FILE IS EMPTY\n";
f.close();
main();
}
74
OUTPUT
75
76
PROGRAM NO: 20
DATE: 15/07/2014
PASSING FILE NAME AS ARGUMENTS
Passing file name as arguments, put even numbers in one file and odd numbers in another
file.
CLASS DIAGRAM
PROGRAM
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
class evenodd
{
public:
void find(char *fn1,char*fn2)
{
int i,n,a[20];
char ch;
cout<<"\nEnter the limit: ";
cin>>n;
cout<<"\nEnter the elements: ";
for(i=0;i<n;i++)
cin>>a[i];
fstream f1,f2;
f1.open(fn1,ios::out);
f2.open(fn2,ios::out);
77
for(i=0;i<n;i++)
{
if(a[i]%2==0)
f1<<a[i]<<" ";
else
f2<<a[i]<<" ";
}
f1.close();
f2.close();
f1.open(fn1,ios::in);
f2.open(fn2,ios::in);
f1.close();
f2.close();
}
};
int main(int argc,char *argv[])
{
evenodd ev;
ev.find(argv[1],argv[2]);
cout<<"\n";
return 0;
}
OUTPUT
78
DATABASE MANAGEMENT
SYSTEM
79
QUESTION 1
DATE: 13/05/2014
Create the following table in a database called sea, and answer the
following queries?
80
E-R DIAGRAM
CREATING DATABASE
database1=> create database sea;
CREATE DATABASE
database1=> \c sea
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
You are now connected to database "sea" as user "user1".
TABLE DESCRIPTION
Boat:
81
Sailors:
82
Reserves:
QUERIES
1. List sid, sname of all Sailors
sea=> select sid,sname from sailors;
83
84
85
QUESTION 2
DATE: 20/05/2014
A college admission database has the following tables:
Course(name, id, duration, no of seats , no of students, Fee/Sem, department)
Department(No, Name, no of course)
Student(id , name, course, Semester, Address)
Hostel(course, no of rooms, occupied, Fee/month)
FeeRemit(stud_id, course, semester, date)
E-R DIAGRAM
86
CREATING DATEBASE
database1=> create database college;
CREATE DATABASE
database1=> \c college
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
You are now connected to database "college" as user "user1".
TABLE DESCRIPTION
College:
87
Department:
Student:
88
Hostel:
FeeRemit:
89
QUERIES
1. Find the course with id 200.
college=> select name from course where id=200;
2. Display the courses with name, duration and Fee/Sem for the courses with semester fee
less than 50000.
college=> select name,duration,fee_sem from course where fee_sem<'50000';
3. Find out the students with course name and semester who had remitted the fee after
15-09-05
college=> select s.name,s.course,s.semester from student s,feeRemit f where
s.id=stud_id and f.date>'2005-09-15';
90
5. Write a function that accepts the course name and displays the no of seats available.
college=> create or replace function seat(CHARACTER) returns integer as'
college'> declare
college'> r int;
college'> begin
college'> select into r (no_of_seats-no_of_students) from course where
name=$1;return r;
college'> end
college'> 'language 'plpgsql'
college-> ;
CREATE FUNCTION
college=> select seat('MCA');
6. Find out the no of rooms available in the hostel for the students of the given course.
college=> create or replace function room(CHARACTER) returns integer as '
college'> declare
college'> r int;
college'> begin
college'> select into r(no_of_rooms) from hostel where course=$1;
college'> return r;
college'> end
college'> 'language 'plpgsql'
college-> ;
CREATE FUNCTION
college=> select room('MCA');
91
7. Create a trigger to restrict the entry to the hostel if rooms are all filled.
college=> create or replace function hostelentry() returns opaque as'
college'> declare
college'> c course.name%type;
college'> s int;
college'> begin
college'> c:=old.course;
college'> select into s (no_of_rooms-occupied) from hostel where course=c;
college'> if s<=0 then
college'> raise exception ''ROOM FULL'';
college'> end if;
college'> return new;
college'> end;
college'> 'language 'plpgsql';
CREATE FUNCTION
college=> create trigger trig_entry before update on hostel for each row execute
procedure hostelentry();
WARNING:
"trigger"
CREATE TRIGGER
college=> update hostel set occupied=25 where course='MBA';
ERROR: ROOM FULL
92
QUESTION 3
DATE: 03/02/2014
Movie ( mID, title, year, director ) - The movie with id mID has a title, a release year and
a director
Reviewer ( rID, name ) - The reviewer with id rID has a name
Rating ( rID, mID, stars, ratingDate ) - The reviewer rID gave the movie mID a number
of stars rating (1-5) on a certain ratingDate.
E-R DIAGRAM
CREATING DATABASE
database1=> create database movies;
CREATE DATABASE
database1=> \c movies
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
You are now connected to database "movies" as user "user1".
93
TABLE DESCRIPTION
Movies:
Reviewer:
94
Rating:
95
QUERIES
1. Display director name and the title of the movies directed by them.
movies=> select director,title from movie;
4. Write a query to display reviewer name, movie title, stars, and ratingDate. Also, sort the
results
movies=> select re.name as reviewer_name,title as movie_title,stars,rating_date
from movie m,rating ra,reviewer re where m.mid=ra.mid and re.rid order by
re.name;
96
5. Find the reviewer name, movie title, and number of stars for all movies
movies=> select name as reviewer_name,title as movie_title,stars as no_of_stars
from movie,rating,reviewer where movie.mid=rating.mid and rating.rid=reviewer.rid;
97
7. Write a trigger which will display error message when you are deleting a row from
movie table.
movies=> create or replace function deletetrigfun() returns opaque as '
movies'> begin
movies'> raise exception ' 'YOU ARE GOING TO DELETE ROW FROM
TABLE MOVIE!!!' ';
movies'> end;
movies'> 'language 'plpgsql';
CREATE FUNCTION
movies=> create trigger deletetrigger before delete on movie for each row
execute procedure deletetrigfun();
WARNING: changing return type of function deletetrigfun from "opaque" to
"trigger"
CREATE TRIGGER
movies=> delete from movie where mid=104;
ERROR: YOU ARE GOING TO DELETE ROW FROM TABLE MOVIE!!!
98
QUESTION 4
DATE: 10/06/2014
Suppliers(sid: integer, sname: string, address: string)
Parts(pid: integer, pname: string, color: string)
Catalog(sid: integer, pid: integer, cost: real)
E-R DIAGRAM
CREATING DATABASE
database1=> create database shop;
CREATE DATABASE
database1=> \c shop
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
You are now connected to database "shop" as user "user1".
99
TABLE DESCRIPTION
Suppliers:
Parts:
100
Catalog:
101
QUERIES
1. Find the names of suppliers who supply some red part.
shop=> select sname from suppilers,parts,catalog where catalog.sid=suppilers.sid and
parts.pid=catalog.pid and color='red';
2. Find the sids of suppliers who supply some red or green part.
shop=>
select
distinct
suppilers.sid
from
suppilers,parts,catalog
where
3. Find the sids of suppliers who supply some red part and some green part.
shop=>
select
distinct
suppilers.sid
from
suppilers,parts,catalog
where
select
distinct
parts.pid
from
parts,suppilers,catalog
where
102
5. Find the pids of parts supplied by every supplier at less than $200
shop=>
select
distinct
parts.pid
from
parts,catalog,suppilers
where
7. Create trigger which will display warning message whenever yo are inserting a part with color
red
shop=> create or replace function x() returns trigger as '
shop'> begin
shop'> if new.color="red" then
shop'> raise warning ''You are inserting a part having color red'';
shop'> end if;
shop'> return new;
103
shop'> end;
shop'> 'language 'plpgsql';
CREATE FUNCTION
shop=> create trigger trig before insert or update on parts for each row execute
procedure x();
CREATE TRIGGER
104
QUESTION 5
DATE: 17/06/2014
Flights(flno: integer, from: string, to: string, distance: integer, departs:
time, arrives: time)
Aircraft(aid: integer, aname: string, cruisingrange: integer)
Certified(eid: integer, aid: integer)
Employees(eid: integer, ename: string, salary: integer)
(The maximum distance from a base that the fuel capacity of a ship or aircraft
will allow it to travel and then return safely at cruising speed: a fuel capacity of 2200
gallons should give a cruising range of around 2000 miles)
E-R DIAGRAM
105
CREATING DATABASE
database1=> create database airport;
CREATE DATABASE
database1=> \c airport
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
You are now connected to database "airport" as user "user1".
TABLE DECRIPTION
Flights:
106
Aircrafts:
Employees:
107
Certified:
QUERIES:
1. Find the eids of pilots certified for some Boeing aircraft.
airport=>
select
employees.eid
from
employees,certified,aircraft
where
select
ename
from
employees,certified,aircraft
108
where
4. Identify the flights that can be piloted by every pilot whose salary is more than $100,000. (Hint:
The pilot must be certified for at least one plane with a sufficiently large cruising range.)
airport=> select distinct a.aname from certified c,aircraft a,employees e where
e.eid=c.eid and e.salary>100000 and a.aid=c.aid;
5. Create a function to Find the names of pilots who can operate some plane with a range greater
than 3,000 miles.
airport=> create type mtype as(n character(20));
CREATE TYPE
airport=> create or replace function func() returns setof mtype as'
airport'> declare mytype mtype;
airport'> begin
airport'> for mytype in select distinct e.ename from employees e,certified c,aircraft a
where e.eid=c.eid and c.aid in(select a.aid from certified c,aircraft a where a.aid=c.aid
and a.cruisingrange>3000) loop return next mytype;
airport'> end loop;
airport'> end;
airport'> 'language 'plpgsql';
CREATE FUNCTION
109
7. Create a trigger to display the warning message when you are deleting a raw in Certified table
airport=> create or replace function delcertified() returns opaque as'
airport'> begin
airport'> raise exception ''you are going to delete row from table certified!!!'';
airport'> end;
airport'> 'language 'plpgsql';
CREATE FUNCTION
airport=> create trigger deletetrigger before delete on certified for each row execute
procedure delcertified();
WARNING:
"trigger"
CREATE TRIGGER
airport=> delete from certified where eid=10;
ERROR: you are going to delete row from table certified!!!
110