Вы находитесь на странице: 1из 85

YEAR 2017-18

COMPUTER
WORKFILE

Name:-Aman kr. Yadav


Class:- 12 sec:-A
School: Army public school Nehru
road
Lucknow Cantt

2|Page
CONTENT
 CERTIFICATE
 ACKNOWLEDGEMENT
 INDEX
 PROGRAMMES

3|Page
INDEX
S PRO PAG DATE SIG
PROGRAM G. E N.
NO.
NO. NO.
1.) INDEX - -

2.) CONTENT - -

3.) USE OF IF

4.) USE OF SWITCH CASE 1

5.) USE OF FOR LOOP 2

6.) USE OF WHILE LOOP 3

7.) CLASS WITHOUT CONSTRUCTOR 4

8.) CLASS WITH CONTRUCTOR 6

9.) COPY CONSTRUCTOR 7

10.) CONSTRUCTOR OVERLOADING 8

11.) SINGLE INHERTITANCE 9

12.) MULTILEVEL INHERITANCE 10

13.) MULTIPLE INHERITANCE 11

14.) FUCTION OVERLOADING 12

15.) 13

16.) 14

17.) 15

18.) BINARY FILE (STUDENT 16


RECORD)

4|Page
19.) 17
20.) 18

21.) SEARCHING(LINEAR,BINARY) 19

22.) SORTING(BUBBLE,SELECTION,I 20
NSERTION)
23.) MERGE SORT 21

24.) INSERTION OF ELEMENT 22

25.) DELETION OF ELEMENT 23

26.) 24

27.) 25

28.) -

29.)

30.)

31.) POINTER USING THIS


KEYWORD
32.) STATIC STACKUSING CLASS

33.) STATIC STACK WITOUT CLASS

34.) DYNAMIC STACK USING CLASS

DYNAMIC STACK WITHOUT


USING CLASS
STATIC QUEUE USING CLASS

STATIC QUEUE WITHOUT


USING CLASS
DYNAMIC QUEUE USING CLASS

DYNAMIC QUEUE WITOUT


USING CLASS
SQL

5|Page
6|Page
REVISIONOF C++
PROGRAM 1:- USING IF
//program-using operant’s between two numbers
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
clrscr();
charch;
floata,b,result;
cout<<”Enter the numbers : ”;
cin>>a>>b;
cout<<”\n”<<”Enter the operator(+,-,*,/) : “;
cin>>ch;
cout<<”\n”;
if(ch==’+’)
result=a+b;
else if(ch==’-’)
result=a-b;
else if(ch==’*’)
result=a*b;
else if(ch==’/’)
result=a/b;
else
{
cout<<”\n”<<”Wrong operator!”<<”\n”;
gotolb;
}
cout<<”\n”<<”The calculated result is : “<<result<<endl;
getch();
}

7|Page
PROGRAM 2:- USING SWITCH CASE
//find the area according to user choice.

#include<iostream.h>

#include<conio.h>

#include<math.h>

void main()

clrscr();

int r; float a,area,x,y,z,radius,length,breadth;

cout<<"What Do You Wish To Find : "; cout<<"\n1. Area Of A Circle.";

cout<<"\n2. Area Of A Rectangle."; cout<<"\n3. Area Of A Triangle.";

cout<<"\nEnter Your Choise : ";

cin>>r;

switch(r){

case 1 : cout<<"\nEnter The Radius : ";

cin>>radius;

area=3.14*radius*radius;

break;

case 2 :cout<<"\nEnter The Length : ";

cin>>length;

cout<<"\nEnter The Breadth : ";

cin>>breadth;

area=length*breadth;
8|Page
break;

case 3 :cout<<"\nEnter The Three Sides of Triangle : ";

cin>>x>>y>>z;

a=(x+y+z)/2;

area=sqrt(a*(a-x)*(a-y)*(a-z));

break;

case 4 :cout<<"\nEnter The Radius : ";

cin>>radius;

area=4*3.14*radius*radius;

default :cout<<"\nWrong input";

} cout<<"\nArea = "<<area;

getch();

PROGRAM 3:- USING FOR LOOP


//palindrome number
9|Page
#include<iostream.h>

#include<conio.h>

#include<stdio.h>

#include<string.h>

void main()

