Table of Contents
Important Questions for Class 12 Computer Science – Data File Handling
Question 1:
Find the output of the following C++ code considering that the binary file CLIENTS.DAT exists on the hard disk with a data of 200 clients: All India 2017
class CLIENTS { int CCode;char CName[20]; public: void REGISTER(); void DISPLAY(); }: void main() ( fstream File; File.open("CLIENTS.DAT",ios::binary|ios::in); CLIENTS C; File.seekg(6*sizeof(C)); File.read!(char*)&C, sizeof(C)): cout<<"Client Number:"<<File.tellg()/sizeof(C)+1; File.seekg(0,ios::end); cout«"of"<<File.tellg()/sizeof(C)<<endl; File.close(); }
Answer:
Output
Client Number:8 of 200
Question 2:
Find the output of the following C++ code considering that the binary file MEM.DAT exists on the hard disk with a data of 1000 members: Delhi 2016
class MEMBER { int Mcode;char MName[20]; public: void Register();void Display(); }; void main() { fstream MFile; MFile.openCMEM.DAT", ios ::binary| ios :: in); . MEMBER M; MFile.read((char*) &M. sizeof(M)); cout<<"Rec :"<<MFile.tellg()/sizeof(M)<< endl; MFile.read!(char*) &M, sizeof(M)); MFile.read((char*) &M, sizeof(M)); cout<<"Rec :"<<MFile.tellg()/sizeof(M)<<endl; MFile. close(); }
Answer:
Output
Rec : 1 Rec : 3
Question 3:
Find the output of the following C++ code considering that the binary file CLIENT.DAT exists on the hard disk with a data of 1000 clients: All India 2016
class CLIENT { int Ccode; char CName[20]; public: void Register(); void Display(): }; void main() { fstream CFile; CFile.open("CLIENT.DAT",ios::binary|ios::in); CLIENT C; CFile.read((char*)&C, sizeof(C)); cout<<"Rec: "<<CFile.tel 1 g()/sizeof (C)<<endl; CFile.read((char*)&C, sizeof(C)); CFile.read((char*)&C, sizeof(C)): cout<<"Rec:"<<CFile.tellg()/sizeof(C)<<endl; CFile.close(): }
Answer:
Output
Rec: 1 Rec: 3
Question 4:
Find the output of the following C++ code considering that the binary file CLIENT.DAT exists on the hard disk with records of 100 members. Delhi 2016
class CLIENTS { int Cno; char Name[20]; public: void In(); void Out(); }: void main() { fstream CF; CF.open("CLIENTS.DAT", ios::binary|ios: :in); CLIENTS C; CF.read((char*)&C,sizeof(C)); CF.read((char*)&C,sizeof(C)); CF.read((char*)&C,sizeof(C)); int POS=CF.tellg()/sizeof(C); cout<<"PRESENT RECORD: "<<P0S<<endl; CF.close(); }
Answer:
Output
PRESENT RECORD:3
Question 5:
Find the output of the following C++ code considering that the binary file MEMBER.DAT exists on the hard disk with records of 100 members. All India 2015
class MEMBER { int Mno; char Name[20]; public: void In(); void Out(); }; void main() { fstream MF; MF.openC"MEMBER.DAT", ios::binary|ios::in); MEMBER M; MF.read((char*)&M. sizeof(M)); MF.read((char*)&M, sizeof(M)); MF.read((char*)&M, sizeof(M)); int P0SITI0N=MF.tel1g()/sizeof(M); cout<<”PRESENT RECORD: ”<<P0SITI0N<<endl ; MF.close(); }
Answer:
Output
PRESENT RECORD:3
Question 6:
Find the output of the following C++ code considering that the binary file GAME. DAT exist on the hard disk with information of around 200 games. All India 2015 c
class GAME { int Gno; char GName[20]; public: void Getln(); void ShowName(); }; void main() { fstream GF; GF.open("GAME.DAT",ios::binary | ios::in); GAME G; GF.seekg(sizeof(G)*5) ; GF.read((char*)&G, sizeof(G)): GF.readC(char*)&G, sizeof(G)); int REC0RDN0=GF.tel 1g()/sizeof(G); cout<<"REC0RDN0: "<<REC0RDN0<<endl; GF.close(); }
Answer:
Output
REC0RDN0:7
Question 7:
Fill in the blanks marked as Statement 1 and Statement 2 in the program segment given below with appropriate functions for the required task. Delhi 2014
class Medical { int RNo; //Representative Code char Name[20]; //Representative Name char Mobile[12]; //Representative Mobile public: void Input(); //Function to enter all details void Show(); //Function to display all details int RRno() { return RNo; } void ChangeMobile() //Function to change Mobile { cout<<”Changed Mobile:"; gets(Mobile); } }; void RepUpdate() { fstream F; F.open("REP.DAT", ios::binary|ios::in|ios::out); int Change=0; int URno; cout<<"Rno(Rep No-to update Mobile):"; cin>>URno; Medical M; while(!Change && F.read((char*)&M,sizeof(M))) { if(M.RRno() == URno) { //Statement l:To call the function to change Mobile No. ____________________________________; //Statement 2:To reposition file pointer to re-write //The updated object back in the file ____________________________________; F.write!(char*)&M,sizeof(M)); Change++; } } if(Change) cout<<"Mobile Changed for Rep"<<URno<<endl; else cout<<"Rep not in the Medical "<<endl; F.close(); }
Answer:
Statement 1
M.ChangeMobile()
Statement 2
F.seekp(-l*sizeof(M),ios::cur)
Question 8:
Fill in the blanks marked as Statement 1 and Statement 2 in the program segment given below with appropriate functions for the required task. All India 2014
class Agency { int ANo; //Agent code char AName[20]; //Agent name char Mobile[30]; //Agent mobile public: void Enter(); //Function to enter details of agent void Disp(); //Function to display details of agent int RAno() {return ANo; } void UpdateMobileO //Function to update Mobile { cout<<"Updated Mobile:"; gets(Mobile); } }; void AgentUpdateC) { fstream F; F.open("AGENT.DAT",ios::binary|ios::in|ios::out); int Updt=0; int UAno; cout<<"Ano (Agent No-to update Mobile):"; cin>>UAno; Agency A; whileUUpdt && F.read((char*)&A,sizeof(A))) { if (A.RAnoO == UAno) { //Statement 1:To call the function to Update Mobile No. ____________________________________; //Statement 2:To reposition file pointer to re-write //The updated object back in the file ___________________________________; F.write((char*)&A,sizeof(A)); Updt++; } } if(Updt) cout<<"Mobile Updated for Agent"<<UAno<<endl; else , cout<<"Agent not in the Agency"<<endl; F.close(); }
Answer:
Statement 1
A.UpdateMobile()
Statement 2
F.seekpC-l*sizeof(A),ios::cur)
Question 9:
Fill in the blanks.marked as Statement 1 and Statement 2 in the program segment given below with appropriate functions for the required task. All India 2013
class Club { long int MNo; //Member number char MName[20]; //Member name char Email[30]; //Email of member public: void Register(); //Function to register member void Disp(); //Function to display details void ChangeEmail() //Function to change Email { cout<<"Enter Changed Email:"; cin>>Email; } long int GetMno() { return MNo; } }; void ModifyData() { fstream File; File.open("CLUB.DAT",ios::binary|ios::in|ios::out); int Modify = 0, Position; long int ModiMno; cout<<MMno-whose email required to be modified:"; cin>>ModiMno; Club CL; whi1e(!Modify&&Fi1e.read((char*)&CL,sizeof(CL))) { if(CL.GetMno() == ModiMno) { CL.ChangeEmail(); Position = File.tellgO-sizeof(CL); //Statement 1:To place file pointer to the required position ____________________________________; //Statement 2:To write the object CL onto the binary file ____________________________________; Modify++; } } if(Modify) cout<<"Email Changed..."<<endl; else cout<<"Member not found.. ."<<endl; File.close(); }
Answer:
Statement 1
File.seekp(Position)
Statement 2
File.write((char*)&CL,sizeof(CL))
Question 10:
Fill in the blanks marked as Statement 1 and Statement 2 in the program segment given below with appropriate functions for the required task. Delhi 2013
class Customer { long int CNo; //Customer number char CName[20]; //Customer name char Email[30]; //Email of customer public: void Allocate(); //Function to allocate member void Show(); //Function to show customer data void ModifyEmail() //Function to modify Email { cout<<Enter Modified Email:"; gets(Email); } long int GetCno() { return CNo; } }; void ChangeData() { fstream File; File.open("CUST.DAT", ios::binary|ios::in|ios::out); int Change = 0, Location; long int ChangeCno; cout<<"Cno-whose Email required to be modified:"; cin>>ChangeCno; Customer CU; while(!Change && File.read((char*)&CU,sizeof(CU))) { if(CU.GetCno() = ChangeCno) { CU.ModifyEmai1(); Location = File.tellg()==sizeof(CU); //Statement 1:To place file pointer to the required position ______________________________; //Statement 2:To write the object CU on to the binary file ______________________________; Change++; } } if(Change) cout<<”Email Modified..."<<endl; else cout<<"Customer not found..."<<endl; File.close(); }
Answer:
Statement 1
File.seekp(Location)
Statement 2
File.write((char*)&CU,sizeof(CU))
Question 11:
Fill in the blanks marked as Statement 1 and Statement 2 in the program segment given below with appropriate functions for the required task. Delhi 2013C
class Agent { long ACode; //Agent Code char AName [20]; //Agent Name int Commission; public: void Enter(); //Function to enter details of Agent void Display(); //Function to display details of Agent void Update(int C) //Function to modify commission { Commission = C; } int GetCommO {return Commission;} long GetAcodeO {return ACode;} }; void ChangeCommissiondong AC, int CM) //AC -> Agent Code, whose commission needs to change //CM -> New commission { fstream F; F.open("AGENT.DAT",ios::binary|ios::in|ios::out); char Changed = ' N'; Agent A; while(Changed == 'N' && F.read((char*)&A,sizeof(A))) { if(A.GetAcode()==AC) { Changed = 'Y’; A.Update(CM); //Statement l:To place file pointer to the required position ___________________________________; //Statement 2:To write the object A onto the binary file ___________________________________; } } if(Changed=='N') cout <<"Agent not registered..."; F.close (); }
Answer:
Statement 1
F.seekp(-1*sizeof(A),ios::cur)
Statement 2
F.write((char*)&A,sizeof(A))
Question 12:
Fill in the blanks marked as Statement 1 and Statement 2 in the program segment given below with appropriate functions for the required task. Delhi 2012C
#include<fstream.h> class Movie { long MNo; //Movie Hall Number char MName[20]; //Movie Name int Seats; //Number of Vacant Seats public: void MovieIn(); void MovieOut(); void Booking(int N) //Function to Book Seats { Seats _=N; } int RSeats() { return Seats; } long RMno() { return MNo; } }; void BookMySeat(long MH,int S) //MH stands for Hall Number //S stands for Number of Tickets to purchase { fstream File; File.open("M0VIE.DAT", ios::binary|ios::in|ios::out); int Found = 0, Booked = 0, Rec; Movie M; whileUFound && File.read((char*)&M,sizeof(M))) { if(M.RMnoC)==MH) { Found = 1; if((M.RSeats()-S)> 0) { M.Booking(S); Booked = 1; } else cout<<"House Full"; } } if(Found && Booked) Rec = File.tellg()-sizeof(M); //Statement 1 : To place file pointer to the required position ______________________; //Statement 2 : To write the object M on to the binary file ______________________; } if(! Found) cout<<"No updation done as Hall not found."; File.close(); }
Answer:
Statement 1
File.seekpCRec,ios: :beg)
Statement 2
File.write((char*)&M,sizeof(M))
Question 13:
Observe the program segment given below carefully and answer the questions that follow: All India 2012
class Stock { int Ino.Qty; char Item[20]; public: void Enter() { cin>>Ino; gets(Item): cin>>Qty; } void Issue(int Q) (Qty += Q;} void Purchase(int Q) (Qty-= Q;) int GetlnoO {return Ino;} }; void Purchaseltem(int Pino,int PQty) { fstream File; File.open("STOCK.DAT", ios::binary|ios::in|ios::out); Stock S; int Success = 0; while(Success == 0 && File.read((char*)&S,sizeof(S))) { if (Pino == S.Getlno()) { S.Purchase(PQty); ____________ //Statement 1 ____________//Statement 2 Success++; } } if(Success == 1) cout<<"Purchase Updated"<<endl; else cout<<"Wrong item No."<<endl; File.closeO; }
(i) Write Statement 1 to position the file pointer to the appropriate place, so that the data updation is done for the required item.
(ii) Write Statement 2 to perform the write operation, so that updation is done in the binary file.
Answer:
Statement 1
File.seekp(-1*sizeof(S),ios::cur);
Statement 2
File.write((char*)&S,sizeof(S));
Question 14:
Observe the program segment given below carefully and answer the questions that follow: Delhi 2012
class Inventory { int Ano, Qty; char Article[20]; public: void Input!() { cin>>Ano; gets(Article); cin>>Qty; } void Issue(int Q)HQty 4= Q;) void Procure(int Q) (Qty -= Q;) int GetAno()(return Ano:) }; void ProcureArticle(int TAno, int TQty) { fstream File; File.open("ST0CK.DAT", ios::binary|ios::in|ios::out); Inventory I; int Found = 0; while(Found == 0 && File.read((char*)&I.sizeof(I))) { if (TAno == I.GetAno()) { I.Procure(TQty); __________________ //Statement 1 __________________ //Statement 2 Found++; } if (Found == 1) cout<<"Procurement Updated"<<endl; else cout<<"Wrong Article No"<<endl; File.close(); } }
(i) Write Statement 1 to position the file pointer to the appropriate place, so that the data updation is done for the required Article.
(ii) Write Statement 2 to perform the write operation, so that the updation is done in the binary file.
Answer:
Statement 1
File.seekp(-1*sizeof(I),ios::cur);
Statement 2
File.write((char*)&I,sizeof(I));
Question 15:
Observe the program segment given below carefully and fill in the blanks marked as Statement 1 and Statement 2 using seekg() or seekp() or tellg() or tellp() functions for performing the required task. Delhi 2011
#include<fstream.h> class product { int pno;char pname[20];int qty; public: void modifyqty(); //Function is to modify quantity of product }; void product::modifyqty() { fstream fil; file.open("product.dat",ios::binary|ios::in|ios::out); int mpno; cout<<”product number to modify quantity cin>>mpno; while(fil.read((char*)this.sizeof(product))) { if(mpno == pno) { cout<<"present quantity:"<<qty<<endl; cout<<"changed quantity:"; cin>>qty; int position =__________; //Statement 1 ___________________; //Statement 2 fil.writet(char*)this,sizeof(product)); } } fil.close(); }
Answer:
Statement 1
fil.tellg( )-sizeof(product)
Statement 2
fil.seekp(Position) or fil.seekp(-1*sizeof(product),ios::cur)
Question 16:
Observe the program segment given below carefully and fill in the blanks marked as
Statement 1 and Statement 2. You can use any function from seekg(), seekp(), tellp() and tellg() for performing the required task. Delhi 2011C
#include<fstream.h> class Country { int Code; char Name[20]; int Population; public: //Function to search and display the content from a particular record number void SearchFor(int); //Function to modify the content of a particular record number void Update(int); }; void Country::SearchFor(int Record) { Country C; fstream File; File.open("COUNTRY.DAT",ios::binary|ios::in); File.read((char*)&C,sizeof(C)); _________ //Statement1 cout<<C.Code<<"==>"<<C.Name<<"==>"<<C.Population<<endl; File.closet(); } void Country::Update(int Record) { Country C; fstream File; Fi le.open("COUNTRY.DAT",ios::binary |ios::in|ios::out); cin>>C.Code; cin.getline(C.Name,20); cin>>C.Population; _________ //Statement 2 File.write((char*)&C,sizeof(C)); File.closet(); } }
Answer:
Statement 1
if(C.Code == Record);
Statement 2
File.seekp(-1*sizeof (C), ios:: cur);
Question 17:
Observe the program segment given below carefully and fill in the blanks marked as Statement 1 and Statement 2 using seekg(), seekp(), tellp() and tellg() functions for performing the required task. All India 2011
#include<fstream.h> class ITEM { int Ino; char Iname[20]; float Price; public: void ModifyPrice(); //The function to modify price of a particular ITEM }; void ITEM::ModifyPrice() { fstream File; File. open("ITEM.DAT",ios::binary|ios::in|ios::out); int Cino; cout<<"Item No to modify price:"; cin>>Cino; while(File.read((char*)this,sizeof(ITEM))) { if(Cino == Ino) { cout<<"Present Price:"<<Price<<endl; cout<<"Changed Price:"; cin>>Price; int FilePos =___________; //Statement 1 __________________; //Statement 2 File.write((char*)this,sizeof(ITEM)); //Re-writing the record } } File.close(); }
Answer:
Statement 1
File.tellg()-sizeof (ITEM)
Statement 2
File.seekp(FilePos,ios::beg) or File.seekp(-1*sizeof(ITEM),ios::cur)
Question 18:
Observe the program given below carefully and fill in the blanks marked as Statement 1 and Statement 2 using tellg() and seekp() functions for performing the required task. All India 2010
#include<fstream.h> class Customer { long Cno; char Name[20], Mobi1e[12]; public: //function to allow user to enter the Cno, Name , Mobile void Enter(); //function to allow user to enter (modify) Mobile number void Modify(); //function to return value of Cno long GetCno() {return Cno;} }; void ChangeMobile() { Customer C; fstream F; F.open("CONTACT.DAT". ios::binary|ios::in|ios::out); long Cnoc; //Customer number whose mobile number needs to be changed cin>>Cnoc; while(F.read((char*)&C,sizeof(C))) { if(Cnoc == C.GetCno()) C.Modify(); //Statement 1 to find the current position of file pointer int Pos = _________________ //Statement 2 to move the file pointer to write the //modified record back onto the file for desired Cnoc F.write((char*)&C,sizeof(C)); } F.close(); }
Answer:
Statement 1
F.tellg():
Statement 2
F.seekp(Pos-sizeof(C),ios::beg): or F.seekp(-1*sizeof(C),ios::cur);
Question 19:
Observe the program segment given below carefully and fill in the blanks marked as Statement 1 and Statement 2 using tellg() and seekp() functions for performing the required task. Delhi 2010
#include<fstream.h> class Client { long Cno; char Name[20], Email[30]; public: void Enter(); //Function to allow user to enter the Cno.Name,Email void ModifyO; //Function to allow user to enter(modify) Email long ReturnCnoO (return Cno;} }; void ChangeEmail () { Client C; fstream F; F.open("INF0.DAT",ios::binary|ios::in|ios::out); long Cnoc; //Client’s number whose Email needs to be changed cin>>Cnoc; while(F.read((char*)&C,sizeof(C))) { if(Cnoc == C.ReturnCno()) { C.Modify(); //Statement 1 to find the current position of file pointer int Pos = ______________ //Statement 2 to move the file pointer to write the //modified record back onto the file for the desired Cnoc ______________ F.write((char*)&C,sizeof(C)); } } F.close(); }
Answer:
Statement 1
F.tellg():
Statement 2
F.seekp(Pos-sizeof(C),ios::beg); or F.seekp(-1*sizeof(C) ,ios: :cur);
Discover more from EduGrown School
Subscribe to get the latest posts sent to your email.