Sep 22, 2011 at 11:21pm UTC
I need help making two substrings(I think) to get the integer values (course hours, grade) for each course. I thought I had it but every time I ran the .exe it would crash after obtaining the name and major, so I deleted that code altogether. It'd be grand if someone can point me in the right direction here.
.........................................................................
Text file reads:
Name:John Q. Student
Major:Basket Weaving
Stitching 102: 3 4
Cross Weaving 244: 3 3
Basket Fibers 287: 3 2
Basket Shapes 155: 3 3
........................................................................
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
ifstream inFile;
ifstream outFile;
string input;
string output;
cout << "Please enter in the name of the input file: ";
cin >> input;
inFile.open(input.c_str());
cout << input << endl;
if(!inFile)
{
cout << string(15,'*') << " File Open Error "
<< string(15,'*') << endl;
cout << "==> Input file failed to open properly!!\n";
cout << "==> Attempted to open file: " << input << endl;
cout << "==> Terminating program!!!\n";
cout << string(46,'*') << endl;
return 1;
}
cout << "Please enter in the name of the output file: ";
cin >> output;
outFile.open(output.c_str());;
cout << output << endl;
if(!outFile)
{
cout << string(15,'*') << " File Open Error "
<< string(15,'*') << endl;
cout << "==> Input file failed to open properly!!\n";
cout << "==> Attempted to open file: " << output << endl;
cout << "==> Terminating program!!!\n";
cout << string(46,'*') << endl;
return 1;
}
string name;
string sub;
size_t pos;
getline(inFile,name);
pos = name.find(":");
sub = name.substr(pos+1);
cout << sub << endl;
string major;
string sub2;
size_t pos2;
getline(inFile,major);
pos2 = major.find(":");
sub2 = major.substr(pos2 +1);
cout << sub2 << endl;
system("PAUSE");
return 0;
}