Computer Science

Total Page:16

File Type:pdf, Size:1020Kb

Computer Science

Computer Science Practical Work (SESSION 2011-2012)

SUBITTED TO: SUBMITTED BY: MR. M L MEENA DHEERAJ KAUSHIK (P.G.T. COMP. SC.) XII-B (I-SHIFT)

ROLL NO. : 9151080 Basic concept of OOP’S

 Data Abstraction

 Data Encapsulation

 Inheritance

 Modularity

 Polymorphism DATA ABSTRACTION: Abstraction refers to the act of representing essential features without including the background details or explanation.

Example: You are driving a car. You only know the essential features to drive a car e.g., gear handling, steering handling, use of clutch, accelerator, brakes etc. But while you are driving do you get into internal details of the car like wiring, motor working etc.? You just change the gears of apply the brakes etc. What is happening is hidden from you. This is abstraction where you only know the essential things to drive a car without including the background details or explanation. Another example is of ‘switch board’. You only press certain switches according to your requirement. What is happening inside, how it is happening inside, how it is happening etc. you needn’t know. Again, in this abstraction, you only know the essential things to operate on the switch board without the knowledge the background details of the switchboard. DATA ENCAPSULAION: The wrapping up of data and operation/function (that operate on the data) into a single entity (called class) is known as encapsulation.

