Write a program to enter the id and price of a number of products, store them all in a user defined file, and search the product when particular id is entered.

Sep 22, 2018

Program Source Code:

#include<iostream>
// for file operations
#include<fstream>

// defining macro for global file name
// though better to make member of class Product
// and initialize using constructor
#define file_name "products.txt"

using namespace std;
class Product{
	private:
		int id;
		float price;
	public:
		void read_data(){
			cout<<"Enter ID:"<<endl;
			cin>>id;
			cout<<"Enter Price:"<<endl;
			cin>>price;
		}
		void write_to_file(){
			Product prod;
			ofstream file(file_name,ios::app);
			prod.read_data();
			file.write(reinterpret_cast(&prod), sizeof(prod));
		}
		void read_from_file(){
			Product prod;
			ifstream file(file_name);
			while(!file.eof()){
				if (file.read(reinterpret_cast<char*>(&prod), sizeof(prod))){
					prod.show_data();
				}
			}	
		}
		void show_data(){
			cout<<"ID : "<<id<<endl;
			cout<<"Price : "<<price<<endl;
		}
		void search_record(){
			Product prod;
			int search_id;
			cout<<"Enter the ID to search :"<<endl;
			cin>>search_id;
			ifstream file(file_name);
			for (int i = 0; !file.eof(); i++)
			{
				file.seekg(i * sizeof(prod));
				file.read(reinterpret_cast(&prod), sizeof(prod));
				if (prod.id == search_id )
				{
					cout<<"#### Your search information ####"<<endl;
					prod.show_data();
					break;
				}
			}
		}
};


int main(){
	int record_number;
	cout<<"Enter Record Number :"<<endl;
	cin>>record_number;
	Product product;
	for (int i = 0; i < record_number; i++)
	{
		product.write_to_file();
	}
	product.search_record();
	return 0;
}

 

Sample Run:

Enter Record Number :
7
Enter ID:
123
Enter Price:
2000
Enter ID:
124
Enter Price:
3000
Enter ID:
4444
Enter Price:
200000
Enter ID:
6767
Enter Price:
900000
Enter ID:
4545
Enter Price:
64646
Enter ID:
67777
Enter Price:
464646
Enter ID:
787878
Enter Price:
353535
Enter the ID to search :
6767
#### Your search information ####
ID : 6767
Price : 900000

 

Note: file name can be made as entered by the user; to do so make file name, a data member of the class and initialize it through constructor. Please refer previous programs on file handling to achieve the mechanism.

Related


16 Default arguments in C++
Date: Sep 2, 2018
17 Friend Function, Friend class
Date: Sep 4, 2018
18 What are friend functions ? Is it possible for a function to be friend of two classes ? If yes then how is it implemented in C++. Explain with suitable example. ---PU-2016 (New Course)
Date: Sep 10, 2018
19 Write an OOP to add two complex numbers using passing objects as arguments. ---PU_2015
Date: Sep 10, 2018
20 Write a Program to add two complex numbers using friend function. ----PU_2015
Date: Sep 10, 2018
21 What are constructors and destructors ? Write a Object Oriented Program to display Fibonacci series (Use constructor for initialization) ----PU-2014
Date: Sep 15, 2018
22 Write a OOP to create a class named "Time" with data members 'hour' and 'minute' a constructor to initialize............. ---PU-2011
Date: Sep 15, 2018
23 What is "this" pointer ? Illustrate with example.
Date: Sep 15, 2018
24 Write a program to create class “Counter” having integer data member, overload the post increment, post decrement, pre increment and pre decrement for the class “Counter”.
Date: Sep 15, 2018
25 Write a Program to overload the unary minus operator using friend function.
Date: Sep 15, 2018
26 Write a OOP to overload "==" operator to determine the equality of two fractional numbers (fractional numbers must be in terms of numerator and denominator)
Date: Sep 15, 2018
27 Write a program to create classes “Dollar” and “Rupee”. Write conversion routine to convert dollar to rupee (1 dollar = 108 rupees).
Date: Sep 15, 2018
28 Write a Program to convert angle in degree to angle in radian. where, angle in radian = angle in degree * PI/180. Use Conversion routine in source class.
Date: Sep 15, 2018
29 Write a program which asks file name from keyboard, opens a file with that name for output, reads the line from keyboard character by character and writes the line onto the file.
Date: Sep 22, 2018
30 WAP to to read the text from the file named "hello.txt" to the file name called "test.txt".
Date: Sep 22, 2018

Tools/Apps





© Nepal Exchange Rates