{ clrscr();

int i, j, n=1, len;

char a[100];

cout<<"\n Enter The String : ";

gets(a);

len = strlen(a);

for(i=0, j=len-1; j>i; j--, i++)

{ if(a[i]!=a[j])

{ n=0;

break;

}} if(n!=0)

cout<<" Yes. It is an palindrome text";

else

cout<<" No. It is not an palindrome text ";

getch()

10 | P a g e
PROGRAM 4:- USING WHILE LOOP
//Armstrong no

#include<iostream.h>

#include<conio.h>

#include<math.h>

void main(){

clrscr();

intx,n,a,b=0;

cout<<"enter the no.;";

cin>>n;

x=n;

while(n!=0)

{a=n%10;

b=b+pow(a,3);

n=n/10;

if(x==b)

cout<<"its is a armstrong no.:";

else

cout<<"not a armstrong no.:";

getch();

11 | P a g e
CLASSES AND OBJECT
PROGRAM 5:- USING CLASS WITHOUT
CONSTRUCTOR

12 | P a g e
PROGRAM 6: USING CLASS WITH
CONSTRUCTOR & DESTRUCTOR
//input of student record
#include<iostream.h>
#include<string.h>
#include<conio.h>
class student
{
introllno;
char name[20];
floattmarks;
public:
student()
{
rollno=0;
strcpy(name,"\0");
tmarks=0;
}
student(intr,char n[],float m)
{
rollno=r;
tmarks=m;
strcpy(name,n);
}
student(student &s)
{
rollno=s.rollno;
strcpy(name,s.name);
tmarks=s.tmarks;
}
void print()
{
cout<<"rollno:"<<rollno<<" "<<"name:"<<name<<" "<<"total marks:"<<tmarks<<"\n";
}
~student(){}
13 | P a g e
};

void main()
{
clrscr();
student s1;
s1.print();
student s2(101,"xyz",85);
s2.print();
student s3=s2;
s3.print();
student s4=s1;
getch();
}

14 | P a g e
PROGRAM 7: USING COPYCONSTRUCTOR
//INPUT AND DISPLAY THE DETAILS OF WORKERS

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
class worker
{
char name[25];
floathrwrk,wgrate,totwage;
intwno;
public:
floatcalcwg();
worker()
{
strcpy(name,'\0');
wno=0;
hrwrk=0.0;
wgrate=0.0;
totwage=0.0;
}
worker(worker&ob1)
{
strcpy(ob1.name,'\0');
ob1.wno=0;
ob1.hrwrk=0.0;
ob1.wgrate=0.0;
ob1.totwage=0.0;
}
voidin_data();
voidout_data();
};
float worker::calcwg()
{
returnhrwrk*wgrate;
}
15 | P a g e
void worker::in_data()
{
cout<<"\n Enter wno = ";
cin>>wno;
cout<<"\n Enter name - ";
gets(name);
cout<<"\n Enter hrwrk - ";
cin>>hrwrk;
cout<<"\n Enter wgrate - ";
cin>>wgrate;
totwage=calcwg();
}
void worker::out_data()
{
cout<<"\n Worker no. - "<<wno;
cout<<"\n Name - "<<name;
cout<<"\n No. of hours worked - "<<hrwrk;
cout<<"\n Wage rate - "<<wgrate;
cout<<"\n Total wage - "<<totwage;
}
void main()
{clrscr();
worker ob1,ob;
ob1=ob;
cout<<"\n Contents of object1 - ";
ob1.in_data();
cout<<"\n Contents of copied object - ";
ob.out_data();
getch();
}

16 | P a g e
PROGRAM 8: USING CONSTRUCTOR
OVERLODING
//

17 | P a g e
INHERITANCE
PROGRAM 9: USING SINGLE INHERITANCE
//student record
#include<iostream.h>

#include<conio.h>

#include<stdio.h>

class student

intrno; char name[20]; float marks;

public:

student();

void Register();

void display();

};

class course : public student

intccode;

charcname[30];

charstartdate[8],enddate[8];

public:

void enter();

void details();

};

void student::Register()
18 | P a g e
{ cout<<"enter the roll no and marks:";

cin>>rno>>marks;

cout<<"\nEnter the name :";

gets(name);

void student::display()

{ cout<<"\nRoll no :"<<rno;

cout<<"\nMarks :"<<marks;

cout<<"\nName :"<<name;

void course::enter()

{ Register();

cout<<"\nEnter the ccode :";

cin>>ccode;

cout<<"\nEnter the cname :";

gets(cname);

cout<<"enter the starting date :";

gets(startdate);

cout<<"enter the ending date :";

gets(enddate);

void course::details()

{ display();

cout<<"\nCode no :"<<ccode;

19 | P a g e
cout<<"\nCname :"<<cname;

cout<<"\nStart date :"<<startdate;

cout<<"\nEnd date :"<<enddate;

course c;

void main()

clrscr();

c.enter();

c.details();

getch();

20 | P a g e
PROGRAM 10: USING MULTILEVEL
INHERITANCE
//furniture details
#INCLUDE<IOSTREAM.H>

#INCLUDE<CONIO.H>

#INCLUDE<STDIO.H>

#INCLUDE<STRING.H>

CLASS FURNITURE

{ CHAR TYPE[10],MODEL[10];

PUBLIC:

FURNITURE()

STRCPY(TYPE,"\0") ;

STRCPY(MODEL,"\0"); }

VOID READ_FUR_DETAILS()

COUT<<"ENTER TYPE AND MODEL\N";

GETS (TYPE);

COUT<<ENDL;

GETS (MODEL);}

VOID DISP_FUR_DETAILS()

COUT<<"\N TYPE="<<TYPE<<ENDL;

COUT<<"\N MODEL="<<MODEL<<ENDL;

}};
21 | P a g e
CLASS SOFA : PUBLIC FURNITURE

{INT NO_OF_SEATS;

FLOAT COST_OF_SOFA;

PUBLIC:

SOFA(){

NO_OF_SEATS=0;

COST_OF_SOFA=0;}

VOID READ_SOFA_DETAILS()

READ_FUR_DETAILS();

COUT<<"ENTER NO OF SEATS AND COST OF SOFA\N";

CIN>>NO_OF_SEATS>>COST_OF_SOFA;

VOID DISP_SOFA_DETAILS()

DISP_FUR_DETAILS();

COUT<<"\NNO OF SEATS="<<NO_OF_SEATS;

COUT<<"\N COST_OF_SOFA"<<COST_OF_SOFA;

};

CLASS OFFICE: PRIVATE SOFA

INT NO_OF_PIECES;

CHAR DELIVARY_DATE[10];

PUBLIC:
22 | P a g e
VOID READ_OFFICE_DETAILS()

COUT<<"ENTER NO OF PIECES AND DELIVARY DATE\N";

CIN>>NO_OF_PIECES;

GETS(DELIVARY_DATE);

VOID DISP_OFFICE_DETAILS()

COUT<<"NO OF PIECES="<<NO_OF_PIECES;

COUT<<"\N DILIVARY DATE"<<DELIVARY_DATE;

};

VOID MAIN(){

CLRSCR();

SOFA C;

OFFICE X;

X.READ_OFFICE_DETAILS();

C.READ_SOFA_DETAILS();

X.DISP_OFFICE_DETAILS();

C.DISP_SOFA_DETAILS();

GETCH();

23 | P a g e
PROGRAM 11: USING HIERECIAL
INHERITANCE
//DETAILS AOUT DOLL
#INCLUDE<IOSTREAM.H>
#INCLUDE<CONIO.H>
#INCLUDE<STDIO.H>
#INCLUDE<STRING.H>
CLASS DOLL
{
INT DCODE;
PUBLIC :
DOLL()
{
DCODE=0;
}
VOID DINPUT()
{
COUT<<"\N ENTER DCODE";
CIN>>DCODE;
COUT<<"\N ENTER PRICE";
CIN>>PRICE;
}
VOID DSHOW()
{
COUT<<"DCODE="<<DCODE;
COUT<<"\NPRICE="<<PRICE;
}
PROTECTED :
FLOAT PRICE;
};
CLASS SOFTDOLL:PUBLIC DOLL
{
CHAR SDNAME[24];
FLOAT WEIGHT ;
PUBLIC:
SOFTDOLL()
{ STRCPY(SDNAME,"\0");
WEIGHT=0;
}
VOID SDINPUT()

24 | P a g e
{
COUT<<"ENTER THE NAME";
GETS(SDNAME);
COUT<<"\N ENTER THE WEIGHT";
CIN>>WEIGHT;
}
VOID SDSHOW()
{
COUT<<"\N NAME";
COUT<<SDNAME;
COUT<<"\N WEIGHT";
COUT<<WEIGHT;
}
};
CLASS EDOLL:PROTECTED DOLL
{
CHAR EDNAME[20],BATTERYTYPE[10];
INT NO_OF_BATTERY;
PUBLIC:
EDOLL()
{
STRCPY(EDNAME,"\0");
STRCPY(BATTERYTYPE,"\0");
NO_OF_BATTERY=0;
}
VOID EDINPUT()
{

COUT<<"ENTER THE ELECTRONICDOLL NAME";


GETS(EDNAME);
COUT<<"\N ENTER BATTERY TYPE";
GETS(BATTERYTYPE);
COUT<<"\N ENTER THE NO OF BATTERIES";
CIN>>NO_OF_BATTERY;
}
VOID EDSHOW()
{

COUT<<"THE ELECTRONICDOLL NAME";


COUT<<EDNAME;
COUT<<"\N BATTERY TYPE";
COUT<<BATTERYTYPE;
COUT<<"\N THE NO OF BATTERIES";
COUT<<NO_OF_BATTERY;
}
25 | P a g e
};
VOID MAIN()
{
CLRSCR();
SOFTDOLL S;
EDOLL E;
S.DINPUT();
S.SDINPUT();
E.EDINPUT();
S.DSHOW();
S.SDSHOW();
E.EDSHOW();
GETCH();
}

26 | P a g e
FUNCTION OVERLOADING
PROGRAM 12: TO FIND THE AREA
#INCLUDE<IOSTREAM.H>

#INCLUDE<CONIO.H>

INT AREA ()

{COUT<<"\N PROGRAM TO IMPLEMENT FUNCTION OVERLOADING :";

RETURN 0;

VOID AREA (DOUBLE S)

{COUT<<"\N AREA OF SQUARE="<<S*S; }

VOID AREA( INT L,INT B)

{ COUT<<"\ AREA OF RECTANGLE="<<L*B; }

VOID AREA (FLOAT R)

{ COUT<<"\N AREA OF CIRCLE ="<<3.14*R*R;

VOID MAIN ()

{INT CH; CHAR C; AREA();

INT L1,B1;FLOAT R1;DOUBLE S1;

DO

{ COUT<<"\N 1.AREA OF SQUARE";

COUT<<"\N 2. AREA OF RECTANGLE";

COUT<<"\N 3.AREA OF CIRCLE";

COUT<<"\N ENTER UR CHOICE";

CIN >>CH;

SWITCH(CH)
27 | P a g e
{CASE 1:COUT<<"\N ENTER THE SIDE=";

CIN>>S1;

AREA(S1);BREAK;

CASE 2:COUT<<"\N ENTER LEN&BRE=";

CIN>>L1,B1;

AREA (L1, B1);BREAK;

CASE 3:COUT<<"\N ENTER RADIUS=";

CIN>>R1;

AREA;BREAK;

COUT<<"\N DO YOU WISH TO GO TO MAIN MENU AGAIN";

CIN>>C;

WHILE(C=='Y');

GETCH();

FILE HANDLING
28 | P a g e
PROGRAM 13: RELATED TO TEXT FILE
// PROGRAM TO OPEN A TEXT FILE ABC123.TXT TO COUNT AND PRINT

THE SIZE OF FILE AND TOTAL WORDS PRESENT IN FILE

#INCLUDE<CONIO.H>

#INCLUDE<FSTREAM.H>

VOID MAIN()

CLRSCR();

INT X=0, W=0; CHAR CH;

FSTREAM F1("ABC123.TXT",IOS::IN);

IF(!F1)

COUT<<"\NFILE DOES NOT EXIST";

GETCH(); RETURN;

WHILE(F1)

{ F1.GET(CH); X++;

IF(CH==' ') W++; }

F1.CLOSE();

COUT<<"\NSIZE OF FILE :"<<X<<"\N\N";

COUT<<"WORDS PRESENT IN THE FILE :"<<W+1;

GETCH();

PROGRAM 14: RELATED TO TEXT FILE


29 | P a g e
//PROGRAM TO STORE THE DETAILS IN A FILE NAME CALLED MARKS.DAT.

#INCLUDE<IOSTREAM.H>

#INCLUDE<FSTREAM.H>

#INCLUDE<CONIO.H>

VOID MAIN()

CLRSCR();

OFSTREAM FILEOUT;

FILEOUT.OPEN("MARKS.DAT",IOS::OUT);

CHAR ANS='Y';

INT ROLLNO;

FLOAT MARKS;

WHILE(ANS=='Y'||ANS=='Y')

{ COUT<<"\NENTER YOUR ROLLNO ";

CIN>>ROLLNO;

COUT<<"\NENTER YOUR MARKS ";

CIN>>MARKS;

FILEOUT<<ROLLNO<<"\N"<<MARKS<<"\N";

COUT<<"\NYOU WISH TO ENTER MORE? (Y/N)...";

CIN>>ANS;

FILEOUT.CLOSE();

GETCH();

PROGRAM 15: RELATED TO TEXT FILE


30 | P a g e
//PROGRAM TO CREAT A SINGLE FILE AND THEN DISPLAY ITS CONTENT

#include<iostream.h>

#include<fstream.h>

#include<stdlib.h>

#include<conio.h>

void main()

clrscr();

ofstream fout("student",ios::out); //CONNECT STUDENT

FILETO OUTPUT STREAM FOUT

char name[30],ch;

float marks=0.0;

for(int i=0;i<5;i++) // loop to get 5 records

cout<<"Student"<<(i+1)<<":\tName : ";

cin.get(name,30);

cout<<"\t\tMarks : ";

cin>>marks;

cin.get(ch);

fout<<name<<"\n"<<marks<<"\n";

fout.close(); //DISCONNECT STUDENT FILE FROM FOUT

ifstream fin("student",ios::in); //CONNECT STUDENT FILE

FOR OUTPUT STREAM FIN

fin.seekg(0);cout<<"\n";

for(i=0;i<5;i++) //DISPLAY RECORDS


31 | P a g e
{

fin.get(name,30); //READ NAME FROM FILE STUDENT

fin.get(ch);

fin>>marks; //READ MARKS FROM FILE STUDENT

fin.get(ch);

cout<<"Student name : "<<name;

cout<<"\tMarks : "<<marks<<"\n";

fin.close(); //DISCONNECT STUDENT FILE FROM FOUT

getch();}

PROGRAM 16: BINARY FILE


//PROGRAME=STUDENT MANAGEMENT

32 | P a g e
#INCLUDE<FSTREAM.H>

#INCLUDE<IOSTREAM.H>

#INCLUDE<STDIO.H>

#INCLUDE<CONIO.H>

#INCLUDE<STRING.H>

#INCLUDE<PROCESS.H>

CLASS STUDENT

INT R_NO;

CHAR NAME[25];

CHAR CLASS[5];

FLOAT PER;

PUBLIC:

VOID INPUT();

VOID OUTPUT();

VOID MODIFY();

INT RNO()

RETURN R_NO;

};

VOID CREATEFILE();

VOID ADDREC();

VOID DISPREC();

VOID APPEND();

VOID INSERTAT();

VOID SEARCH();

VOID EDITREC();

33 | P a g e
VOID DELREC();

VOID SORT();

VOID MAIN()

CLRSCR();

CHAR CH;

INT I;

DO

COUT<<"\N1.CREATE A NEW FILE/REMOVE CONTENT FROM THE FILE ";

COUT<<"\N2.ADD RECORD IN FILE";

COUT<<"\N3.DISPLAY RECORD IN FILE";

COUT<<"\N4.SEARCH RECORD IN FILE";

COUT<<"\N5.MODIFY RECORD IN FILE";

COUT<<"\N6.DELETE RECORD IN FILE";

COUT<<"\N7.APPEND RECORD IN FILE";

COUT<<"\N8.INSERT RECORD IN FILE";

COUT<<"\N9.SORT RECORD IN FILE";

COUT<<"\N10.EXIT FROM PROGRAME";

COUT<<"\NENTER YOUR CHOICE";

CIN>>I;

SWITCH(I)

CASE 1: CREATEFILE(); BREAK;

CASE 2: ADDREC(); BREAK;

CASE 3: DISPREC(); BREAK;

CASE 4: SEARCH(); BREAK;

34 | P a g e
CASE 5: EDITREC(); BREAK;

CASE 6: DELREC(); BREAK;

CASE 7: APPEND(); BREAK;

CASE 8: INSERTAT(); BREAK;

CASE 9: SORT(); BREAK;

CASE 10: COUT<<"\NGOOD BYE"; GETCH(); EXIT(0);

DEFAULT: COUT<<"\NINVALID CHOICE";

COUT<<"\NDO YOU WISH TO GO TO MAIN MENU:";

CIN>>CH;

}WHILE(CH=='Y'||CH=='Y');

GETCH();

VOID CREATEFILE()

OFSTREAM F("STU.DAT",IOS::OUT|IOS::BINARY);

COUT<<"\N A BLANK FILE STUDENT IS CREATED";

F.CLOSE();

VOID ADDREC()

OFSTREAM F("STU.DAT",IOS::APP|IOS::BINARY);

STUDENT S;

CHAR CH;

DO

35 | P a g e
S.INPUT();

F.WRITE((CHAR*)&S,SIZEOF(S));

COUT<<"\NDO YOU WISH TO ENTER MORE RECORDS";

CIN>>CH;

}WHILE(CH=='Y'||CH=='Y');

F.CLOSE();

VOID DISPREC()

IFSTREAM F("STU.DAT",IOS::IN|IOS::BINARY);

STUDENT S;

IF(!F)

COUT<<"\NFILE DOES NOT EXIST";

GETCH();

RETURN;

WHILE(F.READ((CHAR*)&S,SIZEOF(S)))

S.OUTPUT();

F.CLOSE();

VOID SEARCH()

IFSTREAM F("STU.DAT",IOS::IN|IOS::BINARY);

36 | P a g e
STUDENT S;

IF(!F)

COUT<<"\NFILE DOES NOT EXIST";

GETCH();

RETURN;

INT A=0,I=0;

COUT<<"\NENTER YOUR SEARCH:";

CIN>>I;

WHILE(F.READ((CHAR*)&S,SIZEOF(S)))

IF(I==S.RNO())

A++;

COUT<<"\NRECORD FOUND:";

S.OUTPUT();

}IF(A==0)

COUT<<"\NRECORD NOT FOUND";

F.CLOSE();

VOID EDITREC()

FSTREAM F("STU.DAT",IOS::IN|IOS::OUT|IOS::BINARY); //FIRST IOS IN, THEN OUT AS FILE WILL BE


TRUNCATE

STUDENT S;

IF(!F)
37 | P a g e
{

COUT<<"\NFILE DOES NOT EXIST";

GETCH();

RETURN;

INT A=0;

INT R;

COUT<<"\NENTER YOUR SEARCH";

CIN>>R;

WHILE(F.READ((CHAR*)&S,SIZEOF(S)))

IF(R==S.RNO())

A++;

COUT<<"\NRECORD FOUND:";

S.MODIFY();

F.SEEKG(F.TELLG()-SIZEOF(S));

F.WRITE((CHAR*)&S,SIZEOF(S));

}}

IF(A==0)

COUT<<"\NRECORD NOT FOUND";

F.CLOSE();

VOID DELREC()

FSTREAM F("STU.DAT",IOS::IN|IOS::OUT|IOS::BINARY); //FIRST IOS IN, THEN OUT AS FILE WILL BE


TRUNCATE

OFSTREAM F1("TEMP.DAT",IOS::OUT|IOS::BINARY);
38 | P a g e
STUDENT S;

IF(!F)

COUT<<"\NFILE DOES NOT EXIST";

GETCH();

RETURN;

INT A=0;

INT R;

COUT<<"\NENTER YOUR RECORD TO BE DELETED ";

CIN>>R;

WHILE(F.READ((CHAR*)&S,SIZEOF(S)))

IF(R!=S.RNO())

F1.WRITE((CHAR*)&S,SIZEOF(S));

ELSE A++;

IF(A==0)

COUT<<"\NRECORD NOT FOUND";

ELSE

COUT<<"\NRECORD FOUND";

F.CLOSE();

F1.CLOSE();

REMOVE("STU.DAT"); //STDIO.H

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

39 | P a g e
VOID APPEND()

OFSTREAM F("STU.DAT",IOS::APP|IOS::BINARY);

CHAR CH;

STUDENT S;

DO

S.INPUT();

F.WRITE((CHAR*)&S,SIZEOF(S));

COUT<<"\NDO YOU WISH ENTER MORE RECORDS";

CIN>>CH;

}WHILE(CH=='Y'||CH=='Y');

F.CLOSE();

VOID INSERTAT()

INT P=0;

FSTREAM F("STU.DAT",IOS::IN|IOS::BINARY);

OFSTREAM F1("TEMP.DAT",IOS::OUT|IOS::BINARY);

IF(!F)

COUT<<"\NFILE DOES NOT EXIST";

GETCH();

RETURN;

STUDENT S,X;

40 | P a g e
INT N,A=0;

COUT<<"\NINSERT POSITION WHERE YOU WISH TO INSERT NEW RECORDS";

CIN>>N;

WHILE(F.READ((CHAR*)&S,SIZEOF(S)) )

P++;

IF(P==N)

{ X.INPUT();

A++;

COUT<<"\NRECORD INSERTED";

F1.WRITE((CHAR*)&X,SIZEOF(X));

F1.WRITE((CHAR*)&S,SIZEOF(S));

IF(A==0)

COUT<<"\NRECORD FOUND";

F.CLOSE();

F1.CLOSE();

REMOVE("STU.DAT"); //STDIO.H

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

VOID SORT()

INT I=0,J=0,N=0;

IFSTREAM F("STU.DAT",IOS::IN|IOS::BINARY);

OFSTREAM F1("TEMP.DAT",IOS::OUT|IOS::BINARY);

IF(!F)

41 | P a g e
{

COUT<<"\NFILE DOES NOT EXIST";

GETCH();

RETURN ;

STUDENT S,TEMP,AR[50];

WHILE(F.READ((CHAR*)&S,SIZEOF(S)))

AR[N]=S;

N++;

FOR(I=0;I<N;I++)

FOR(J=0;J<N-I-1;J++)

IF(AR[J].RNO()>AR[J+1].RNO())

{ TEMP=AR[J];

AR[J]=AR[J+1];

AR[J+1]=TEMP;

}}}

FOR(I=0;I<N;I++)

F1.WRITE((CHAR*)&AR[I],SIZEOF(S));

F.CLOSE();

F1.CLOSE();

REMOVE("STU.DAT"); //STDIO.H

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

42 | P a g e
}

VOID STUDENT::INPUT()

COUT<<"ENTER THE ROLL.NO: ";

CIN>>R_NO;

COUT<<"\NENTER THE NAME: ";

GETS(NAME);

COUT<<"\NENTER THE CLASS AND SECTION: ";

GETS(CLASS);

COUT<<"\NENTER THE PERCENTAGE: ";

CIN>>PER;

VOID STUDENT::OUTPUT()

COUT<<"ROLL.NO: "<<R_NO;

COUT<<"\TNAME: "<<NAME;

COUT<<"\TCLASS AND SECTION: "<<CLASS;

COUT<<"\TPERCENTAGE: "<<PER<<ENDL;

VOID STUDENT::MODIFY()

{ CHAR CH;

COUT<<"DO YOU WISH TO CHANGE THE ROLL.NO: ";

CIN>>CH;

IF(CH=='Y'||CH=='Y')

{ COUT<<"ENTER NEW ROLL NO: ";

43 | P a g e
CIN>>R_NO;

COUT<<"DO YOU WISH TO CHANGE THE NAME: ";

CIN>>CH;

IF(CH=='Y'||CH=='Y')

COUT<<"ENTER NAME: ";

GETS(NAME);

COUT<<"DO YOU WISH TO CHANGE THE CLASS AND SECTION: ";

CIN>>CH;

IF(CH=='Y'||CH=='Y')

COUT<<"ENTER NEW CLASS AND SECTION: ";

GETS(CLASS);

COUT<<"DO YOU WISH TO CHANGE THE PERCENTAGE: ";

CIN>>CH;

IF(CH=='Y'||CH=='Y')

COUT<<"ENTER NEW PERCENTAGE: ";

CIN>>PER;

ARRAY
44 | P a g e
PROGRAM 17: 1 –D ARRAY
//CHECKING THE CONDITION OF ARRAY
#INCLUDE<IOSTREAM.H>

#INCLUDE<CONIO.H>

#INCLUDE<STRING.H>

#INCLUDE<CTYPE.H>

VOID FUNC(INT AR[],INT N) ;

VOID MAIN()

CLRSCR();

INT AR[10],I,N;

COUT<<" ENTER THE NUMBER OF ELEMENT";

CIN>>N;

FOR(I=0;I<N;I++)

{ COUT<<"ENTER THE ARRAY";

CIN>>AR[I];

FUNC(AR,N);

GETCH();

VOID FUNC(INT AR[],INT N)

INT I;

FOR (I=0;I<N;I++)

IF(AR[I]%7==0)

AR[I]/=7;

45 | P a g e
ELSE AR[I]*=3;

COUT<<AR[I]<<ENDL;

PROGRAM 18: 1-D ARRAY


46 | P a g e
//PROGRAM TO ENTER A STRING AND CONVERT IT INTO UPPER
CASE */

#INCLUDE<STRING.H>
#INCLUDE<STDIO.H>
VOID MAIN()
{
CHARSTR[20];
INT L , I ;
COUT<<”\N ENTER A STRING”;
GETS(STR);
L=STRLEN(STR);
FOR(I=0;I<L;I++)
{
STR[I]=TO UPPER(STR[I]);
}
COUT<<”\N MODIFIED STRING=”STR;
GETCH();
}

PROGRAM 19: SEARCHING

47 | P a g e
//PROGRAM TO IMPLEMENT LINEAR AND BINARY
SEARCH(SEARCHING OF ARRAY)

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

#include<stdlib.h>

void lsearch(int ar[],int n,int num )

clrscr();

int i ,f=0,j,n;

for(i=0;i<j;i++) {

if(a[i]==n)

{ f=1; break; }

if(f==1) cout<<"\n the number is found" ;

else cout<<"\n the number is not found";

getch();

void binary(int ar[],int n,int num)

{ int m,s=0,i=n-1;f=0;

while(s<=l) {

if(num==ar[m])

cout<<"\nelement found at position :"<<m+1;

f++; break; }

else if(ar[m]>num ) l=m-1;

else if(ar[m]<num ) s=m+1;

48 | P a g e
if(f==0) cout<<"\nelement not found ";

void main()

{clrscr();

int i ,a[30],f=0,j,num;

cout<<"enter the number up to which you want to enter"<<"\n";

cin>>j;

cout<<"enter the value"<<"\n";

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

{ cin>>a[i]; }

cout<<”\n enter the number u wish to search “;cin>>num;

int k; char ch;

do{

cout<<”\n 1.linear search \n2. binary search\n enter your choice “;

cin>>k;

switch(k){

case 1: lsaerch(a,j,num); break;

case 2: binary(a,j,num); break;

default : cout<<”\n invalid choice”;

cout<<”\n do u wish to goto menu again(y/n)”; cin>>ch;

} while(ch==’y’ || ch==’y’ );

getch();

PROGRAM 20: SORTING


49 | P a g e
//PROGRAM TO IMPLEMENT BUBBLE AND SELECTION
AND INSERTION SORTING(SORTING OF ARRAY)

#INCLUDE<IOSTREAM.H>

#INCLUDE<CONIO.H>

VOID BUBBLE(INT,INT []) ;

VOID DISPLAY(INT ,INT[]);

VOID MAIN()

{ CLRSCR();

INT N , A[10] , K ; CHAR CH;

COUT<<"ENTER THE NO OF ELEMENTS :\N"; CIN>>N;

DO{

COUT<<"\N 1.BUBBLE SORT\N 2.SELECTION SORT\N 3.INSERTION SORT \NENTER YOUR CHOICE";

CIN>>K;

SWITCH(K){

CASE 1: BUBBLE(N,A); BREAK;

CASE 2: SELECTION(N,A); BREAK;

CASE 3: INSERTION(N.A); BREAK;

DEFAULT: COUT<<"\N INVALID CHOICE;

COUT<<"\NDO U WISH TO GOTO MENU AGAIN(Y/N) "; CIN>>CH;

} WHILE(CH=='Y' ||CH=='Y' );

GETCH();}

VOID BUBBLE(INT N,INT A[])

{ INT J , K ;

FOR( I=0 ; I<N-1 ; I++ )

{ INT T=0;

FOR(J=0;J<N-I-1;J++)
50 | P a g e
{ IF( A[J] > A[J+1] )

{ T=A[J];

A[J]=A[J+1];

A[J+1]=T;

} }

DISPLAY(N,A);

}}

VOID DISPLAY(INT N,INT A[])

{ COUT<<"\NSORTED ARRAY :\N";

FOR(INT I=0;I<N;I++)

{ COUT<<A[I]<<"/T "; }

VOID SELECION(INT N,INT A[])

{ INT I , J , T ;

FOR(I=0;I<N-1;I++)

{ FOR(J=I+1;J<N;J++)

{ IF( A[I] > A[J] )

{ T = A[I];

A[I] = A[J];

A[J] = T;

DISPLAY(N,A);

VOID INSERTION(INT N,INT A[])

{ INT I , J , T ;

FOR(I=0;I<N;I++)

{ T=A[I];

51 | P a g e
FOR( J=I-1 ; J>=0 && A[J]>T ; J-- )

{ A[J+1]=A[J]; }

A[J+1]=T; }

DISPLAY(N,A);

PROGRAM 21:MERGE SORT


Merge Sort(ADA):

52 | P a g e
#include<iostream.h>
#include<conio.h>
voidfunc(int a[],int b[], int n1,int n2)
{
int c[20];
int i,a,b,c,n3;
for(a=0,b=n2-1,c=0; a<n1&&b>=0;)
{
if(a[a]<=b[b])
{
c[c++]=a[a++];
}
else
{
c[c++]=b[b--];
}
}
if(a<n1)
{
while(a<n1)
{
c[c++]=a[a++];
}
}
else if(b>=0)
{
while(b>=0)
{
c[c++]=b[b--];
}
}
n3=n1+n2;
for(i=0; i<n3; i++)
{
cout<<c[i]<<" ";
}
}
void main()
{
clrscr();
int i,n1,n2,a[10],b[10];
cout<<"\n enter the size of array1 - ";
cin>>n1;
cout<<"\n enter the size of array2 - ";
cin>>n2;
53 | P a g e
cout<<"\n enter the elements of array1 (ascending order)";
for(i=0; i<n1; i++)
{
cout<<"\n enter element - ";
cin>>a[i];
}
cout<<"\n enter the elements of array2 (descending order)";
for(i=0; i<n2; i++)
{
cout<<"\n enter element - ";
cin>>b[i];
}
func(a,b,n1,n2);
getch();
}

PROGRAM 22:INSERTION OF ELEMENT


//PROGRAM 2-D TO INSERT AND DELETE A NUMBER IN 2-D ARRAY
#include<iostream.h>

#include<conio.h>

54 | P a g e
void insertnum(int ar[],int n, int p,int num)

{ int i;

if(p>n) cout<<"\ninvalide position";

else

for(i=n-1;i>=p-1;i--)

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

ar[p-1]=num;

cout<<"\nmodified array = ";

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

{ cout<<ar[i]<<" "; }

getch();

void main()

{ clrscr();

int ar[10] , n , num , p , i ;

cout<<"\nenter the size of array : "; cin>>n;

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

{ cout<<"\nenter the array element : ";

cin>>ar[i]; }

cout<<"\noriginal array = ";

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

{ cout<<ar[i]<<" "; }

cout<<"\nenter the position where you want to insert the array : ";

cin>>p;

cout<<"\nenter the number : "; cin>>num;

do{

cout<<"\n 1.insertion of element\n 2.deletion of element \nenter your choice";

cin>>k;

55 | P a g e
switch(k){

case 1: insertnum(a,n,p,num); break;

case 2: del(a,n,p,num); break;

default: cout<<"\n invalid choice;

cout<<"\ndo u wish to goto menu again(y/n) "; cin>>ch;

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

void del( int a[] ; int n ; int p,int num)

{ int i,num;

if(p>n)

cout<<”\n cannot delete the element “;

else

{ p--;

for( i=p ; i<n ; i++ )

a[i]=a[i+1];

n--;

cout<<"\nmodified array = ";

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

{ cout<<ar[i]<<" "; }

getch();

PROGRAM 23:PROGRAMOF 2 D ARRAY


//TO PRINT THE TRANSPOSE OF A MATRIX */

void main()
{

56 | P a g e
intar[5][5],n,m,i,j,l;
cout<<"\n enter the size of rows and columns:";
cin>>n>>m;
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
{cout<<"\n enter the 2d array element";
cin>>ar[i][j];}}
cout<<"\n actual matrix \n";
for(i=0;i<n;i++)
{cout<<endl;
for(j=0;j<m;j++)
{cout<<ar[i][j]<<"\t";}}
cout<<"\n transpose of matrix";
for(i=0;i<m;i++)
{cout<<endl;
for(j=0;j<n;j++)
{cout<<ar[j][i]<<"\t";
}}
getch();}

PROGRAM 24: PROGRAM ON 2 D ARRAY


// PROGRAM FOR 2-D ARRAY ADDITION
#INCLUDE<IOSTREAM.H>

#INCLUDE<CONIO.H>

57 | P a g e
#INCLUDE<STDIO.H>

VOID MAIN()

CLRSCR();

INT I,J,R,C,D[100][100

],B[100][100],A[100][100];

COUT<<"ENTER THE NUMBER OF ROW"<<"\N";

CIN>>R;

COUT<<"ENTER THE NUMBER OF COLUMN"<<"\N"; CIN>>C;

IF(R==C) {

COUT<<"ENTER THE NUMBER OF ELLEMENTS OF FIRST ARRAY "<<"\N";

FOR(I=0;I<R;I++)

{ FOR(J=0;J<C;J++)

CIN>>A[I][J]; }

COUT<<"ENTER THE NUMBER OF ELLEMENTS OF SECOND ARRAY "<<"\N";

FOR(I=0;I<R;I++)

{ FOR(J=0;J<C;J++)

CIN>>B[I][J]; }

COUT<<"FIRST ARRAY IS"<<"\N";

FOR(I=0;I<R;I++)

{ FOR(J=0;J<C;J++)

COUT<<A[I][J]<<"\T";

COUT<<"\N";

COUT<<"SECOND ARRAY IS"<<"\N";

FOR(I=0;I<R;I++)

{ FOR(J=0;J<C;J++)

COUT<<B[I][J]<<"\T";

58 | P a g e
COUT<<"\N";

COUT<<"THE ADDITIONAL ARRAY IS "<<"\N";

FOR(I=0;I<R;I++)

FOR(J=0;J<R;J++)

D[I][J]=A[I][J]+B[I][J];

FOR(I=0;I<R;I++)

FOR(J=0;J<R;J++)

COUT<<D[I][J]<<"\T";

COUT<<"\N"; }

ELSE

COUT<<"R";

GETCH();

PROGRAM 25: PROGRAM RELATED TO


STRING

// PROGRAM TO ENTER A STRING AND CONVERT IT INTO


//UPPER CASE :
59 | P a g e
#include<string.h>
#include<stdio.h>
void main()
{
charstr[20];
int l , i ;
cout<<”\n enter a string”;
gets(str);
l=strlen(str);
for(i=0;i<l;i++)
{
str[i]=to upper(str[i]);
}
cout<<”\n modified string=”str;
getch();
}

PROGRAM 27: PROGRAM RELATED TO


STRING
//PROGRAM FOR PALINDROME STRING OF 2-D ARRAY

#INCLUDE<IOSTREAM.H>

#INCLUDE<CONIO.H>

#INCLUDE<STDIO.H>

#INCLUDE<STRING.H>
60 | P a g e
VOID MAIN()

{ CLRSCR();

INT I, J, N=1, LEN;

CHAR A[100];

COUT<<" ENTER THE STRING : ";

GETS(A);

LEN = STRLEN(A);

FOR( I=0 , J=LEN-1 ; J>I ; J-- , I++ )

{ IF(A[I]!=A[J])

{ N=0; BREAK; }

IF(N!=0)

COUT<<" YES.IT IS AN PALINDROME STRING ";

ELSE

COUT<<" NO.IT IS NOT AN PALINDROME STRING";

GETCH();

PROGRAM 28: PROGRAM RELATED TO


POINTERS
//POINTER AS ARRAY
#INCLUDE<IOSTREAM.H>

#INCLUDE<CONIO.H>

#INCLUDE<STRING.H>

#INCLUDE<STDIO.H>

VOID MAIN()

61 | P a g e
{ CLRSCR();

CHAR *S[]={"AJAY","ZEBRA","NAVEEN","PANKAJ"};

CHAR *TEMP;

FOR(INT I=0;I<4;I++)

FOR(INT J=0;J<4-I-1;I++)

{ IF(STRCMPI(S[J],S[J+1])>0)

{ TEMP=S[J];

S[J]=S[J+1];

S[J+1]=TEMP;

}}}

COUT<<"SHORTED ARRAY\N";

FOR(I=0;I<4;I++)

COUT<<S[I]<<" "; }

GETCH();

PROGRAM 29: PROGRAM RELATED TO


POINTERS
//USING THIS KEYWORD

62 | P a g e
PROGRAM 30:STATIC -STACK WITH CLASS
// STATIC STACK IMPLEMENTATION USING CLASS AND ARRAY
#INCLUDE<IOSTREAM.H>

#INCLUDE<CONIO.H>

CONST INT N=10;

CLASS STACK

{ INT NUM[N] , TOP;

PUBLIC:

STACK() { TOP=-1; }

VOID PUSH() {

IF(TOP== N-1 )
63 | P a g e
COUT<<"\NSTACK OVERFLOW"<<"\N";

ELSE

{ COUT<<"\NENTER ELEMENT : "<<"\T";

CIN>>NUM[++TOP]; }

VOID POP()

{ IF(TOP==N-1)

COUT<<"\NSTACK UNDERFLOW"<<"\N";

ELSE{

COUT<<"\NELEMINATED ELEMENT : "<<"\T";

COUT<<NUM[TOP]; TOP--; }

VOID DISP()

{ INT I;

IF(TOP==N-1)

COUT<<"\NSTACK IS EMPTY"<<"\N";

ELSE{

FOR(I=TOP;I>=0;I--)

COUT<<NUM[I]<<"\T";

} }

};

VOID MAIN()

{ CLRSCR();

STACK OB; INT CH; CHAR C;

DO{

COUT<<"\N1.PUSH\N2.POP\N3.DISPLAY";

COUT<<"\NENTER YOUR CHOICE : "<<"\T";

CIN>>CH;

64 | P a g e
SWITCH(CH) {

CASE 1 : OB.PUSH(); BREAK;

CASE 2 : OB.POP(); BREAK;

CASE 3 : OB.DISP(); BREAK;

DEFAULT : COUT<<"INVALID CHOICE ";

COUT<<"\NDO YOU WISH TO GOTO MENU AGAIN (Y/N) ";CIN>>C;

}WHILE(C=='Y'||C=='Y');

GETCH();

PROGRAM 31:STATIC -STACK WITHOUT


CLASS
FOR STATIC STACK IMPLEMENTATION WITHOUT
USING A CLASS

#INCLUDE<IOSTREAM.H>

#INCLUDE<CONIO.H>

CONST INT N=10;

INT STACK[N] , TOP=-1;

VOID PUSH() //TO INSERT ALL THE ELEMENTS IN STACK

65 | P a g e
{ IF(TOP== N-1 )

COUT<<"\NSTACK OVERFLOW"<<"\N";

ELSE

{ COUT<<"\NENTER ELEMENT : "<<"\T";

CIN>>NUM[++TOP]; }

VOID POP() //TO REMOVE ALL THE ELEMENTS FROM STACK

{ IF(TOP==N-1)

COUT<<"\NSTACK IS EMPTY OR STACK UNDERFLOW"<<"\N";

ELSE{

COUT<<"\NELEMINATED ELEMENT : "<<"\T";

COUT<<NUM[TOP]; TOP--; }

VOID PRINT() // TO PRINT ALL THE ELEMENTS OF STACK

{ INT I;

IF(TOP==N-1)

COUT<<"\NSTACK IS EMPTY"<<"\N";

ELSE{

FOR( I=TOP ; I>=0 ; I-- )

COUT<<NUM[I]<<"\T";

} }

};

VOID MAIN()

{ CLRSCR();

INT CH; CHAR C;

DO{

COUT<<"\N1.PUSH\N2.POP\N3.DISPLAY";

COUT<<"\NENTER YOUR CHOICE : "<<"\T";

66 | P a g e
CIN>>CH;

SWITCH(CH) {

CASE 1 : PUSH(); BREAK;

CASE 2 : POP(); BREAK;

CASE 3 : DISP(); BREAK;

DEFAULT : COUT<<"INVALID CHOICE ";

COUT<<"\NDO YOU WISH TO GOTO MENU AGAIN (Y/N) "; CIN>>C;

} WHILE( C=='Y' || C=='Y' ) ;

GETCH();

PROGRAM 32: STATIC -STACK WITH CLASS


FOR DYNAMIC STACK IMPLEMENTATION USING
CLASS AND ARRAY

#INCLUDE<IOSTREAM.H>

#INCLUDE<CONIO.H>

#INCLUDE<STDIO.H>

STRUCT NODE {

INT RNO; CHAR NAME[20];

NODE *LINK;

67 | P a g e
};

CLASS DSTACK

{ NODE *TOP;

PUBLIC:

DSTACK() { TOP=NULL; }

VOID PUSH() //TO INSERT RECORD

{ NODE *P=NEW NODE;

IF(P==NULL)

COUT<<"\NSTACK IS FULL";

GETCH();

RETURN;

COUT<<"\NENTER THE ROLL NUMBER OF THE STUDENT"<<"\N";

CIN>>P->RNO;

COUT<<"\NENTER THE NAME OF THE STUDENT";

COUT<<"\N";

GETS(P->NAME);

P->LINK=NULL;

IF(TOP==NULL)

TOP=P;

ELSE{

S=TOP;

TOP=P;

TOP->LINK=S;

68 | P a g e
VOID POP()

{ IF(TOP==NULL)

COUT<<"\NSTACK IS EMPTY";

GETCH(); RETURN;

COUT<<"\NRECORD TO BE DELETED : ";

COUT<<TOP->RNO<<" "<<TOP->NAME;

S=TOP;

TOP=TOP->LINK;

S->LINK=NULL;

DELETE S;

VOID PRINT()

IF(P==NULL)

{ COUT<<"\NSTACK IS FULL";

GETCH(); RETURN;

S=TOP;

WHILE(S!=NULL)

{ COUT<<S->RNO<<" "<<S->NAME<<"\N";

S=S->LINK;

VOID MAIN()

{ CLRSCR();

DSTACK OB;

69 | P a g e
INT CH; CHAR C;

DO

COUT<<"\N 1.PUSH\N 2.POP\N3.PRINT";

COUT<<"\NENTER YOUR CHOICE : "<<"\T"; CIN>>CH;

SWITCH(CH){

CASE 1 : OB.PUSH(); BREAK;

CASE 2 : OB.POP(); BREAK;

CASE 3 : OB.PRINT(); BREAK;

DEFAULT : COUT<<"INVALID CHOICE ";

COUT<<"\NDO YOU WISH TO GO TO MAIN MENU AGAIN PRESS Y "<<"\N";

CIN>>C;

}WHILE(C=='Y'||C=='Y');

GETCH();

PROGRAM 33: DYNAMIC-STACK WITHOUT


CLASS
//FOR DYNAMIC STACK IMPLEMENTATION WITHOUT
//USING CLASS
#INCLUDE<IOSTREAM.H>

#INCLUDE<CONIO.H>

#INCLUDE<STDIO.H>

STRUCT NODE {

INT RNO; CHAR NAME[20];

NODE *LINK;
70 | P a g e
};

NODE *TOP=NULL;

VOID PUSH() //TO INSERT RECORD

{ NODE *P=NEW NODE;

IF(P==NULL)

COUT<<"\NSTACK IS FULL";

GETCH();

RETURN;

COUT<<"\NENTER THE ROLL NUMBER OF THE STUDENT"<<"\N";

CIN>>P->RNO;

COUT<<"\NENTER THE NAME OF THE STUDENT";

COUT<<"\N";

GETS(P->NAME);

P->LINK=NULL;

IF(TOP==NULL)

TOP=P;

ELSE{

S=TOP;

TOP=P;

TOP->LINK=S;

VOID POP()

{ IF(TOP==NULL)

71 | P a g e
COUT<<"\NSTACK IS EMPTY";

GETCH(); RETURN;

COUT<<"\NRECORD TO BE DELETED : ";

COUT<<TOP->RNO<<" "<<TOP->NAME;

S=TOP;

TOP=TOP->LINK;

S->LINK=NULL;

DELETE S;

VOID PRINT()

IF(P==NULL)

{ COUT<<"\NSTACK IS FULL";

GETCH(); RETURN;

S=TOP;

WHILE(S!=NULL)

{ COUT<<S->RNO<<" "<<S->NAME<<"\N";

S=S->LINK;

VOID MAIN()

{ CLRSCR();

INT CH; CHAR C;

DO

COUT<<"\N 1.PUSH\N 2.POP\N 3.PRINT";

COUT<<"\NENTER YOUR CHOICE : "<<"\T"; CIN>>CH;

72 | P a g e
SWITCH(CH){

CASE 1 : PUSH(); BREAK;

CASE 2 : POP(); BREAK;

CASE 3 : PRINT(); BREAK;

DEFAULT : COUT<<"INVALID CHOICE ";

COUT<<"\NDO YOU WISH TO GO TO MAIN MENU AGAIN PRESS Y "<<"\N";

CIN>>C;

}WHILE(C=='Y'||C=='Y');

GETCH();

PROGRAM 34: STATIC -QUEUE WITH CLASS


//STATIC QUEUE USING CLASS
#INCLUDE<IOSTREAM.H>
#INCLUDE<CONIO.H>
#INCLUDE<STDIO.H>
#INCLUDE<STRING.H>
#INCLUDE<STDLIB.H>
#INCLUDE<PROCESS.H>
#DEFINE MAX 10
STRUCT STUDENT
{
INT ROL;CHAR NAME[20];INT AGE;
};
CLASS QUEUE
{
INT FRONT,REAR;
STUDENT AR[MAX];
PUBLIC:
QUEUE();

73 | P a g e
VOID POP();VOID PUSH();
VOID DISPLAY();
};
QUEUE::QUEUE()
{FRONT=REAR=-1;}
VOID QUEUE::PUSH()
{ STUDENT A;
IF(REAR==MAX-1)
COUT<<"\N QUEUE IS FULL OR OVER FLOW\N ";
ELSE
{
COUT<<"ENTER THE ROL " <<ENDL; CIN>>A.ROL;
COUT<<"ENTER THE NAME" <<ENDL; GETS(A.NAME) ;
COUT<<"ENTER THE PERCENTAGE " <<ENDL;CIN>>A.AGE;
COUT<<ENDL;
AR[++REAR]=A;
COUT<<"\N ELEMENT ADDED\N" ;
}
IF(FRONT==-1)
FRONT++;
}
VOID QUEUE::POP()
{
STUDENT VAL;
IF(REAR==-1)
COUT<<"\N UNDER FLOW \N";
ELSE
{
VAL=AR[FRONT];
IF(REAR==FRONT)
{ FRONT=REAR=-1; }
ELSE
FRONT++;
COUT<<"\N VALUE DELETED \N";
}
}

VOID QUEUE::DISPLAY()
{
IF(FRONT==-1)
COUT<<"\N EMPTY QUEUE\N";
ELSE
{
FOR(INT I=FRONT;I<=REAR;I++)
{
COUT<<"ROL NO. IS : "<<AR[I].ROL<<ENDL;
COUT<<"NAME IS : "<<AR[I].NAME<<ENDL;
COUT<<"PERCENTAGE IS : "<<AR[I].AGE<<ENDL;
}
}
VOID MAIN()
{

74 | P a g e
CLRSCR();
QUEUE A;
CHAR CH;INT S;
DO
{CLRSCR();
COUT<<"\N PRESS 1 FOR ENTER\N" ;
COUT<<"\N PRESS 2 FOR DELETION \N" ;
COUT<<"\N PRESS 3 FOR DISPLAY \N" ;
COUT<<"\N PRESS 4 FOR EXIT \N" ;
COUT<<"\N ENTER YOUR CHOICE \N";
CIN>>S;
COUT<<ENDL<<"**********"<<ENDL;
SWITCH(S)
{ CASE 1 : A.PUSH(); BREAK;
CASE 2 : A.POP(); BREAK;
CASE 3 : A.DISPLAY() ; BREAK;
CASE 4 : EXIT(0) ;
}
COUT<<" DO U WANT TO CONTINUE PRESS Y " ; CIN >> CH;
} WHILE(CH=='Y' || CH==’Y’ );
GETCH();
}

PROGRAM 35: STATIC -QUEUE WITHOUT


CLASS
//STATIC QUEUE WITHOUT USING CLASS
#INCLUDE<IOSTREAM.H>
#INCLUDE<CONIO.H>
#INCLUDE<STDIO.H>
#INCLUDE<STRING.H>
#INCLUDE<STDLIB.H>
#INCLUDE<PROCESS.H>
#DEFINE MAX 10
STRUCT STUDENT
{
INT ROL;
CHAR NAME[20];
INT AGE;
};

75 | P a g e
INT FRONT=-1,REAR=-1;
STUDENT AR[MAX];

VOID INSERTQ()
{ STUDENT A;
IF(REAR==MAX-1)
COUT<<"\N QUEUE IS FULL OR OVER FLOW\N ";
ELSE
{ COUT<<"\N ENTER THE ROLL NUMBER " <<ENDL; CIN>>A.ROL;
COUT<<"ENTER THE NAME" <<ENDL;GETS(A.NAME) ;
COUT<<"ENTER THE PERCENTAGE " <<ENDL;CIN>>A.AGE;
COUT<<ENDL; AR[++REAR]=A;
COUT<<"\N ELEMENT ADDED\N" ;
}
}
VOID DELQ()

{ STUDENT A;
IF(FRONT ==-1)
COUT<<"\N QUEUE IS EMPTY OR UNDER FLOW \N";
ELSE
{ A=AR[FRONT];
IF(REAR==FRONT)
{FRONT=REAR=-1; }
ELSE
FRONT++;
COUT<<"\N VALUE DELETED \N";
}
}
VOID PRINT ()
{
IF(FRONT==-1)
COUT<<"\N QUEUE IS EMPTY\N";
ELSE
{
FOR(INT I =FRONT; I <=REAR;I++)
{ COUT<<"ROLL NO. IS : "<<A[I].ROL<<ENDL;
COUT<<"NAME OF STUDENT IS : "<<A[I].NAME<<ENDL;
COUT<<"AGE IS : "<<A[I].AGE<<ENDL;
}
}
}
VOID MAIN()
{
CLRSCR();
QUEUE A;
CHAR CH;
INT S;
DO
{
CLRSCR();
COUT<<"\N PRESS 1 FOR ENTER\N" ;

76 | P a g e
COUT<<"\N PRESS 2 FOR DELETION \N" ;
COUT<<"\N PRESS 3 FOR DISPLAY \N" ;
COUT<<"\N PRESS 4 FOR EXIT \N" ;
COUT<<"\N ENTER YOUR CHOICE \N";
CIN>>S;
COUT<<ENDL<<"**********"<<ENDL;
SWITCH(S)
{ CASE 1 : A.INSERTQ(); BREAK;
CASE 2 : A.DELQ(); BREAK;
CASE 3 : A.PRINT() ;BREAK;
CASE 4 : EXIT(0) ;
}
COUT<<" DO U WISH TO CONTINUE PRESS (Y/N) " ;CIN >> CH;
}
WHILE(CH=='Y' || CH == ’Y’ );
GETCH();
}

PROGRAM 36: DYNAMIC -QUEUE WITH


CLASS
//DYNAMIC QUEUE USING CLASS
#INCLUDE<IOSTREAM.H>
#INCLUDE<CONIO.H>
#INCLUDE<STDIO.H>
#INCLUDE<STRING.H>
#INCLUDE<STDLIB.H>
#INCLUDE<PROCESS.H>
STRUCT NODE
{
INT RNO; CHAR NAME[20];
NODE *LINK;
};

CLASS QUEUE

77 | P a g e
{ NODE *REAR,*FRONT ;

PUBLIC:

QUEUE() { FRONT=NULL; REAR=NULL; }

VOID INSERTQ()

{ NODE *P= NEW NODE;

IF(P==NULL);

{ COUT<<”\NQUEUE IS FULL”; }

ELSE

COUT<<”\NENTER THE ROLL NUMBER AND NAME OF STUDENT “;

CIN>>P->RNO; GETS(P->NAME);

P->LINK=NULL;

IF (REAR ==NULL)

REAR=FRONT=P;

ELSE

{ REAR->LINK=P; REAR=P; }

VOID DELQ()

IF(FRONT==NULL)

COUT<<”\N QUEUE IS EMPTY “;

ELSE

COUT<<”\NRECORD TO BE DELETED :”<<FRONT->RNO<<” \T”<<FRONT->NAME;

NODE *S=FRONT;
78 | P a g e
IF(FRONT==RAER)

FRONT=REAR=NULL;

ELSE

{ FRONT=FRONT->LINK;

S-.LINK=NULL;

DELETE S;

VOID PRINT()

{ IF(REAR==NULL)

COUT<<”\NQUEUE IS EMPTY “;

ELSE

{ NODE *S=FRONT;

WHILE (S!=NULL)

{ COUT<< S->RNO << ” \T ” << S->NAME << ENDL;

S =S - > LINK ;

VOID MAIN()
{
CLRSCR();
QUEUE A;
CHAR CH;
INT S;
DO
{
CLRSCR();
COUT<<"\N PRESS 1 FOR ENTER\N" ;
COUT<<"\N PRESS 2 FOR DELETION \N" ;
COUT<<"\N PRESS 3 FOR DISPLAY \N" ;
COUT<<"\N PRESS 4 FOR EXIT \N" ;
COUT<<"\N ENTER YOUR CHOICE \N";
79 | P a g e
CIN>>S;
COUT<<ENDL<<"**********"<<ENDL;
SWITCH(S)
{ CASE 1 : A.INSERTQ(); BREAK;
CASE 2 : A.DELQ(); BREAK;
CASE 3 : A.PRINT() ;BREAK;
CASE 4 : EXIT(0) ;
}
COUT<<" DO U WISH TO CONTINUE PRESS (Y/N) " ;CIN >> CH;
}
WHILE(CH=='Y' || CH == ’Y’ );
GETCH();
}

PROGRAM 37: DYNAMIC-QUEUE WITHOUT


CLASS
//DYNAMIC IMPLEMENTATION OF QUEUE WITHOUT
CLASS
#INCLUDE<FSTREAM.H>

#INCLUDE<CONIO.H>

#INCLUDE<STRING.H>

#INCLUDE<STDIO.H>

# DEFINE N 10

STRUCT NODE{

INT RNO;
80 | P a g e
CHAR NAME[29];

NODE *LINK;

};

INT QUEUE[N];

INT FRONT;

INT REAR;

FRONT=REAR=-1;

VOID INSERTQ()

IF(REAR==N-1)

COUT<<"\N QUEUE IS FULL";

ELSE

IF(REAR==-1)

FRONT=REAR=0;

ELSE REAR++;

COUT<<"\N ENTER THE ELEMENT TO BE INSERTED";

CIN>>QUEUE[REAR];

VOID DELQ()

IF(FRONT==-1)

COUT<<"\N QUEUE IS EMPTY";

81 | P a g e
}

ELSE

COUT<<"\N THE ELEMENT TO BE REMOVED FROM QUEUE:"<<QUEUE[FRONT];

IF(FRONT==REAR)

FRONT=REAR=-1; }

ELSE FRONT++;

}}

VOID PRINT()

IF(FRONT==-1)

COUT<<"QUEUE IS EMPTY";

ELSE

COUT<<"\N QUEUE ELEMENT";

COUT<<"\N FRONT>>>";

FOR(INT I=FRONT;I<=REAR;I++)

COUT<<"\T"<<QUEUE[I];

COUT<<"\T<<<REAR";

VOID MAIN()

82 | P a g e
CLRSCR();

INT CH;

CHAR C;

DO{

COUT<<"\N 1 -> INSERT"<<ENDL;

COUT<<"\N 2 -> DELETE"<<ENDL;

COUT<<"\N 3 -> PRINT"<<ENDL;

COUT<<"\N ENTER YOUR CHOICE";

CIN>>CH;

SWITCH(CH)

CASE 1 :INSERTQ();BREAK;

CASE 2 :DELQ();BREAK;

CASE 3 :PRINT();BREAK;

DEFAULT :COUT<<"\N INVALID CHOICE";

}COUT<<"DO U WISH TO GO TO MAIN MENUAGAIN(Y\N)";

CIN>>C;

} WHILE(C=='Y');

GETCH();

83 | P a g e
Structured Query language

84 | P a g e
85 | P a g e

Вам также может понравиться