Example: In a big company, there are so many departments, sales, account, payroll, purchase, production etc. each department has its own personnel that maintain its data. Suppose an employee in the production dept. wants to know how much raw material has been purchased for the next month. The production dept. employee would not be allowed to himself go throughthe purchase dept. files. Rather, he`ll issue a memo to the purchase dept. requesting the desired information. Then some employee of the purchase dept. will go through the data files for him and pertain to his requests. This practice ensures that the data is accessed accurately and that it is not corrupted by inept outsiders. Therefore, ‘Department data and department employees are encapsulated into a single entity, the department.’ INHERITANCE: Inheritance is the capability of one class of things to inherit capabilities of properties from another class.

Example: ‘ Humans’ certain properties, such as the ability to speak, breath, eat, drink, etc. etc. But these properties are not unique to humans. The class ‘Human’ inherits these properties from the class ‘Mammal’ which again inherits some of its properties from another “Animal’. The class “car” inherits some of its properties from the class ‘Automobiles” which inherits some of its properties from another class ‘Vehicles”. The capability to pass down properties is a powerful one. It allows us to describe things in an economical way. ‘Automobiles and ‘Pulled Vehicles’ are subclasses of ‘Vehicles’. ‘Vehicles are base class of ‘Automobiles’ and ‘Pulled Vehicles’. MODULARITY: Modularity is the property of a system that has been decomposed into a set of cohesive and loosely coupled modules.

Example: You must have seen a complete music system. Let us assume that our program represents the music system. The music system comprises of speakers, cassette-player, record-player, cd-player, tuner etc. Now, these parts are complete units in themselves, yet they are themselves, yet they are a subpart of the music system. This is modularity. Similarly, we can achieve modularity in programs also. A program can be divided into various modules each representing speakers, cassette-player… etc. See each module is a complete unit itself yet it works in accordance with other modules in order to achieve one single goal i.e. music. POLYMORPHISM: Polymorphism is the ability for a message or data to be processed in more than one form.

Example: ‘Human’ is a subclass of ‘Mammal’. Similarly ‘Dog’, ‘Cat’, are also subclasses of ‘Mammals’. Mammals can see through day-light. So if a message ‘see through day light’ is passed to all mammals, they will behave alike. Now if a message ‘see through day light’is passes to all mammals, then humans and dogs will not be able to see at night whereas cat will be able to see at night also. Here cats behave differently than other mammals in response to a message or action. INDEX S.No PROGRAMES DATE SIGN. . 1. WAP USING CLASSES AND OBJECTS TO CREATE CLASS BOOK. 2. WRITE A MENU DRIVEN PROGRAM TO CREATE CLASS BANK TO INITIALISE DEPOSIT, WITHDRAW & DISPLAY DEETAILS OF THREE CUSTOMERS. 3. WAP YO CREATE CLASS ADMISSION THAT GENERATE TWO RANDOM ADMISSION NUMBER FROM THE LIST OF GIVEN ADMISSION NUMBERS. 4. WAP TO SHOW WORKING OF CONSTRUCTOR AND DESTRUCTOR. 5. WAP TO MAINTAIN DETAILS OF COLLEGE STUDE3NTS AND PRINT THEM (INHERITANCE). 6. WAP TO SHOW CONSTRUCTOR OVERLOADING. 7. WAP TO CREATE TEXT FILE WHICH PERFORM THE FOLLOWING ACTIONS i. COUNT NO. OF WORDS ii. COUNT NO. OF LINES iii. COUNT AND DISPLAY WORDS STARTING WITH VOWELS AND STORE THEM IN A FILE iv. COUNT AND DISPLAY WORDS STARTING WITH UPPERCASE ALPHABETS v. COUNT NO. OF BLANK SPACES 8. WAP TO CREATE BINARY FILES WITH FIVE RECORDS AND DISPLAY. 9. WAP TO SEARCH RECORD IN A BINARY FILE. 10. WAP TO APPEND A RECORD IN A BINARY FILE. 11. WAP TO INSERT DATA IN A BINARY FILE. 12. WAP TO DELETE A RECORD IN A BINARY FILE. 13. WAP TO MODIFY A RECORD IN A BINARY FILE. 14. WRITE A MENU DRIVEN PROGRAM FOR BINARY AND LINEAR SEARCH IN A ARRAY. 15. CREATE A MENU DRIVEN INSERT & DELETE AN ELEMENT IN A SORTED FILE. 16. WAP TO MERGE TWO ARRAYS A IN SACENDING ORDER, B IN DESCENDING ORDER INTO THIRD ARRAY C INASCENDING ORDER. 17. CREATE MENU DRIVEN PROGRAM TO CHOOSE SORTING TECHNIQUES SELECTION, BUBBLE. 18. WAP TO CONVERT I-D ARRAY TO 2-D ARRAY. 19. CREATE MENU DRIVEN PROGRAM FOR PUSH & POP IN STACK AS LINKED LIST. 20. WAP TO SHOW INSERTION AND DELETION IN QUEUES. 21. QURIES OF SQL TABLE 1 STUDENT 22. QURIES OF SQL TABLE 2 HOSPITAL 23. QURIES OF SQL TABLE 3 TEACHER 24. QURIES OF SQL TABLE 4 FURNITURE AND ARRIVALS 25. QURIES OF SQL TABLE 5 INTERIORS AND NEWONES Q.1) W.A.P. using classes and objects to create the class book.

#include

#include

#include class BOOK {int book_no;

char book_title[20];

float price;

float total_cost(int n)

{float total;

total=n*price;

return total;

} public:

void INPUT()

{cout<<"\n Enter Book No.: ";

cin>>book_no;

cout<<"\n Enter Book Title: ";

gets(book_title);

cout<<"\n Enter Price: ";

cin>>price;

}

void PURCHASE()

{int n;

float TOT;

cout<<"\n Enter no of copies to be purchase: ";

cin>>n;

TOT=total_cost(n);

cout<<"\n Your total cost is: "<

}

}; void main()

{ clrscr();

BOOK buy;

buy.INPUT();

buy.PURCHASE();

getch();

} Output Q.2) Write menu driven program to create class to initialize, deposit, withdraw and display the details.

#include

#include

#include class Account{ char name[31];

int acc_no;

char act;

float balance;

public:

void initial()

{ cout<<"\n Name: ";

cin>>name;

cout<<"\n Accoutn No.: ";

cin>>acc_no;

cout<<"\n Enter Amount: ";

cin>>balance; cout<

}

void deposit(float amt)

{balance+=amt;

cout<<" Amount Deposited";

}

void withdraw(float amt)

{if((amt-balance>=1000))

{ balance=amt-balance;

cout<<"\n Amount Withdrawn";

}

else

{cout<<"\n Min Bal should be 1000";

cout<<" You can withdraw only: "<

}

}

void display()

{cout<<"\n\n\t\t\t !!Your Account Details!!";

cout<<"\n\n Account no.:"<

cout<<"\n Accoutn Holder: ";

cout<

cout<<"\n Balance: "<

}

int getacno()

{ return acc_no;}

}; void main() { clrscr();

Account bank;

int choice;

cout<<"\n Menu";

cout<<"\n 1.For Deposit";

cout<<"\n 2.For WithDraw";

cout<<"\n Enter Choice(1/2): ";

cin>>choice;

switch(choice)

{ case 1:bank.initial();

bank.deposit(100000);

break;

case 2:bank.initial();

bank.withdraw(100000);

break;

default:cout<<"\n !!Wrong Choice!!";

}

bank.display(); getch();

} Output

Q.3) WAP to create the class ADMISSION that generates two random admission nos. from the list of given admission nos.

#include

#include

#include

#include int i; class ad{ int adno;

char name[10];

float fees;

int clas;

public:

void readdata(); void draw_nos();

int getadno()

{ return adno; } }; ad A1[5];

void ad::draw_nos()

{ int n1=0,n2=0;

randomize();

n1=random(4);

n2=random(4);

for(i=0;i<3;i++)

if((A1[i].getadno()==n1)||(A1[i].getadno()==n2));

cout<<"\nRandomly generated admission nos are:"<

void ad::readdata()

{ cout<<"\nEnter admission no:"; cin>>adno;

cout<<"Name:"; cin>>name;

cout<<"Class:"; cin>>clas;

cout<<"Fees:"; cin>>fees; } void main()

{clrscr();

for(i=0;i<3;i++)

{ A1[i].readdata(); }

A1[i-1].draw_nos();

getch();

} OUTPUT Q.4)WAP to show working of constructor and destructor in a class.

#include

#include class A{ public:

A()

{cout<<"\n Constructor A";}

~A()

{cout<<"\n Destructor A";}

}; class B{ public:

B()

{cout<<"\n Constructor B";}

~B()

{cout<<"\n Destructor B";}

}; class C{ public:

A ob1,ob2;

B ob3; C()

{cout<<"\n Constructor C";}

~C()

{cout<<"\n Destructor C";}

}; void main()

{clrscr();

C oc;

B ob;

A oa; getch();

} Output

Q.5)Write a program to maintain the details of college students and print them using inheritance.

#include

#include

#include const int len = 25 ; class person

{ char name[len];

int age;

public:

void readperson(void) ;

void displayperson(void)

{ cout<<"Name : ";

cout.write(name,len);

cout<<"\t Age : " <

}

}; void person::readperson(void)

{ for(int i=0;i

name[i]=' ';

cout<<"Enter name of the person :";

gets(name);

cout<<"Enter age :"; cin>>age;

} class student: public person

{ int rollno;

float average ;

public:

void readstudent(void)

{ readperson();

cout<<"Enter roll no. : ";

cin>>rollno;

cout<<"Enter average marks : ";

cin>>average;

}

void disp_rollno(void)

{ cout<<"Roll no : "<

}

float getaverage(void)

{ return average ;

}

}; class gradstudent :public student

{ char subject[len];

char working;

public :

void readit(void);

void displaysubject(void)

{ cout<<"Subject : " ; cout.write(subject,len);

}

char workstatus(void)

{ return working;

}

}; void gradstudent::readit(void)

{ readstudent();

for(int i=0 ;i

subject[i]=' ';

cout<<"Enter main subject : ";

gets(subject);

cout<<"Working?(y/n) : ";

cin>>working;

} void main()

{ clrscr();

const int size = 5 ;

gradstudent grad[size];

int year,num_working=0,non_working=0,div1=0,total=0;

float topscore = 0,score, number,wperc,nwperc;

cout<<"Enter year :";

cin>>year;

char ch=' ';

int i;

for(i=0;i<10;i++)

{ cout<<"Enter details for graduate "<<(i+1)<<" (maximum 10)\n"; grad[i].readit();

total++;

if(grad[i].workstatus() =='y'||(grad[i].workstatus() == 'Y'))

num_working++;

else

non_working++;

score=grad[i].getaverage() ;

if(score>topscore)

{ topscore=score;

number=i;

}

if(score>=60.0)

div1++;

cout<<"Press y to see report and n to continue";

cin>>ch;

if(ch=='y'||ch=='Y')

break;

} i=number; cout<<"\n"<<"\t\t\t\tReport of the year " <

cout<<"Average marks : "<

cout<

getch();

}

OUTPUT Q.6) WAP to show constructor overloading.

#include

#include class Deposit{ long int principal;

int time;

float rate; float total_amt;

public:

Deposit();

Deposit(long p,int t,float r);

Deposit(long p,int t);

Deposit(long p,float r);

void calc_amt(void);

void display(void); };

Deposit::Deposit()

{principal=time=rate=0.0;}

Deposit::Deposit(long p,int t,float r)

{principal=p;time=t;rate=r;}

Deposit::Deposit(long p,int t)

{principal=p;time=t;rate=0.08;}

Deposit::Deposit(long p,float r)

{principal=p;time=2;rate=r;} void Deposit::calc_amt(void)

{ total_amt=principal+(principal*time*rate)/100;

} void Deposit::display(void)

{ cout<<" Principal Amount: "<

cout<<"\n Time Period: "<

cout<<"\n Rate of interest: "<

cout<<"\n Total Amount: "<

} void main()

{ clrscr(); Deposit D1,D2(2000,2,0.07f),D3(4000,1),D4(3000,0.12f);

D1.calc_amt(); D2.calc_amt();

D3.calc_amt(); D4.calc_amt();

cout<<"\n Object1:\n"; D1.display();

cout<<"\n Object2:\n"; D2.display();

cout<<"\n Object3:\n"; D3.display();

cout<<"\n Object4:\n"; D4.display(); getch();

}

Output Q.7) Write a menu driven program to create the text file that

i. Count the no of words in a file. ii. Count the no of lines a file. iii. Count and display the words starting with the vowels. iv. Count the words starting with uppercase alphabets. v. Count the no of spaces.

#include #include

#include

#include void file_content()

{ ofstream fout("xyz.txt");

char ch[200];

cout<<"\nEnter the content of the file: ";

cin.getline(ch,200);

fout<

fout.close();

} void vowel()

{ ifstream fin("xyz.txt");

char ch[20];

while(!fin.eof())

{ fin>>ch;

switch(ch[0])

{ case 'a':

case 'A':

case 'e':

case 'E':

case 'i':

case 'I':

case 'o':

case 'O':

case 'u':

case 'U': cout<<"\nWords starting from vowels is: "<

}

}

} void word_count()

{ ifstream fin ("xyz.txt");

char ch;

int count=0;

while (!fin.eof())

{ fin.get(ch);

if(ch==' ')

++count;

}

cout<<"\nNo. of words are: "<<++count<<"\n";

fin.close();

} void count_spaces()

{ ifstream fin ("xyz.txt");

char ch;

int count=0;

while (!fin.eof())

{ fin.get(ch);

if(ch==' ')

++count;

}

cout<<"\nNo. of spaces are: "<

fin.close(); } void count_lines()

{ char str[100];

int count=0;

ifstream fin("xyz.txt");

while(!fin.eof())

{ fin.getline(str,100);

++count;

}

cout<<"\nNo. of lines are: "<

} void count_uppercase()

{ ifstream fin("xyz.txt");

int count=0;

char ch;

while(!fin.eof())

{ fin>>ch;

if(isupper(ch))

++count;

}

fin.close();

cout<<"\nNo. of upper case alpahabets are: "<

} void main()

{ clrscr();

file_content();

word_count(); count_lines();

vowel();

count_uppercase();

count_spaces();

getch();

}

OUTPUT Q.8) Write a program to create the binary file and display them.

#include

#include

#include class student

{ char name[50];

char grade;

float marks;

public: void getdata(void);

void display(void); };

void student::getdata(void)

{ char ch;

cin.get(ch);

cout<<"\n"<<"ENTER NAME : - ";

cin>>name;

cout<<"\n"<<"ENTER GRADE : - "; cin>>grade;

cout<<"\n"<<"ENTER MARKS : - ";

cin>>marks;

cout<<"\n"; } void student::display(void)

{cout<<"NAME : - "<

{ clrscr();

student arts[5];

fstream filin ;

filin.open("stu.dat",ios::in|ios::out);

if(!filin)

{ cout<<"SORRY CAN NOT OPEN THE FILE"<<"\n";

return 1; }

cout<<"ENTER DETAILS OF THE 2 STUDENTS : - "<<"\n";

for(int i=0;i<2;i++)

{ arts[i].getdata();

filin.write((char*)&arts[i],sizeof(arts[i])); }

filin.seekg(0);

cout<<"\n";

cout<<"THE CONTENTS OF THE STU.DAT IS AS SHOWN BELOW : - "<<"\n";

for(i=0;i<2;i++)

{ filin.read((char*)&arts[i],sizeof(arts[i]));arts[i].display();} filin.close(); getch(); } Output Q.9) Write a program to search a record in a file.

#include

#include

#include class stu

{ int rollno;

char name[25];

char Class[4];

float marks;

char grade; public:

void getdata()

{ cout<<"ROLL NUMBER";

cin>>rollno;

cout<<"NAME";

cin>>name;

cout<<"CLASS";

cin>>Class;

cout<<"MARKS";

cin>>marks;

} void putdata()

{ cout<<”Name-“<

}

int getrno()

{ return rollno;

}

} s1; void main()

{ clrscr();

int rn; char found='n';

ifstream fi("stu.dat",ios::in);

cout<<"ENTER ROLL NUMBER TO BE SEARCHED : - ";

cin>>rn;

while (!fi.eof())

{ fi.read((char*)&s1,sizeof(s1));

if(s1.getrno()==rn)

{ s1.putdata();

found='y';

break; }

} if(found=='n')

cout<<"ROLL NUMBER NOT FOUND IN THE FILE"<

#include

#include

#include

#include class stu

{ clrscr();

int rollno;

char name[25];

char Class[4];

float marks;

char grade;

public:

void getdata()

{ cout<<"\n Rollno: "; cin>>rollno;

cout<<"\n Name: "; cin>>name;

cout<<"\n Class: "; cin>>Class;

cout<<"\n Marks: "; cin>>marks;

if(grade>=75) grade='A';

else if(grade>=60) grade='B';

else if(grade>=50) grade='C';

else if(grade>=40) grade='D';

else grade='F';

}

void putdata()

{ cout<

}

int getrno()

{ return rollno;

}

} s1; void main()

{ ofstream fo("\n stu.dat",ios::app);

char ans='y';

while(ans=='y')

{ s1.getdata();

fo.write((char*)&s1,sizeof(s1));

cout<<"\n Record added to file.\n";

cout<<"\n Want to enter more records?(y/n)?: ";

cin>>ans;

} fo.close();}

Output Q.11) Write a program to insert data in a file.

#include

#include

#include

#include class stu

{ int rollno;

char name[25];

float marks;

public:

void getdata()

{ cout<<"ROLL NUMBER : - ";

cin>>rollno;

cout<<"NAME : - ";

gets(name);

cout<<"MARKS : - ";

cin>>marks;

}

void putdata()

{ cout<<"\nName-"<

cout<<"Roll No- "<

cout<<"Marks= "<

} int getrno()

{return rollno;

}

}; stu s1,stud; void main()

{ clrscr();

ofstream f("stu.dat",ios::out|ios::app);

ifstream fi("stu.dat",ios::in|ios::app); ofstream fo("temp.dat",ios::out|ios::app); char last='y'; cout<<"enter the details of students whose record is to be inserted\n"; s1.getdata(); while(!fi.eof())

{ fi.read((char*)&stud,sizeof(stud));

if(s1.getrno()<=stud.getrno())

{ fo.write((char*)&s1,sizeof(s1));

last='n';

break; }

else

fo.write((char*)&stud,sizeof(stud));

} if(last=='y') fo.write((char*)&s1,sizeof(s1)); else if(!fi.eof())

{ while(!fi.eof())

{ fi.read((char*)&stud,sizeof(stud));

fo.write((char*)&stud,sizeof(stud));

}

} fi.close(); fo.close(); remove("stu.dat"); rename("temp.dat","stu.dat"); ifstream ko; ko.open("stu.dat",ios::in); cout<<"file now contains"<

while(!ko.eof())

{ ko.read((char*)&stud,sizeof(stud));

if(ko.eof())

break;

stud.putdata(); }

ko.close(); getch();

}

Output Q.12) Write a program to delete data from a file.

#include

#include

#include class stu { int rollno;

char name[25];

char cls;

float marks;

public:

void getdata()

{ cout<<"ROLL NUMBER : - ";

cin>>rollno;

cout<<"NAME : - ";

gets(name);

cout<<"CLASS : - ";

cin>>cls;

cout<<"MARKS : - ";

cin>>marks;

} void putdata()

{ cout<<"\nName- "<

cout<<"Roll No- "<

cout<<"Marks="<

} int getrno()

{ return rollno;

}

}s1,stud; void main()

{ clrscr();

ifstream fi("STU.DAT",ios::in); ofstream fo("TEMP.DAT",ios::out);

int rno;

char found='f',confirm='n';

cout<<"ENTER ROLL NUMBER OF STUDENT WHOSE RECORD IS TO BE DELETED:-";

cout<<"\n";

cin>>rno;

while(!fi.eof())

{ fi.read((char*)&stud,sizeof(stud));

if(s1.getrno()==rno)

{ s1.putdata();

found='t';

fo.write((char*)&s1,sizeof(s1));

}

else

fo.write((char*)&s1,sizeof(s1));

}

if(found=='n')

cout<<"SORRY RECOD NOT FOUND"<

fi.close();

fo.close();

remove("STU.DAT");

rename("TEMP.DAT","STU.DAT");

fi.open("STU.DAT",ios::in);

cout<<"FILE NOW CONTAINS : - "<<"\n"<

while(!fi.eof())

{ fi.read((char*)&stud,sizeof(stud)); if(fi.eof())

break;

stud.putdata();

}

fi.close(); getch();

}

Output Q.13) Write a program to modify data in a file.

#include

#include

#include

#include

#include class stu { int rollno;

char name[25];

char Class[4];

float marks;

public:

void getdata()

{ cout<<"Enter Name-";

cin>>name;

cout<<"Enter Roll No-";

cin>>rollno;

cout<<"Enter Marks ";cin>>marks;

}

int getrno()

{ return rollno ;

}

void modify() ;

};

s1,stud ;

void stu::modify()

{ cout<<"ROLL NUMBER : - "<

cout<<"NAME : - "<

cout<<"CLASS : - "<

cout<<"MARKS : - "<

cout<<"ENTER NEW DETAILS : - "<

char nm[20]=" ",cl[4]=" ";

float mks ;

cout<<”Enter Name-"; cin>>nm;

cout<<"Enter Roll No- ";

cin>>rn;

cout<<"Enter Marks= ";

cin>>mks;

if(strcmp(nm,".")!= 0)

strcpy(name, nm);

if(strcmp(cl,".")!=0)

strcpy(Class,cl);

if(mks!= -1)

{ marks=mks;

if(marks >= 75) }

} void main()

{ clrscr();

fstream fio("stu.dat", ios::in|ios::out|ios::binary);

int rno; long pos; char found='f';

cout<<"ENTER ROLL NUMBER OF THE STUDENT WHOSE RECORD IS TO MODIFY:-";

cout<<"n";

cin>>rno;

while(!fio.eof())

{ pos=fio.tellg();

fio.read((char*) &s1, sizeof(s1));

if (s1.getrno()==rno)

{ s1.modify();

fio.write((char*) &s1, sizeof(s1)); found='t';

break;

}

}

if(found=='f')

cout<<"SORRY RECORD NOT FOUND"<<"\n";

fio.seekg(0); fio.close(); getch();

}

Output Q.14) Create a menu driven program to show searching operation in 1- D array using (I)Lsearch (II) Bsearch

#include

#include int Lsearch(int[],int,int); int Bsearch(int[],int,int); void main() {clrscr();

int n,AR[50],i,item,index;

int ch=0;

cout<<"\n Menu: ";

cout<<"\n 1.Linear Search";

cout<<"\n 2.Binary Search";

cout<<"\n Enter Choice(1/2): ";

cin>>ch;

cout<<"\n Enter the Desired array size(Max.50): ";

cin>>n;

cout<<"\n Enter Array elements ";

for(i=0;i

{ cin>>AR[i]; }

cout<<"\n Enter Elements to be searched for: ";

cin>>item;

switch(ch)

{ case 1:{ index=Lsearch(AR,n,item);

if(index==-1)

cout<<"\n Sorry!! Given element could not be found.";

else

cout<<"\n Element found at index: "<

cout<<"\n Position: "<

break;}

case 2:{ index=Bsearch(AR,n,item);

if(index==-1)

cout<<"\n Sorry!! Given element could not be found."; else

cout<<"\n Element found at index: "<

cout<<"\n Position: "<

break;}

default:{cout<<"\n Wrong Choice";}

break;

} getch();

}

int Lsearch(int arr[50],int size,int it)

{

for(int j=0;j

{if(arr[j]==it)

return j;

}

return-1;

};

int Bsearch(int arr[50],int size,int it)

{ int beg,last,mid;

beg=0;

last=size-1;

while(beg<=last)

{ mid=(beg+last)/2;

if(it==arr[mid])

return mid; else if(it>arr[mid])

beg=mid+1;

else

last=mid-1;

} return -1;

};

Output Q.15)WAP menu driven program to insert & delete an element in a sorted array.

#include

#include

#include int FindPos(int[],int,int); int Lsearch(int[],int,int); int Insertion(int[],int); int Deletion(int[],int); void main()

{clrscr();

int AR[50],N,choice;

cout<<"\n Enter size of array(Max.50): "; cin>>N;

cout<<"\n Enter array elements is ascending order:\n";

for(int i=0;i

{ cin>>AR[i];}

cout<<"\n Menu:";

cout<<"\n 1.Insertion";

cout<<"\n 2.Deletion";

cout<<"\n Enter Choice(1/2): ";

cin>>choice;

switch(choice)

{case 1: Insertion(AR,N);

break;

case 2: Deletion(AR,N);

break;

default:cout<<"\n !!Please enter either 1 or 2";

break;

}

getch();

} int Insertion(int ar[],int y)

{char ch='y';

int item,index,i;

while(ch=='y'||ch=='Y')

{ cout<<"\n Enter element to be inserted: ";

cin>>item;

if(y==50)

{ cout<<"\n Overflow"; exit(1);

}

index=FindPos(ar,y,item);

for(i=y;i>index;i--)

{ ar[i]=ar[i-1];}

ar[index]=item;

y=y+1;

cout<<"\n Want to insert more element(Y/N)?: ";

cin>>ch;

}

cout<<"\n Array after insertion is: \n";

for(i=0;i

{ cout<

} int FindPos(int AR[],int size,int item)

{int pos;

if(item

else

{ for(int i=0;i

{ if(AR[i]<=item&&item

{ pos=i+1;

break;

} }

if(i==size-1) pos=size;

} return pos;} int Deletion(int AR[],int N) { char ch='y';

int item,index,i;

while(ch=='y'||'Y')

{ cout<<"\n Enter element to be deleted: ";

cin>>item;

if(N==0)

{ cout<<"Underflow!!";

exit(1);

}

index=Lsearch(AR,N,item);

if(index!=-1)

AR[index]=0;

else

cout<<"\n !!Sorry no such element is found";

for(i=index;i

{ AR[i]=AR[i+1];}

N=N-1;

cout<<"\n Want to delete more(Y/N)?";

cin>>ch;

cout<<"\n Array after deletion is: \n";

for(i=0;i

cout<

break;

}} int Lsearch(int AR[],int size,int item)

{ int i;

for(i=0;i

return i;

}

return -1;

} Output Q.16) Write a program to merge two 1-D arrays into third array.

#include

#include void Merge(int[],int,int[],int,int[]); void main()

{ clrscr();

int A[20],B[20],C[40],m,n,mn=0;

cout<<"Enter no of element in first array in acs order";

cin>>m;

for(int i=0;i

cin>>A[i];

cout<<"Enter no of element in second array in desc order"; cin>>n;

for(i=0;i

cin>>B[i];

mn=m+n;

Merge(A,m,B,n,C);

cout<<"Resultant array is";

for(i=0;i

cout<

} void Merge(int A[],int m,int B[],int n,int C[])

{ int a,b,c;

for(a=0,b=n-1,c=0;a=0;)

{ if(A[a]<=B[b])

C[c++]=A[a++];

else

C[c++]=B[b--];

}

} Output Q.17) Write a menu driven program to sort elements using selection sort and bubble sort.

#include

#include void selsort(int[],int); void bubblesort(int[],int); void main()

{ clrscr();

int AR[50],ITEM,N,index,n;

cout<<"How many element you want to insert in array?(Max.50): ";

cin>>N;

cout<<"Enter element of array: ";

for(int i=0;i

cin>>AR[i];

cout<<"Menu\n"<<"1.Selection Sort\n"<<"2.Bubble Sort\n"<<"Enter Choice: ";

cin>>n;

switch(n)

{ case 1: selsort(AR,N); break;

case 2: bubblesort(AR,N);

break;

default:cout<<"Enter Valid Choice";

break;

}

cout<<"\nThe Sorted Array is shown below:\n";

for(i=0;i

cout<

cout<

} void selsort(int AR[], int size)

{ int small,pos,tmp;

for(int i=0;i

{ small=AR[i];

for(int j=i+1;j

{ if(AR[j]

{ small=AR[j];

pos=j;

}

tmp=AR[i];

AR[i]=AR[pos];

AR[pos]=tmp;

}

cout<<"\nArray after pass:"<

cout<

}

} void bubblesort(int AR[],int size)

{ int tmp, ctr=0;

for(int i=0;i

{ for(int j=0;j<(size-1)-i;j++)

{ if(AR[j]>AR[j+1])

{ tmp=AR[j];

AR[j]=AR[j+1];

AR[j+1]=tmp;

}

}

cout<<"Array after iteration:"<<++ctr<<" is:\n";

for(int k=0;k

cout<

cout<

}

} Output Q.18) Write a program to convert 1D array into 2D array.

#include

#include void main()

{ clrscr();

int ar [20],arr[20][20];

int i,j,size;

cout<<"Enter size of array\n";

cin>>size;

cout<<"Enter 1d-array\n";

for(i=0;i

{ cin>>ar[i];

}

cout<<"Your array is\n"; for(i=0;i

{ cout<

cout<<"\t";

}

cout<<"\n";

for(i=0;i

for(j=0;j

arr[i][j]=ar[j];

cout<<"Your required 2d array is\n";

for(i=0;i

{ for(j=0;j

{ cout<

}

cout<<"\n";

}

getch();

} Output Q.19) Write a program for pushing and popping in a stack implemented as linked list.

#include

#include

#include

struct node

{

int info;

node*next;

}*top,*newptr,*save,*ptr;

node*create_new_node(int);

void push(node*);

void display(node*);

void pop(); void main()

{ clrscr();

top=NULL;

int inf; char ch='y';

while(ch=='y'||ch=='Y')

{

cout<<"\n Enter the information"<<"\t";

cin>>inf;

newptr=create_new_node(inf);

if(newptr==NULL)

{ cout<<"\n cannot create new node!!!";

exit(1);

}

push(newptr);

cout<<"\n press Y to enter more nodes, n to exit"<<" ";

cin>>ch;

}

clrscr();

do

{ cout<<"\n stack is now:\n";

display(top);

getch();

cout<<"\n want to pop an element?(y/n)"<<" ";

cin>>ch;

if(ch=='y'||ch=='Y')

pop();

}while(ch=='y'||ch=='Y');

}

node*create_new_node(int n)

{ ptr=new node;

ptr->info=n;

ptr->next=NULL;

return ptr;

} void push(node*np)

{ if(top==NULL)

top=np;

else

{ save=top;

top=np;

np->next=save;

}

} void pop()

{ if(top==NULL)

cout<<"\n underflow";

else

{

ptr=top;

top=top->next;

delete ptr;

} }

void display(node*np)

{ while(np!=NULL)

{ cout<info<<"->";

np=np->next; } cout<<"!!!\n";

} Output Q.20) Write a program to show insertion and deletion from linked queue.

#include

#include

struct node

{ int data;

node*next;

};

node*add(node*rear,int val);

node*delet(node*front);

void show(node*front); void main()

{ node*front,*rear;

int val,choice;

front=rear=NULL; clrscr(); do{

cout<<"\nMenu";

cout<<"\n 1. ADD";

cout<<"\n 2. Delete";

cout<<"\n 3. Show";

cout<<"\n 4. Quit";

cout<<"\n Enter your choice"<<" ";

cin>>choice;

switch(choice)

{

case 1:cout<<"\n Enter the vlaue to be added"<<" ";

cin>>val;

rear=add(rear,val);

if(front==NULL)

front=rear;

break;

case 2:front=delet(front);

if(front==NULL)

rear=front;

break;

case 3:show(front);

break;

}

} while(choice!=4);

}

node*add(node*rear,int val)

{ node*x;

x=new node;

x->data=val;

x->next=NULL;

if(rear!=NULL)

{

rear->next=x;

}

rear=x;

return(rear);

}

node*delet(node*front)

{

node*x;

int val;

if(front==NULL)

{ cout<<"\nQueue is empty";

val=-999;

}

else

{

x=front;

front=front->next;

val=x->data; delete x;

}

cout<

return(front);

}

void show(node*front)

{

node*ptr;

ptr=front;

cout<<"\nThe queue is:";

while(ptr!=NULL)

{

cout<data<<" ";

ptr=ptr->next;

}

} Output 21.) Write SQL command for (a) for (f) and write the output for (g) on the basis of tables Student.

Table: Student

No. Name Age Department Dateofadm Fee Sex 1. Pankaj 24 Computer 10/01/97 120 M 2. Shalini 21 History 24/03/98 200 F 3. Sanjay 22 Hindi 12/12/96 300 M 4. Sudha 25 History 01/07/99 400 F 5. Rakesh 22 Hindi 05/09/97 250 M 6. Shakeel 30 History 27/06/98 300 M 7. Surya 34 Computer 25/02/97 210 M 8. Sikha 23 Hindi 31/07/97 200 F

a) To show all information about all students of the History Department. b) To list the names of female students who are of Hindi department. c) To list name of all students with their name in ascending order. d) To display student’s name, fee, age for male students only. e) To count the number of student with Age<23. f) To isnert a new row in the STUDENT table with the following data : 9, “Zaheer”, 36 , “Computer”, {12/03/97}, 230, ‘M’ g) Give the output of following SQL statements : (i) Select COUNT (distinct departments) from STUDENT ; (ii) Select MAX (Age) from STUDENT where Sex = ”F” ; (iii) Select AVG (fee) form STUDENT where Dateofadm <{01/01/98} ; (iv) Select SUM (Fee) from STUDENT where Dateofadm <{01/01/98} ;

Answers) (a) SELECT * FROM Student WHERE Depatment = “History”; (b) SELECT Name FROM Student WHERE sex =”F” and Depatment = “History”; (c) SELECT name FROM Student ORDER BY Dateofadm; (d) SELECT Name, Fee, Age FROM Student WHERE sex = “M”; (e) SELECT COUNT (*) FROM Student WHERE Age>23 ; (f) INSERT INTO Student VALUES (9, “Zaheer”, 36 , “Computer”, {12/03/97}, 230, ‘M’) ; (i) 3 (ii)25 (iii)236 (iv) 1080 22.) Write SQL commands for (a) to (f) and Write to outputs for (g) on the basis of table HOSPITAL.

Table: HOSPITAL

No. Name Age Department Dateofadm Charges Sex 1. Sandeep 62 Surgery 21/01/98 300 M 2. Ravina 22 ENT 12/12/97 250 F 3. Karan 32 Orthopedic 19/02/98 200 M 4. Tarun 12 Surgery 11/01/98 300 M 5. Zubin 30 ENT 12/01/98 250 M 6. Ketaki 16 ENT 24/02/98 250 F 7. Ankita 29 Cardiology 20/02/98 800 F 8. Zareen 45 Gynecology 22/05/98 300 F 9. Kush 19 Cariology 13/01/98 800 M 10. Shalya 23 Nuclaer Medicine 21/02/98 400 F

a) To select all information about all patient of the CARIOLOGY Department. b) To list the names of female patients who are in ENT Department. c) The list names of all patients with date date of admission in ascending order. d) To display Patient’s name, Charges, Age for only male patients. e) To count the number of patients with Age<30. f) To insert a new row in the HOSpital table with the following date ; 11, “Mustafa” , 37, “ENT”, {25/02/98}, 250, “M” g) Give the output of the following SQL statements : (i) Select COUNT (distict department) from HOSPITAL ; (ii) Select MAX( Age) from HOSPITAL where Sex =”M” (iii)Select AVG (Charges) form HOSPITAL where Sex =”F” (iv)Select SUM ( Charges) from HoSPITAL where Dateofadm< {10/08/98}

Answers) (a) SELECT * FROM Hospital WHERE Depatment = “Cardiology”; (b) SELECT Name FROM Hospital WHERE sex =”F” and Depatment = “Orthopedic”; (c) SELECT name FROM Hospital ORDER BY Dateofadm; (d) SELECT Name, Charges, Age FROM Hospital WHERE sex = “M”; (e) SELECT COUNT (*) FROM Hospital WHERE Age<30 ; (f) INSERT INTO Hospital VALUES (11, “Mustafa”, 37 , “ENT”, {25/02/97}, 250, “M”) ; (i) 6 (ii)65 (iii)400 (iv) 3850 23.) Write SQL commands for (a) to (f) and write output for (g) on the basis of Teacher relation given below:

Table: Teacher

No. Name Ag Department Date of join Salary Sex e 1. Jugal 34 Computer 10/01/97 12000 M 2. Sharmila 31 History 24/03/98 20000 F 3. Sandeep 32 Maths 12/12/96 30000 M 4. Sangeeta 35 History 01/07/99 40000 F 5. Rakesh 42 Maths 05/09/97 25000 M 6. Shayam 50 History 27/06/98 30000 M 7. Shiv Ov 44 Computer 25/02/97 21000 M 8. Shalakha 33 Maths 31/07/97 20000 F

a) To select all information about all Teachers of the history department. b) To list the names of female Teachers who are in Hindi Department. c) The list names of all Teachers with date of joining in ascending order. d) To display students’ Name, Fees, Age for only male teachers. e) To count the number of patients with Age<23. f) To insert a new row in the HOSPITAL table with the following date ; 11, “Raja” , 26, “Computer”, {13/05/95}, 2300, “M”. g) Give the output of the following SQL statements : (i) Select COUNT (distict department) from TEACHER ; (ii) Select MAX( Age) from TEACHERS where Sex =”F” (iii)Select AVG (Salary) form TEACHERS where Dateofadm< {10/08/98} (iv)Select SUM (Salary) from TEACHERS where Dateofadm< {10/08/98

Answers) (a) SELECT * FROM Teacher WHERE Department = “History”; (b) SELECT Name FROM Hospital WHERE sex =”F” and Department = “Hindi”; (c) SELECT name FROM Teacher ORDER BY Dateofadm; (d) SELECT Name, Salary, Age FROM Teacher WHERE sex = “M” AND Age>23; (e) SELECT COUNT(*) FROM Hospital WHERE Age<23 ; (f) INSERT INTO Teacher VALUES (9, “Raja”, 26 , “Computer”, {13/02/95}, 2300, “M”) ; (i) 3 (ii)35 (iii)23600 (iv) 2300 24.) Write SQL command for (a) for (f) and write the output for (g) on the basis of tables FURNITURE and ARRIVALS.

Table: FURITURE

NO. ITEMNAME TYPE DATEOFSTOCK PRICE DISCOUNT 1 White Lotus Double Bed 23/02/02 30000 25 2 Pink Feather Baby cot 20/01/02 7000 20 3 Dolphin Baby cot 19/02/02 9500 20 4 Decent OfficeTable 01/01/02 25000 30 5 Comfort zone Double Bed 12/01/02 25000 25 6 Donald Baby cot 24/01/02 6500 15 7 Royal Finish OfficeTable 20/02/02 18000 30 8 Royal Tiger Sofa 22/02/02 31000 30 9 Econo sitting Sofa 13/13/01 90005 25 10 EatingParadise Dining Table 19/02/02 110005 25

Table: ARRIVALS

NO. ITEMNAME TYPE DATEOFSTOCK PRICE DISCOUNT 11 Wood Comfort Double Bed 23/03/03 25000 25 12 Old Fox Sofa 20/02/03 17000 20 13 Mickey Baby cot 21/02/03 7500 15

a) To show all info about the Baby cots from the FURNITURE table. b) To list the ITEMNAME which are priced at more than 15000 from the FURNITURE table. c) To list ITEMNAME and TYPE of those items, in which DATEOFSTOCK is before 22/01/02 from the FURNITURE table in descending order of ITEMNAME. d) To display ITEMNAME and DATEOFSTOCK of those items, in which the DISCOUNT percentage is more than 25 from FURNITURE table. e) To count the number of items, whose TYPE is “Sofa” from the FURNITURE table. f) To insert a new row in the ARRIVALS table with the following data: 14, ”Velvet Touch”, Double Bed, (25/03/03), 25000, 30 g) Give the output of the following statement: (i) Select COUNT(distinct TYPE) from FURNITURE; (ii) Select MAX(DISCOUNT) from FURNITURE, ARRIVALS; (iii) Select AVG(DISCOUNT) from FURNITURE where TYPE=”Baby cot”. (iv) Select SUM(PRICE) from FURNITURE where DATAOFSTOCK < (12/02/02).

Answer) a) Select* From FURNITURE Where TYPE=”Baby cot”; b) Select ITEMNAME From FURNITURE Where PRICE > 15000; c) Select ITEMNAME, TYPE From FURINTURE; Where DATEOFSTOCK < (22/01/02) Order by ITEMNAME; d) Select ITEMNAME, DATEOFSTOCK From FURINTURE Where DISCOUNT > 25; e) Select Count(*) From FURNITURE Where TYPE=”Sofa”; f) Insert Into ARRIVALS Values(14, ”Velvet Touch”, Double Bed, (25/03/03), 25000, 30) g) (i) 5 (ii)30 (iii)18.33 (iv)66500. 25.) Write the SQL command for (a) to (f) and write the output for (g) on the basis of tables INTERIORS and NEWONES.

Table: INTERIORS

NO. ITEMNAME TYPE DATEOFSTOCK PRICE DISCOUNT 1. Red rose Double Bed 23/02/02 32000 15 2. Soft touch Baby cot 20/01/02 9000 10 3. Jerry’s home Baby cot 19/02/02 8500 10 4. Rough wood Office Table 01/01/02 20000 20 5. Comfort zone Double Bed 12/01/02 15000 20 6. Jerry look Baby cot 24/01/02 7000 19 7. Lion king Office Table 20/02/02 16000 20 8. Royal tiger Sofa 22/02/02 30000 25 9. Park sitting Sofa 13/13/01 9000 15 10. Dine Paradise Dining Table 19/02/02 11000 15

Table: NEWONES

NO. ITEMNAME TYPE DATEOFSTOCK Price DISCOUNT 11. White wood Double Bed 23/03.03 20000 20 12. James 007 Sofa 20/02/03 15000 15 13. Tom look Baby cot 21/02/03 7000 10

a) To show all info about the Sofas from the INTERIORS table. b) To list the ITEMNAME which are priced at more than 10000 from the INTERIORS table. c) To list ITEMNAME and TYPE of those items, in which DATEOFSTOCK is before 22/01/02 from the INTERIORS table in decreasing order of ITEMNAME. d) To display ITEMNAME and DATEOFSTOCK of those items, in which the discount percentage is more than 15 from the INTERIORS table. e) To count the no of items whose type is “Double Bed” from the table INTERIORS. f) To insert a new tow in the NEWONES table with the following data: 14,”True Indian”, “Office Table”, (28/03/03), 15000, 20. g) Give the output of the following statement: (i) Select COUNT(distinct TYPE) from INTERIORS; (ii) Select AVG(DISCOUNT) from INTERIORS, where DATEOFSTOCK<(12/02/02). (iii) Select SUM(Price) form INTERIORS where DATEOFSOCK<(12/02/02).

Answer) a) Select* From INTERIORS Where PRICE>10000; b) Select ITEMNAME, TYPE From INTERIORS c) Select ITEMNAME, TYPE From INTERIORS Where DATEOFSTOCK < (22/01/02) Order by ITEMNAME; d) Select ITEMNAME, DATEOFSTOCK From INTERIORS Where DICSOUNT>15; e) Select Count(*) From INTERIORS Where TYPE=”Double Bed”; f) Insert Into NEWONES Values (14,”True Indian”, “Office Table”, (28/03/03), 15000, 20); e) (i)5 (ii)13 (iii)43000

BIBLIOGRAPHY

1. COMPUTER SCIENCE text book By: SUMITA ARORA

2. MRS. NIDHI YAGNIK (P.G.T. Comp. Sc.)

3. PIONEER question bank in C++.

4. K.V.S. Study Material for Computer Science

Recommended publications