Archive

Posts Tagged ‘ifstream’

C++ Program to implement File Handling with Command Line Arguments – Q31

January 31, 2010 Leave a comment

Q31. Program to implement File Handling with Command Line Arguments:

Copy the contents of an existing file to a new file the names of which are taken as command line arguments. The program should handle errors if the given first file name does not already exist.

… from College notes (BCA/MCA assignments):

#include <iostream.h>
#include <stdlib.h>
#include <fstream.h>
#include <string.h>
#include <conio.h>

void main(int argc, char *argv[]){
	char src[12], dest[12];
	char buff[1000];
	int len;
	clrscr();

	if(argc > 3){
		cout<<"\n Illegal Number of Arguments."<<endl;
		exit(1);
		}
	else if(argc == 2){
		cout<<"\n Enter the Destination File."<<endl;
		cin>>dest;
		}
	else if(argc == 1){
		cout<<"\n Enter Source and Destination File."<<endl;
		cin>>src;
		cin>>dest;
		}
	else{
		strcpy(src, argv[1]);
		strcpy(dest, argv[2]);
		}

	ifstream fin;
	fin.open(src, ios::in);

	if(!fin){
		cerr<<"\n File Does not Exist.";
		getch();
		exit(1);
		}
	fin.read((char*)&buff, sizeof(buff));
	fin.close();

	len = strlen(buff) - 1;

	ofstream fout;
	fout.open(dest, ios::out);
	fout.write((char*)&buff, len);
	fout.close();

	cout<<"\n File copied Successfully.";

	getch();
	}

 

Output:

C:\TC\MANOJ>31_FH.exe man.txt abc.txt

File Copied Successfully.


C++ Program to implement File Handling by using ifstream & ofstream (Prg-2) – Q30

January 30, 2010 Leave a comment

Q30. Program to implement Function Overloading:

Write a paragraph (Atleast 2 lines of sentences) in a file. Read the same file in three different ways –
  i) Reverse the whole paragraph.
 ii) Line by Line Reverse the whole para.
iii) Break the pragraph int two equal halves. Reverse the second half of the pargaraph.

… from College notes (BCA/MCA assignments):

#include <string.h>
#include <fstream.h>
#include <conio.h>

void main(){
	char para[500], ln[80];
	int len, i, half;
	clrscr();

	cout<<"\n Enter a Paragraph (Quit by ^Z):-";
	cout<<"\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
	cin.getline(para, 500, '^Z');
	len = strlen(para);

	ofstream fout;
	fout.open("para.txt", ios::out);
	fout.write((char *) &para, len);
	fout.close();

	ifstream fin;
	cout<<"\n Reverse the Whole Paragraph:-";
	cout<<"\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~";
	fin.open("para.txt", ios::in);
	fin.read((char *) &para, sizeof(para));
	len = strlen(para);
	for(i=len; i>=0; i--)
		cout<<para[i];
	fin.close();
	getch();

	cout<<"\n Line by line Reverse the Whole Paragraph:-";
	cout<<"\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
	fin.open("para.txt", ios::in);
	while(fin){
		fin.getline(ln, 80);
		len = strlen(ln);
		for(i=len; i>=0; i--)
			cout<<ln[i];
		cout<<endl;
		}
	fin.close();
	getch();

	cout<<"\n Breaking The Para Into 2 halves and Reversing the 2nd Para:-";
	cout<<"\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
	fin.open("para.txt", ios::in);
	fin.read((char *) &para, sizeof(para));
	len = strlen(para);
	half = len / 2;
	for(i=0; i<=half; i++)
		cout<<para[i];
	for(i=len; i>half; i--)
		cout<<para[i];
	fin.close();
	getch();
	}

 

Output:

Enter a Paragraph (Quit by ^Z):-

My name is Manoj Pandey.
I study in APEEJAY Institute.
I’m Doing MCA from there.
I live in Dwarka Sec. 6.
^Z

Reverse the Whole Paragraph:-

.6 .ceS akrawD ni evil I
.ereht morf ACM gnioD m’I
.etutitsnI YAJEEPA ni yduts I
.yednaP jonaM si eman yM

Line by line Reverse the Whole Paragraph:-

.yednaP jonaM si eman yM
.etutitsnI YAJEEPA ni yduts I
.ereht morf ACM gnioD m’I
.6 .ceS akrawD ni evil I

Breaking The Para Into 2 halves and Reversing the 2nd Para:-

My name is Manoj Pandey.
I study in APEEJAY Institute.
.6 .ceS akrawD ni evil I
.ereht morf ACM gnioD m’I


C++ Program to implement File Handling by using ifstream & ofstream (Prg-1) – Q29

January 29, 2010 Leave a comment

Q29. Program to implement File Handling by using ifstream & ofstream:

Get the Rollno, Names and Marks Obtained of N students. The data should be stored in “RESULT” data file.
Use the same file to print the result along with aggregate percentage for all the students.

… from College notes (BCA/MCA assignments):

#include <iostream.h>
#include <fstream.h>
#include <conio.h>

class Cstud{
	private:
		char name[10];
		int roll, marks;
	public:
		void getdata();
		void putdata();
		int calc() const;
	};

void Cstud :: getdata(){
	cout<<"\n Enter Name: ";
	cin>>name;
	cout<<"\n Enter Roll No: ";
	cin>>roll;
	cout<<"\n Enter Marks: ";
	cin>>marks;
	}

int Cstud :: calc() const{
	return marks;
	}

void Cstud :: putdata(){
	cout<<"\n Name: "<<name;
	cout<<"\n Roll No: "<<roll;
	cout<<"\n Marks: "<<marks;
	}

void main(){
	int n, tot, avg;
	Cstud Ostu1, Ostu2;
	clrscr();
	cout<<"\n How many Students: ";
	cin>>n;
	ofstream fout;
	fout.open("result.txt", ios::out);
	for(int i=0; i<n; i++){
		cout<<"\n Student No: "<<i+1;
		Ostu1.getdata();
		fout.write((char *) &Ostu1, sizeof(Ostu1));
		}
	fout.close();

	ifstream fin;
	fin.open("result.txt", ios::in);
	tot = 0;
	clrscr();
	cout<<"\n Data read from File:- \n";
	for(i=0; i<n; i++){
		fin.read((char *) &Ostu2, sizeof(Ostu2));
		cout<<"\n\n Student No: "<<i+1;
		Ostu2.putdata();
		tot += Ostu2.calc();
		}
	avg = tot/n;
	cout<<"\n\n Total marks: "<<tot;
	cout<<"\n\n Average Marks: "<<avg;
	fin.close();
	getch();
	}

 

Output:

How many Students: 5

Student No: 1
Enter Name: manoj
Enter Roll No: 204
Enter Marks: 200

Student No: 2
Enter Name: Bhanu
Enter Roll No: 104
Enter Marks: 300

Student No: 3
Enter Name: Nitin
Enter Roll No: 214
Enter Marks: 350

Student No: 4
Enter Name: Prakash
Enter Roll No: 304
Enter Marks: 250

Student No: 5
Enter Name: Shilpi
Enter Roll No: 123
Enter Marks: 400

Student No: 1
Name: Manoj Roll No: 204 Marks: 200

Student No: 2
Name: Bhanu Roll No: 104 Marks: 300

Student No: 3
Name: Nitin Roll No: 214 Marks: 350

Student No: 4
Name: Prakash Roll No: 304 Marks: 250

Student No: 5
Name: Shilpi Roll No: 123 Marks: 400

Total marks: 1500
Average Marks: 300