Hi everyone. Having some issues with my program I need to make for an assignment. There is a part that needs to be able to look for upper-case letters within a html tag ( which is located in a text file) It then has to say where in the file the error is ( which line) And also output the corrected code into a new file ( without changing the first file) My code is below; but I really am lost with figuring out how to do this. If anyone could give me some pointers it would be much appreciated.
Cheers
Mat
// assignment program
// read file and copy to another
// count amount of charecters,lines, comments and tags
// change Xhtml tags from upper case to lower case
// place in new file
#include <iostream>
#include <fstream>
#include <string>
#include <cstring>
#include <iomanip>
#include <cctype>
using namespace std;
int main()
{
bool istag;
bool iscomment;
string file1,file2;
ifstream ipfile;
ofstream opfile;
char c;
int amountline = 0;
int amountcha = 0;
int amounttag = 0;
int amountcomment = 0;
cout << "Please enter the name of the file you wish to check" << endl;
cin >> file1;
ipfile.open(file1.c_str());
if (!ipfile.is_open())
{
cout << "Oops! Couldn't open " << file1 << "!\n"<<endl;
return 1;
}
{
cout << " Please enter the file you wish the edited contents to be copied to" << endl;
cout << " This will be created if it does not already exist"<< endl;
cin >> file2;
}
opfile.open(file2.c_str());
while (!ipfile.eof())
{
ipfile.get(c);
opfile << c;
if(c!='\n' && !ipfile.eof() && c!=' ')
{
amountcha++;
}
if(c=='\n')
{
amountline++;
}
if (c=='<' )
{
istag = true;
}
if (c== '>' && istag == true)
{
amounttag++;
istag = false;
}
if (c== '!')
{
iscomment = true;
}
if ( c== '-' && iscomment == true)
{
amountcomment++;
amounttag --;
iscomment = false;
}
}
cout << " This file contains :" << amountline << " lines" << endl;
cout << " This file contains :" << amountcha << " charecters (not including spaces)" << endl;
cout << " this file has : " << amountcomment<< " comments " << endl;
cout << " This file contains : " << amounttag << "tags" << endl;
cout << " Copy complete, edited code located in " << file2 << endl;
return 0;
}