list of practical cs with solution
TRANSCRIPT
-
8/3/2019 List of Practical Cs With Solution
1/57
LIST OF PRACTICALS
CLASS XII
SUBJECT : COMPUTER SCIENCE
Q1. Define a class PhoneBill in C++ with the following descriptions.
Private members:
CustomerName of type character array
PhoneNumber of type long
No_of_units of type intRent of type int
Amount of type float.
calculate( ) This member function should calculate the value of amount asRent+ cost for the units.
Where cost for the units can be calculated according to the following conditions.
No_of_units Cost
First 50 calls FreeNext 100 calls 0.80 @ unit
Next 200 calls 1.00 @ unit
Remaining calls 1.20 @ unit
Public members:* A constructor to assign initial values of CustomerName as Raju, PhoneNumber as
259461, No_of_units as 50, Rent as 100, Amount as 100.* A function accept( ) which allows user to enter CustomerName, PhoneNumber,
No_of_units and Rent and should call function calculate( ).
* A function Display( ) to display the values of all the data members on the screen.
Solution:
#include
#include
#include #include
class phonebill{private:
char CustomerName[20];
long PhoneNumber;
int No_of_units ;int Rent;
float Amount;
void calculate();public:
phonebill()
{ PhoneNumber=259461;No_of_units=50;
strcpy(CustomerName,"Raju");
Rent=100;Amount=100;
}
void accept();
void display();};
void phonebill:: calculate()
mailto:1.00@unitmailto:1.00@unit -
8/3/2019 List of Practical Cs With Solution
2/57
{
if(No_of_units=51 && No_of_units=151 && No_of_units
-
8/3/2019 List of Practical Cs With Solution
3/57
Q2. Define a class Tour in C++ with the description given below :
Private Members :
TCode of type string Noofadults of type integer
Noofkids of type integer
Kilometres of type integerTotalfare of type float
Public Members :
A constructor to assign initial values as follows :TCode with the word NULL
NoofAdults as 0
NoofKids as 0Kilometres as 0
TotalFare as 0
A function AssignFare ( ) which calculates and assigns the value of the data member TotalFare as follows :
Foreach Adult
Fare(Rs) For Kilometres
500 >=1000
300 =500
200
-
8/3/2019 List of Practical Cs With Solution
4/57
NoofKids=0;
Kilometres= 0;
TotalFare=0.0f;
}void Tour::EnterTour(void)
{
coutTCode;
coutNoofAdults;coutNoofKids;
coutKilometres;
AssignFare();
}
void Tour::AssignFare(void){
float fare=0.0f;
if(Kilometres>1000)
{fare = NoofAdults*500+NoofKids*250;
}else if(Kilometres>=500)
{
fare = NoofAdults*300+NoofKids*150;
}
else
fare = NoofAdults*200+NoofKids*100;Totalfare=fare;
}void Tour::ShowTour(void){
cout
-
8/3/2019 List of Practical Cs With Solution
5/57
Enter distance 850
Travel List is as followsTravel Code: 101
Number Of Adults: 2
Number of kids: 3Kilometres: 850
Total Fare:1050
Q3. Define a classELECTIONwith the following specifications :
Private members :
Data : candidate_name , party , vote_receivedPublic members :
Functions : INPUT( ) to input data
DISPLAY( ) to display the details of the winner
WINNER( ) To return the details of the winner through the objectafter comparing the votes received by three candidates .
Write a suitable main ( ) function to input data in 3 objects ofELECTIONtype and display the details of th
winning candidate.
Solution:#include
#include#include
class ELECTION
{
private:char cname[20];
char party[30];
long voterecevied;public:
void input(){cout
-
8/3/2019 List of Practical Cs With Solution
6/57
return(X);
}
else if ((Y.voterecevied>Z.voterecevied) && (Y.voterecevied>X.voterecevied))
{return(Y);
}
elsereturn(Z);
}
};void main()
{
ELECTION A,B,C,W;clrscr();
A.input();
B.input();
C.input();W=W.WINNER(A,B,C);
W.display();
getch();
}Output:
Enter candidates name AbhinavEnter party of the candidate name BJP
Enter the amount of vote recevied by the candidate45861
Enter candidates name Rahul
Enter party of the candidate name RJD
Enter the amount of vote recevied by the candidate56445
Enter candidates name RajeevEnter party of the candidate name CONGRESSEnter the amount of vote recevied by the candidate46466
Winning candidate
Candidate name RahulParty of the candidate RJD
The amount of vote recevied by the candidate56466
Q4. Suppose A,B,C are arrays of size m, n, m+n respectively. Array A is stored in ascending order an
array B is in descending order. Write a program using function to receive 3 arrays and their sizes to store th
elements of A and B into C in descending order.Solution:
//program to merge two arrays in a single array
//Array A is in Ascending Order & Array B is in Descending Order//Array C must be in Descending Order
#include
#include
void main(){
int m,n,k;
int a[50],b[50],c[100];
-
8/3/2019 List of Practical Cs With Solution
7/57
int i,j;
clrscr();
// entering size of array
coutm;
coutn;cout
-
8/3/2019 List of Practical Cs With Solution
8/57
Output:
Enter the size of 1st array A3
Enter the size of 2nd array B3
Enter values for Array A in Ascending Order
Enter value of 1 value of Array A 1
Enter value of 2 value of Array A 2Enter value of 3 value of Array A 3
Enter values for Array B in Descending OrderEnter value of 1 value of Array B 5
Enter value of 2 value of Array B 4
Enter value of 3 value of Array B 3
Merged arrays are as following....
5
43
3
2
1
Q5. Suppose A,B,C are arrays of size m, n, m+n respectively. Array A is stored in descending order an
array B is in ascending order. Write a program using function to receive 3 arrays and their sizes to store th
elements of A and B into C in descending order.
Solution:
//program to merge two arrays in a single array//Array A is in Ascending Order & Array B is in Descending Order
//Array C must be in Descending Order
#include#include
void main(){int m,n,k;
int a[50],b[50],c[100];
int i,j;
clrscr();// entering size of array
coutm;coutn;
cout
-
8/3/2019 List of Practical Cs With Solution
9/57
}
i=m-1;
j=0;
k=0;for(;i>=0 && j=b[j])
{c[k]=a[i];
i=i-1;
}else
{
c[k]=b[j];j=j+1;
}
k=k+1;
}if(i>=0)
{
while(i>=0)
c[k++]=a[i--];}
else{
while(j
-
8/3/2019 List of Practical Cs With Solution
10/57
12
11
10
Q6. Write program using a function SORTSCORE( ) in C++ to sort an array ofstructureExaminee in
descending order of Score using BUBBLE Sort.
Note : Assume the following definition of structure Examineestruct Examinee{
long RollNo;char Name[20];
float Score;
};Sample content of of the array (before sorting)
Roll NO. Name Score
1001 Ravyank Kapur 300
1005 Farida Khan 2891002 Anika Jain 345
1003 Gearge Peter 297
Sample content of of the array (after sorting)
Roll NO. Name Score1002 Anika Jain 345
1001 Ravyank Kapur 3001003 Gearge Peter 297
1005 Farida Khan 289
Solution:
//Bubble sorting of Structures#include
#include
#include#include
struct Examinee{long RollNo;
char Name[20];
float Score;
};void SORTSCORE(Examinee x[],int n)
{
int i,j;Examinee tmp;
for(i=0;i
-
8/3/2019 List of Practical Cs With Solution
11/57
cout
-
8/3/2019 List of Practical Cs With Solution
12/57
int empno;
char Ename[20];
float salary;
};
Solution:
//Program for sorting using selection sort
#include //inclusion of header file#include //inclusion of header file
#include //inclusion of header file
struct Employee{
int empno;
char Ename[20];float salary;
};
void sort(Employee x[],int n)
{int i,j,big,pos;
Employee tmp;
for(i=0;i
-
8/3/2019 List of Practical Cs With Solution
13/57
gets(x[i].Ename);
coutx[i].salary;
}sort(x,n);
getch();
}
Output:
Enter number of Employees 3
Enter values for employee 1
Enter Employee No. 1
Enter Employee Name AmarEnter Salary 2100
Enter values for employee 2
Enter Employee No. 2Enter Employee Name Dilip
Enter Salary 3200
Enter values for employee 3Enter Employee No. 3
Enter Employee Name SureshEnter Salary 1100
Records after sorting are
2 Dilip 32001 Amar 2100
3 Suresh 1100
Q7. Write a program to accept salaries of some employees in an array of size accepted from user and display
the salaries in ascending order. (Use insertion sort technique to sort the salaries)Solution:
//Arranging salaries stored in an array using Insertion sort
#include
#include
#includevoid main()
{
clrscr();int sal[100],i,j,tmp,n;
coutn;sal[0]=INT_MIN;
for(i=1;i
-
8/3/2019 List of Practical Cs With Solution
14/57
while(tmp
-
8/3/2019 List of Practical Cs With Solution
15/57
while(beg
-
8/3/2019 List of Practical Cs With Solution
16/57
{
cout
-
8/3/2019 List of Practical Cs With Solution
17/57
Enter values for array
Enter value of 1 row and 1 column 11
Enter value of 1 row and 2 column 12Enter value of 1 row and 3 column 13
Enter value of 2 row and 1 column 14
Enter value of 2 row and 2 column 15Enter value of 2 row and 3 column 16
Enter value of 3 row and 1 column 17
Enter value of 3 row and 2 column 18Enter value of 3 row and 3 column 19
Original array is11 12 13
14 15 16
17 18 19
Diagonal1 : 11 15 19
Diagonal Two : 13 15 17
Q10. Write a function in C++ which accepts a 2D array of integers and its size as
arguments and displays the elements of middle row and the elements of middle column.[Assuming the 2D Array to be a square matrix with odd dimension i.e. 33, 55, 77 etc...]
Example, if the array content is
3 5 4
7 6 92 1 8
Output through the function should be :
Middle Row : 7 6 9Middle Column : 5 6 1
Solution:#include //inclusion of header file#include //inclusion of header file
void show_mid(int a[100][100],int r,int c)
{
int i,k;k=r/2;
cout
-
8/3/2019 List of Practical Cs With Solution
18/57
coutr>>c;
cout
-
8/3/2019 List of Practical Cs With Solution
19/57
9 7 5 8
1 2 4 9
2 5 8 1
5 6 3 2
Solution:
#include //inclusion of header file
#include //inclusion of header filevoid swaparr(int a[100][100],int r,int c)
{int i,j,tmp;
for(j=0;j
-
8/3/2019 List of Practical Cs With Solution
20/57
getch();
}
Output:
Enter no. of rows and columns of array 3 3
Enter values for arrayenter value of 1 row and 1 column 1
enter value of 1 row and 2 column 2
enter value of 1 row and 3 column 3enter value of 2 row and 1 column 4
enter value of 2 row and 2 column 5
enter value of 2 row and 3 column 6enter value of 3 row and 1 column 7
enter value of 3 row and 2 column 8
enter value of 3 row and 3 column 9
Original array is
1 2 3
4 5 6
7 8 9
After swapping first and last rows array is7 8 9
4 5 6
1 2 3
Q12. Write a function in C++ which accepts an integer array and its size as arguments / parameters and
assign the elements into a two dimensional array of integers in the following format
(size must be odd)If the array is 1 2 3 4 5 If the array is 10 15 20
The output must be The output must be1 0 0 0 5 10 0 200 2 0 4 0 0 15 0
0 0 3 0 0 10 0 20
0 2 0 4 0
1 0 0 0 5
Solution:
#include
#includevoid perform(int a[100],int size)
{
int b[100][100],r,c,k=0;for(r=0;r
-
8/3/2019 List of Practical Cs With Solution
21/57
{
b[r][c]=0;
}
}}
k=size-1;
for(r=0;r
-
8/3/2019 List of Practical Cs With Solution
22/57
0 0 3 0 0
0 2 0 4 0
1 0 0 0 5
Q13. Write a function in C++ which accepts an integer array and its size as arguments and assign the
elements into a two dimensional array of integers in the following format:
If the array is 1,2,3,4,5,6 if the array is 1,2,3The resultant 2D array is The resultant 2D array is
1 0 0 0 0 0 1 0 0
1 2 0 0 0 0 1 2 01 2 3 0 0 0 1 2 3
1 2 3 4 0 0
1 2 3 4 5 01 2 3 4 5 6
Solution:
#include
#includevoid perform(int a[100],int size)
{
int b[100][100],r=0,k=0,i,c;
for(i=0;i
-
8/3/2019 List of Practical Cs With Solution
23/57
cin>>a[i];
}
perform(a,x);
getch();}
OUTPUT:
enter the size of the array3enter the value of 1number:1
enter the value of 2number:2
enter the value of 3number:3Contents of array B is
1 0 0
1 2 01 2 3
Q14 Write a function in C++ to print the count of the word is as an independent word
in at text file DIALOGUE.TXT.For example, if the content of the file DIALOGUE. TXT is
This is his book. Is this book good?
Then the output of the program should be 2.
Solution://Program to print total no. of "is"
#include#include
#include
void perform()
{ifstream A;
A.open("DIALOGUE.TXT",ios::in);
char s[15];int c=0;
while(!A.eof()){
A.getline(s,15,' ');
if((s[0]=='i' || s[0]=='I') && (s[1]=='S' || s[1]=='s'))
{
c++;}
}
cout
-
8/3/2019 List of Practical Cs With Solution
24/57
}
Output:
Enter the text for Data File
This is his book. is this book good?
Total No. of is=2
Q15 Given a binary file GAME.DAT, containing records of the following structure typestruct Game
{char GameName [20];
char Participant [30];
};
Write a function in C++ that would read contents from the file GAME.DAT and creates a file named
BASKET.DAT copying only those records from GAME.DAT where the game name is Basket Ball.
Solution:
#include
#include
#include
#includestruct Game
{
char GameName[20];char Participant[30];
};
void COPYGAME(){
Game y;
ifstream A;
A.open("GAME.DAT",ios::binary|ios::in);ofstream B;
B.open("BASKET.DAT",ios::binary|ios::out);
while(!A.eof()){
A.read((char*)&y,sizeof(Game));
if(strcmp(y.GameName,"Basket Ball")==0){
B.write((char*)&y,sizeof(Game));
}}
A.close();
B.close();
}
void main( ){
clrscr();Game x;
ofstream H;
int ch;H.open("GAME.DAT",ios::binary|ios::out);
do
{ cout
-
8/3/2019 List of Practical Cs With Solution
25/57
cout
-
8/3/2019 List of Practical Cs With Solution
26/57
contain only those words from the file FIRST.TXT which start with a lowercase vowel (i.e. with a, e, I
o, u).
For example if the file FIRST.TXT contains
Carry umbrella and overcoat when it rains
Then the file SECOND.TXT shall contain:
umbrella and overcoat it
Solution:
#include
#include
void vowelwords()
{
char s[20];
ifstream A;
A.open("FIRST.TXT",ios::in);
ofstream B;
B.open ("SECOND.TXT",ios::out);
while(!A.eof())
{
A.getline(s,20,' ');
if(s[0]=='a'||s[0]=='e'||s[0]=='i'||s[0]=='o'||s[0]=='u')
{
B
-
8/3/2019 List of Practical Cs With Solution
27/57
-
8/3/2019 List of Practical Cs With Solution
28/57
{
int rno;
float m1,m2,m3;
};
Write a program using function in C++ that would read contents from the file STUDENT.DAT and
modify the marks to 35 if anybodys any marks are less than 35.Solution:
#include#include
#include
struct Student{
int rno;
float m1,m2,m3;};
void perform()
{int c=0;
Student x;
ifstream A;
A.open("STUDENT.DAT",ios::in);ofstream B;
B.open("TEMP.DAT",ios::out);
while(!A.eof()){
A.read((char*)&x,sizeof(Student));
if(x.m1
-
8/3/2019 List of Practical Cs With Solution
29/57
}
void main()
{
clrscr();Student z;
int ch=1,v=0;
ofstream D;D.open("STUDENT.DAT",ios::out);
while(ch==1)
{coutz.rno;
coutz.m1>>z.m2>>z.m3;
D.write((char*)&z,sizeof(Student));
v=v+1;
coutch;
}
D.close();
ifstream E;E.open("STUDENT.DAT",ios::in);
cout
-
8/3/2019 List of Practical Cs With Solution
30/57
1 45 35 56
2 87 56 35
3 67 89 90
Q18 Given a binary file TELEPHON.DAT, containing records of the following class Directory :
class Directory
{ char Name[20] ;char Address[30] ;
char AreaCode[5] ;
char phone_No[15] ;public ;
void Register( ) ; // to accept values
void Show( ) ; // to display valuesint CheckCode(char AC[ ]);// to compare area code with accepted argument
} ;
Write a program to store object of above class in the data file at first and then using a function COPYABC( ) i
C++ copy all those records having AreaCode as 123 from TELEPHON.DAT to TELEBACK.DAT.
Solution:
#include
#include
#include#include
class Directory{
private:
char Name[20];
char Address[30];char AreaCode[5];
char phone_No[15];
public:void Register( )
{cout
-
8/3/2019 List of Practical Cs With Solution
31/57
void COPYABC()
{
Directory x;
ifstream A;A.open("TELEPHON.DAT",ios::binary|ios::in);
ofstream B;
B.open("TELEBACK.DAT",ios::binary|ios::out);while(!A.eof())
{
A.read((char*)&x,sizeof(x));if(x.checkcode("123")==0)
{
B.write((char*)&x,sizeof(x));}
}
A.close();
B.close();}
void main( )
{
clrscr();Directory x;
ofstream H;int ch;
H.open("TELEPHON.DAT",ios::binary|ios::out);
do
{x.Register();
H.write((char*)&x,sizeof(x));
coutch;
}while(ch==1);H.close();
COPYABC( );
cout
-
8/3/2019 List of Practical Cs With Solution
32/57
}
Output:
Enter Name of customerAmar
Enter Address of customer PatnaEnter Area code123
Enter Phone number123456
Press 1 to enter more records else to stop 1
Enter Name of customerSuresh
Enter Address of customer KhagaulEnter Area code254
Enter Phone number345212
Press 1 to enter more records else to stop 1
Enter Name of customerWilson
Enter Address of customer Danapur
Enter Area code123Enter Phone number789656
Press 1 to enter more records else to stop 2
Contents Of Teleback.dat is as follows:Name of customer Amar
Address of customer PatnaArea code 123
Phone number 123456
Name of customer WilsonAddress of customer Danapur
Area code 123
Phone number 789656
Q19. Write a program to store, delete and display dynamically allocated Queue containing nodes of thfollowing given structure:struct NODE
{
int Itemno;
char Itemname[20];NODE *Link;
};
The Program should contain the following functions:i) push( )- to insert new element in Queue ii) pop( ) to delete an element from the Queue
iii) display() to display the element of Queue.
Solution://QUEUE USING LINKED LIST
#include
#include#include
#include
#include
struct Node{
int Itemno;
char Itemname[20];
-
8/3/2019 List of Practical Cs With Solution
33/57
Node *Link;
}
*top, *newptr, *save, *ptr,*rear;
Node* Create_New_Node(int,char[]);void push_at_end(Node*);
void Display(Node*);
void pop();void main()
{
top=rear=NULL;int rno;
char ch='y',name[20];
clrscr();while(ch=='y' || ch=='Y')
{
cout
-
8/3/2019 List of Practical Cs With Solution
34/57
{
if(top==NULL)
{
top=np;rear=np;
}
else{
rear->Link=np;
rear=np;}
}
void Display(Node *np){
while(np!=NULL)
{
cout
-
8/3/2019 List of Practical Cs With Solution
35/57
The Queue now is :
1 Lux
2 Liril!!!
Want to pop an element? (Y/N)...y
The Queue now is :
2 Liril!!!
Want to pop an element? (Y/N)...n
Q20. Write a program to store, delete and display dynamically allocatedStackof Books implemented wit
the help of the following structure:struct Book
{
int BNo;
char BName[20];
Book *Next;
};
The Program should contain the following functions:
i) push( )- to insert new element in stack ii) pop( ) to delete an element from the stack
iii) display() to display the element of stack.
Solution:
//STACK USING LINKED LIST-Insertion in the beginning of Stack
#include
#include#include
#include
#include
struct Book{
int Bno;char Bname[20];
Book *Next;
}
*top, *newptr, *save, *ptr;Book* Create_New_Node(int n,char nm[]);
void push(Book*);
void Display(Book*);void pop();
void main(){top=NULL;
int n;
char ch='y',bn[20];clrscr();
while(ch=='y' || ch=='Y')
{
cout
-
8/3/2019 List of Practical Cs With Solution
36/57
cin>>n;
cout
-
8/3/2019 List of Practical Cs With Solution
37/57
void Display(Book *np)
{
while(np!=NULL)
{cout
-
8/3/2019 List of Practical Cs With Solution
38/57
1 Himmat
!!!
Want to pop an element? (Y/N)...n
Q21. Write a program using arrays to implement STACKas an array. The Program must be written using
classes and objects and it must contain the following functions:i) push( )- to insert new element in stack ii) pop( ) to delete an element from the stack
iii) display() to display the element of stack.
Solution://PROGRAM TO IMPLEMENT THE STACK//
#include //inputs the header files
#include #include
class stk //begin of class
{
public:int arr[100];
int r;
stk() //constructor
{r=-1;
}void push(int);
void pop();
void display();
}; //end of class
void stk::push(int n)
{if (r>98)
{cout
-
8/3/2019 List of Practical Cs With Solution
39/57
void stk::display()
{
if (r==-1){
cout
-
8/3/2019 List of Practical Cs With Solution
40/57
4.Exit
Enter Choice: 1
Enter No. to insert in Stack 11
1.Insert
2.Delete3.Display
4.Exit
Enter Choice: 1
Enter No. to insert in Stack 22
1.Insert
2.Delete
3.Display
4.ExitEnter Choice: 2
No. deleted is 22
1.Insert
2.Delete3.Display
4.Exit
Enter Choice: 3
11
1.Insert2.Delete
3.Display4.ExitEnter Choice: 4
Q22. Write a program using arrays to implement QUEUE as an array. The Program must be written using
classes and objects and it must contain the following functions:
i) push( )- to insert new element in queue ii) pop( ) to delete an element from the queueiii) display() to display the element of queue.
Solution:
//PROGRAM TO IMPLEMENT THE QUEUE//#include //inputs the header files
#include
#include class que //begin of class
{
public:
int arr[100];int r;
que() //constructor
{
-
8/3/2019 List of Practical Cs With Solution
41/57
r=-1;
}
void push(int);
void pop();void display();
}; //end of class
void que::push(int n)
{
if (r>98){
cout
-
8/3/2019 List of Practical Cs With Solution
42/57
void main() //begin of main function
{
int ch,n;
clrscr();que ob;
while(1)
{cout
-
8/3/2019 List of Practical Cs With Solution
43/57
4.Exit
Enter Choice: 2
No. deleted is 111.Insert
2.Delete
3.Display4.Exit
Enter Choice: 3
221.Insert
2.Delete
3.Display4.Exit
Enter Choice: 4
Q23. Write a program using arrays to implement CIRCULAR QUEUE as an array. The Program must bewritten using classes and objects and it must contain the following functions:
i) push( )- to insert new element in circular queue ii) pop( ) to delete an element from the queue iii)
display() to display the element of circular queue.
Solution://PROGRAM TO IMPLEMENT THE CIRCULAR QUEUE//
#include //inputs the header files#include
#include
class cirque //begin of class
{public:
int arr[100];
int front,rear,size;cirque(int s)
{front=-1;rear=-1;
size=s;
}
void insert (int);void del();
void display();
}; //end of class
void cirque::insert(int n)
{if ((front==0 && rear==size-1)||(front==rear+1))
{
cout
-
8/3/2019 List of Practical Cs With Solution
44/57
else
rear++;
arr[rear]=n;
}
void cirque::del()
{ int i;if (front==-1)
{
cout
-
8/3/2019 List of Practical Cs With Solution
45/57
}
void main() //begin of main function
{int ch,n;
clrscr();
cirque ob(5);while(1)
{
cout
-
8/3/2019 List of Practical Cs With Solution
46/57
2.Delete
3.Display
4.Exit
Enter Choice: 2
No. deleted is 11
1.Insert2.Delete
3.Display
4.ExitEnter Choice: 3
22
1.Insert2.Delete
3.Display
4.Exit
Enter Choice: 4
Q24. An array of structure stores details of 10 students (rno, name, marks in three subjects) Write a program
to create such an array and print out a list of students who have failed in more than one subject.(Max. Marks
=100, Passing Marks =33)Solution:
//Array of Structures#include
#include
#include
#includestruct Student
{
long RollNo;char Name[20];
int m1,m2,m3;};
void main()
{
clrscr();Student x[10];
int i,c;
for(i=0;i
-
8/3/2019 List of Practical Cs With Solution
47/57
if(x[i].m1
-
8/3/2019 List of Practical Cs With Solution
48/57
return(s);
}
void main()
{double X,ans;
int n;
clrscr();coutX>>n;
ans=SUMFUN(X,n);cout
-
8/3/2019 List of Practical Cs With Solution
49/57
SQL> insert into BOOKS values('L02','Science','Agarkar','DEF',90,15);
1 row created.
SQL>insert into BOOKS values('L03','Social','Suresh','XYZ',85,30);
1 row created.SQL> insert into BOOKS values('L04','Computer','Sumita','ABC',75,7);
1 row created.
SQL> insert into BOOKS values('L05','Telegu','Nannayya','DEF',60,25);1 row created.
SQL> insert into BOOKS values('L06','English','Wordworth','DEF',55,12);
1 row created.
SQL> create table ISSUES(Book_ID varchar2(3),Qty_Issued number(2));
Table created.
SQL> insert into ISSUES values('L02',13);
1 row created.
SQL> insert into ISSUES values('L04',5);1 row created.
SQL> insert into ISSUES values('L05',21);
1 row created.
(i) SQL>select BookName,AuthorName,Price from BOOKS where Publisher='ABC';
BOOKNAME AUTHORNAME PRICE--------------- -------------------- ----------
Maths Raman 70
Computer Sumita 75
(ii) SQL> select * from BOOKS order by price desc;
BOO BOOKNAME AUTHORNAME PUBLISHER PRICE QTY
--- --------------- -------------------- --------------- ---------- ----------L02 Science Agarkar DEF 90 15
L03 Social Suresh XYZ 85 30L04 Computer Sumita ABC 75 7L01 Maths Raman ABC 70 20
L05 Telegu Nannayya DEF 60 25
L06 English Wordworth DEF 55 12
6 rows selected.
(iii) SQL> update ISSUES set Qty_Issued=Qty_Issued-3;
3 rows updated.
(iv) SQL>select BOOKS.Book_Id,BookName,Publisher,Price,Qty,Qty_Issued from BOOKS,ISSUES
where BOOKS.Book_Id=ISSUES.Book_IDBOO BOOKNAME PUBLISHER PRICE QTY QTY_ISSUED
--- --------------- --------------- ---------- ---------- ----------
L02 Science DEF 90 15 10L04 Computer ABC 75 7 2
L05 Telegu DEF 60 25 18
(v) SQL> select sum(price) from Books where Publisher='DEF';SUM(PRICE)
----------
205
-
8/3/2019 List of Practical Cs With Solution
50/57
(vi) SQL> select Publisher,min(Price) from Books GROUP BY Publisher;
PUBLISHER MIN(PRICE)
--------------- ----------
ABC 70DEF 55
XYZ 85
(vii) SQL> select price from Books,Issues where Books.Book_ID=Issues.Book_ID AND Qty_Issued=5;
no rows selected
(viii) SQL> select count(Distinct Publisher) from Books;
COUNT(DISTINCTPUBLISHER)
------------------------3
Q2. Consider the following tables EMPLOYEES and EMPSALARY. Write SQL commands for the statement
(i) to (iv) and give outputs for SQL queries (v) to (viii).
EMPLOYEES
EMPID FIRSTNAME LASTNAME ADDRESS CITY
010 George Smith 83, First Street Howard
105 Mary Jones 842 Vine Ave Losantiville
152 Sam Tones 33 Elm St. Paris215 Sarah Ackerman 440 U.S. 110 Upton
244 Manila Sengupta 24 Friends Street New Delhi
300 Robert Samuel 9 Fifth Cross Washington
335 Henry Williams 12 Moore Street Boston
400 Rachel Lee 121 Harrison St. New York
441 Peter Thompson 11 Red Road Paris
EMPSALARY
EMPID SALARY BENEFIT DESIGNATION
010 75000 15000 Manager
105 65000 15000 Manager
152 80000 25000 Director
215 75000 12500 Manager
244 50000 12000 Clerk
300 45000 10000 Clerk
335 40000 10000 Clerk
400 32000 7500 Salesman
441 28000 7500 Salesman
(i) To display Firstname, Lastname, Address and City of all employees living in Paris from the table
EMPLOYEES.
(ii) To display the contents of EMPLOYEES table in descending Order of FIRSTNAME.(iii) To display the Firstname, Lastname and Toatal salary of all Managers from the tables EMPLOYEES an
EMPSALARY, where Total salary is calculated as Salary+Benefits.
(iv) To display the Minimum salary among Managers and Clerks from the table EMPSALARY.(v) SELECT FIRSTNAME,SALARY FROM EMPLOYEES, EMPSALARY wher
DESIGNATION=Salesman AND EMPLOYEES.EMPID=EMPSALARY.EMPID;
(vi) SELECT COUNT(DISTINCT DESIGNATION) FROM EMPSALARY;
(vii) SELECT DESIGNATION,SUM(SALARY) FROM EMPSALARY GROUP BY DESIGNATIONHAVING COUNT(*)>2;
(viii) SELECT SUM(BENEFIT) FROM EMPLOYEES WHERE DESIGNATION=Clerk;
-
8/3/2019 List of Practical Cs With Solution
51/57
Solution:SQL> create table EMPLOYEES(EMPID NUMBER(3),FIRSTNAME VARCHAR2(10),LASTNAMEVARCHAR2(10),ADDRESS VARCHAR2(25),CITY VARCHAR2(15));
Table created.
SQL> INSERT INTO EMPLOYEES VALUES(010,'George','Smith','83,First Street','Howard');
1 row created.
SQL> INSERT INTO EMPLOYEES VALUES(105,'Mary','Jones','842, Vine Ave','Losantiville');1 row created.SQL> INSERT INTO EMPLOYEES VALUES(152,'Sam','Tones','33elm St.','Paris');
1 row created.
SQL> INSERT INTO EMPLOYEES VALUES(215,'Sarah','Ackerman','440 U.S. 110','Upton');1 row created.
SQL> INSERT INTO EMPLOYEES VALUES(244,'Manila','Sengupta','24 Friends Street','New Delhi');
1 row created.SQL> INSERT INTO EMPLOYEES VALUES(300,'Robert','Samuel','9 Fifth Cross','Washington');
1 row created.
SQL> INSERT INTO EMPLOYEES VALUES(335,'Henry','Williams','12 Moore Street','Boston');
1 row created.SQL> INSERT INTO EMPLOYEES VALUES(400,'Rachel','Lee','121 Harrison St.','New York');
1 row created.
SQL> INSERT INTO EMPLOYEES VALUES(441,'Peter','thompson','11 Red Road','Paris');1 row created.
SQL> create table EMPSALARY(EMPID number(3),salary number(5),benefit number(5), designationvarchar2(10));
Table created.
SQL> insert into empsalary values(010,75000,15000,'Manager');
1 row created.SQL> insert into empsalary values(105,65000,15000,'Manager');
1 row created.SQL> insert into empsalary values(152,80000,25000,'Director');
1 row created.
SQL> insert into empsalary values(215,75000,12500,'Manager');1 row created.
SQL> insert into empsalary values(244,50000,12000,'Clerk');
1 row created.SQL> insert into empsalary values(300,45000,10000,'Clerk');
1 row created.
SQL> insert into empsalary values(335,40000,10000,'Clerk');1 row created.
SQL> insert into empsalary values(400,32000,7500,'Salesman');
1 row created.
SQL> insert into empsalary values(441,28000,7500,'Salesman');1 row created.
(i) SQL> select firstname,lastname,address,city from employees where city='Paris';FIRSTNAME LASTNAME ADDRESS CITY
---------- ---------- ------------------------- ---------------
Sam Tones 33elm St. Paris
-
8/3/2019 List of Practical Cs With Solution
52/57
Peter thompson 11 Red Road Paris
(ii) SQL> select * from employees order by firstname;EMPID FIRSTNAME LASTNAME ADDRESS CITY
---------- ---------- ---------- ------------------------- ---------------
10 George Smith 83,First Street Howard335 Henry Williams 12 Moore Street Boston
244 Manila Sengupta 24 Friends Street New Delhi
105 Mary Jones 842, Vine Ave Losantiville441 Peter thompson 11 Red Road Paris
400 Rachel Lee 121 Harrison St. New York
300 Robert Samuel 9 Fifth Cross Washington152 Sam Tones 33elm St. Paris
215 Sarah Ackerman 440 U.S. 110 Upton
9 rows selected.
(iii) SQL> select firstname,lastname, salary+benefit "Tot. sal" from employees E,empsalary S where
E.Empid=S.Empid AND designation ='Manager';
FIRSTNAME LASTNAME Tot. sal
---------- ---------- ----------George Smith 90000
Mary Jones 80000Sarah Ackerman 87500
(iv) SQL> select designation,min(salary) from empsalary group by designation having designation = 'Manager
or designation='Clerk';DESIGNATIO MIN(SALARY)
---------- -----------
Clerk 40000Manager 65000
(v) SQL>SELECT FIRSTNAME,SALARY FROM EMPLOYEES, EMPSALARY where DESIGNATION='Salesman' AND EMPLOYEES.EMPID=EMPSALARY.EMPID;
FIRSTNAME SALARY
---------- ----------
Rachel 32000Peter 28000
(vi) SQL> SELECT COUNT(DISTINCT DESIGNATION) FROM EMPSALARY;COUNT(DISTINCTDESIGNATION)
--------------------------
4
(vii) SQL> SELECT DESIGNATION,SUM(SALARY) FROM EMPSALARY GROUP BY DESIGNATION
HAVING COUNT(*)>2;DESIGNATIO SUM(SALARY)
---------- -----------
Clerk 135000
Manager 215000
(viii) SQL> SELECT SUM(BENEFIT) FROM EMPLOYEES WHERE DESIGNATION='Clerk';
SELECT SUM(BENEFIT) FROM EMPLOYEES WHERE DESIGNATION='Clerk'
-
8/3/2019 List of Practical Cs With Solution
53/57
*
ERROR at line 1:
ORA-00904: invalid column name
Q3. Study the following tables FLIGHTS and FARES and write SQL commands for the questions (i) to (iv)
and give outputs for SQL queries (v) to (vi).
TABLE : FLIGHTS
FL_NO STARTING ENDING NO_FLIGHTS NO STOPS
IC301 MUMBAI DELHI 8 0
IC799 BANGALORE DELHI 2 1
MC101 INDORE MUMBAI 3 0
IC302 DELHI MUMBAI 8 0
AM812 KANPUR BANGALORE 3 1IC899 MUMBAI KOCHI 1 4
AM501 DELHI TRIVANDRUM 1 5
MU499 MUMBAI MADRAS 3 3
IC701 DELHI AHMEDABAD 4 0
TABLE : FARES
FL_NO AIRLINES FARE TAX%
1C701 Indian Airlines 6500 10
MU499 Sahara 9400 5
AM501 Jet Airways 13450 8
IC899 Indian Airlines 8300 4
1C302 Indian Airlines 4300 10
1C799 Indian Airlines 10500 10
MC101 Deccan Airlines 3500 4
i. Display FL_NO and NO_FLIGHTS from KANPUR to BANGALORE from the table FLIGHTS.
ii. Arrange the contents of the table FLIGHTS in the ascending order of FL_NO.
iii. Display the FLNO and fare to be paid for the flights from DELHI to MUMBAI using the tablesFLIGHTS and FARES, where the fare to be paid = FARE +FARE*TAX%/100.
iv. Display the minimum fare Indian Airlines is offering from the table FARES.
v. SELECT FL_NO, NO_FLIGHTS, AIRLINES from FLIGHTS, FARES where STARTING=DELHI
and FLIGHTS.FL_NO=FARES.FL_NO.vi. SELECT count (distinct ENDING) from FLIGHTS.
-
8/3/2019 List of Practical Cs With Solution
54/57
Q4. Consider the following tables.
Write SQL commands for the statements (i) to (iv) and give outputs for SQL queries
(v) to (viii)
(i) To display the names of all Senders from Mumbai.
(ii) To display the RecID), SenderName, SenderAddress, RecName, RecAddress for every Recipient.
(iii) To display Recipient details in ascending order of RecName.(iv) To display number of Recipients from each city.
(v) SELECT DISTINCT SenderCity FROM Sender;
(vi) SELECT A. SenderName, B.RecName FROM Sender A, Recipient B WHERE A.SenderlD =
B.SenderlD AND B.RecCity = Mumbai;(vii) SELECT RecName, RecAddress FROM Recipient WHERE RecCity NOT IN (Mumbai, Kolkata);
(viii) SELECT RecID , RecName FROM Recipient WHERE SenderID = MU02' ORSenderID=ND50';
Q5. Consider the following tables Consignors and Consignee. Write SQL commands for
the statements (i) to (iv) and give outputs for SQL queries (v) to (viii).TABLE : CONSIGNORS
-
8/3/2019 List of Practical Cs With Solution
55/57
(i) To display the names of all Consignors from Mumbai.(ii) To display the CneelD, CnorName, CnorAddress, CneeName, CneeAddress for every Consignee.
(iii) To display consignee details in ascending order of CneeName.
(iv) To display number of consignors from each city,(v) SELECT DISTINCT City FROM CONSIGNEE;
(vi) SELECT A.CnorName, B.CneeName FROM Consignors A, Consignee B WHERE A.CnorID = B.CnorlD
AND B.CneeCity = Mumbai;
(vii) SELECT CneeName, CneeAddress FROM Consignee WHERE CneeCity NOT IN (Mumbai,Kolkata);
(viii) SELECT CNEEID,CNEENAME FROM CONSIGNEE WHERE CNORID='MU15' OR
CNORID='ND01';
Solution:SQL> CREATE TABLE CONSIGNORS(CnorID char(4),CnorName varchar2(15),CnorAddress
varchar2(20),City varchar2(15));Table created.
SQL> insert into consignors values('ND01','R Singhal','24, ABC Enclave','New Delhi');
1 row created.
SQL>insert into consignors values('ND02','Amit Kumar','123,PalmAvenue','New Delhi');
1 row created.SQL> insert into consignors values('MU15','R Kohli','5/A,South Street','Mumbai');
1 row created.
SQL>insert into consignors values('MU50','S Kaur','27-K,Westend','Mumbai');1 row created.
SQL> create table consignee(CneeID char(4),CnorID char(4),CneeName varchar2(15),CneeAddressvarchar2(20),CneeCity varchar2(15));
Table created.
SQL> insert into consignee values('MU05','ND01','Rahul Kishore','5,ParkAvenue','Mumbai');1 row created.
SQL> insert into consignee values('ND08','ND02','P Dhingra','16/J, Moore Enclave','New Delhi');
1 row created.SQL> insert into consignee values('KO19','MU15','A P Roy','2A, Central Avenue','Kolkata');
-
8/3/2019 List of Practical Cs With Solution
56/57
1 row created.
SQL> insert into consignee values('MU32','ND02','S Mittal','P245,AB Colony','Mumbai');
1 row created.
SQL> insert into consignee values('ND48','MU50','B P Jain','13, Block D,A Vihar','New Delhi');1 row created.
(i) SQL> select CnorName from Consignors where city='Mumbai';CNORNAME
---------------
R KohliS Kaur
(ii) SQL> select CneeID,CnorName,CnorAddress,CneeName,CneeAddress from Consignors C, Consignee Ewhere C.CnorID=E.CnorID;
CNEE CNORNAME CNORADDRESS CNEENAME CNEEADDRESS
---- --------------- -------------------- --------------- --------------------
KO19 R Kohli 5/A,South Street A P Roy 2A, Central Avenue ND48 S Kaur 27-K,Westend B P Jain 13, Block D,A Vihar
MU05 R Singhal 24, ABC Enclave Rahul Kishore 5,ParkAvenue
ND08 Amit Kumar 123,PalmAvenue P Dhingra 16/J, Moore Enclave
MU32 Amit Kumar 123,PalmAvenue S Mittal P245,AB Colony
(iii) SQL> select * from consignee order by CneeName;CNEE CNOR CNEENAME CNEEADDRESS CNEECITY
---- ---- --------------- -------------------- ---------------
KO19 MU15 A P Roy 2A, Central Avenue Kolkata
ND48 MU50 B P Jain 13, Block D,A Vihar New Delhi ND08 ND02 P Dhingra 16/J, Moore Enclave New Delhi
MU05 ND01 Rahul Kishore 5,ParkAvenue Mumbai
MU32 ND02 S Mittal P245,AB Colony Mumbai
(iv) SQL>select city, count(*) from consignors group by city;CITY COUNT(*)--------------- ----------
Mumbai 2
New Delhi 2
(v) SQL> SELECT DISTINCT City FROM CONSIGNEE;
SELECT DISTINCT City FROM CONSIGNEE
*ERROR at line 1:
ORA-00904: invalid column name
SQL> SELECT DISTINCT CNEECITY FROM CONSIGNEE;
CNEECITY
---------------Kolkata
Mumbai
New Delhi
(vi) SQL>SELECT A.CNORNAME, B.CNEENAME FROM Consignors A, Consignee B WHERE
A.CNORID= B.CNORID AND B.CNEECITY = 'Mumbai';
CNORNAME CNEENAME
-
8/3/2019 List of Practical Cs With Solution
57/57
--------------- ---------------
R Singhal Rahul Kishore
Amit Kumar S Mittal
SQL> SELECT A.CnorName, B.CneeName FROM Consignors A, Consignee B WHERE A.CnorID =
B.CnorlD AND B.CneeCity = 'Mumbai';
SELECT A.CnorName, B.CneeName FROM Consignors A, Consignee B WHERE A.CnorID = B.CnorlDAND B.CneeCity = 'Mumbai'
*
ERROR at line 1:ORA-00904: invalid column name
(vii) SQL> SELECT CneeName, CneeAddress FROM Consignee WHERE CneeCity NOT IN ('Mumbai','Kolkata');
CNEENAME CNEEADDRESS
--------------- --------------------
P Dhingra 16/J, Moore EnclaveB P Jain 13, Block D,A Vihar
(viii) SQL> SELECT CNEEID,CNEENAME FROM CONSIGNEE WHERE CNORID='MU15' OR
CNORID='ND01';CNEE CNEENAME
---- ---------------MU05 Rahul Kishore
KO19 A P Roy