Categories
Uncategorised

Text Files – Count Characters

/* Copyright (C) 2007 Ankur Banerjee. This program is free software: you can redistribute it and / or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 3 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. For a copy of the GNU General Public License see http://www.gnu.org/licenses/gpl.html /

/ Text Files – WAP to create text file and count number of words, vowels, special characters and digits /

#include <fstream.h>
#include <conio.h>
#include <stdio.h>
#include <ctype.h>

void main()
{
clrscr();
fstream obj(“text.txt”, ios::out);
char s[101], ans, ch;
int wd, vw, dg, sc;
wd = 1;
vw = dg = sc = 0;
do
{
cout<<endl<<“Enter data (max 100 characters) : “;
gets(s);
obj<<s<<‘\n’;
cout<<“Do you wish to continue (y / n) : “;
cin>>ans;
} while (ans == ‘y’);
obj.close();
obj.open(“text.txt”, ios::in);
while ( !obj.eof() )
{
ch = obj.get();
switch (ch)
{
case ‘A’ :
case ‘a’ :
case ‘E’ :
case ‘e’ :
case ‘I’ :
case ‘i’ :
case ‘O’ :
case ‘o’ :
case ‘U’ :
case ‘u’ : ++vw;
break;
default : if ( isdigit(ch) )
++dg;
if (ch == ‘ ‘)
++wd;
if ( !isalnum(ch) )
++sc;
}
}
cout<<endl<<“Statistics for given file”
<<endl<<“Number of words : “<<wd
<<endl<<“Number of vowels : “<<vw
<<endl<<“Number of digits : “<<dg
<<endl<<“Number of special characters : “<<sc;
getch();
}


/
Output */

Enter data (max 100 characters) : The Answer to Life, the Universe, and
Everything is 42.
Do you wish to continue (y / n) : n

Statistics for given file
Number of words : 10
Number of vowels : 16
Number of digits : 2
Number of special characters : 14

Categories
Uncategorised

Text Files – Change Characters

/* Copyright (C) 2007 Ankur Banerjee. This program is free software: you can redistribute it and / or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 3 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. For a copy of the GNU General Public License see http://www.gnu.org/licenses/gpl.html /

/ Text Files – Change characters after taking text file input from use and use function change() to replace alphabets. Replace alphabets and digits with the next one and all spaces with ‘-‘ /

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

fstream obj(“text.txt”, ios::out);
fstream obj2(“new.txt”, ios::out);
char s[1001], ans, ch;

void change()
{
obj.open(“text.txt”, ios::in);
while ( !obj.eof() )
{
ch = obj.get();
if (ch == ‘z’)
ch = ‘a’;
else if (ch == ‘Z’)
ch = ‘A’;
else if (ch == ‘ ‘)
ch = ‘-‘;
else if (ch == ‘9’)
ch = ‘0’;
else if ((ch >=’a’&&ch<= ‘y’) || (ch >= ‘A’ && ch <= ‘Y’) || (ch >= 0 &&ch <=8))
++ch;
obj2<<ch;
}
obj.close();
obj2.close();
}

void main()
{
clrscr();
do
{
cout<<endl<<“Enter data (max 1000 characters) : “;
gets(s);
obj<<s<<‘\n’;
cout<<“Do you wish to continue (y / n) : “;
cin>>ans;
} while (ans == ‘y’);
obj.close();
change();
obj.open(“text.txt”, ios::in);
obj2.open(“new.txt”, ios::in);
cout<<endl<<“Old file is”<<endl;
while ( !obj.eof() )
{
ch = obj.get();
cout<<ch;
}
cout<<endl<<“New file is”<<endl;
while ( !obj2.eof() )
{
ch = obj2.get();
cout<<ch;
}
obj.close();
obj2.close();
getch();
}

/ Output */

Enter data (max 1000 characters) :
The Answer to Life, the Universe, and Everything is 42
Do you wish to continue (y / n) : y
Enter data (max 1000 characters) : The 9th Law of WSOGMM states that the Great Prophet Zarquon will come again
Do you wish to continue (y / n) : n

Old file is
The Answer to Life, the Universe, and Everything is 42
The 9th Law of WSOGMM states that the Great Prophet Zarquon will come again

New file is
Uif-Botxfs-up-Mjgf,-uif-Vojwfstf,-boe-Fwfszuijoh-jt-42
Uif-0ui-Mbx-pg-XTPHNN-tubuft-uibu-uif-Hsfbu-Qspqifu-Absrvpo-xjmm-dpnf-bhbjo