Input File Output File include include include include inclu

Input File

Output File

#include <iostream>
#include <fstream>
#include <cstring>
#include <cctype>
#include <cstdlib>
using namespace std;

int main()
{
    const char filename[] = \"C:/temp/fb_scores.txt\";
    char buffer[16], winner[32], loser[32];
    int winnerScore, loserScore;

    ifstream fin(filename);
    if (!fin)
    {
        cerr << \"Unable to open file \" << filename << endl;
        exit(1);
    }

    while (!fin.eof())
    {
        // get winner
        fin >> winner;
        if (fin.eof()) break;

        // get next token. Could be score or 2nd part of winner name
        fin >> buffer;

        // If buffer has a comma, then it\'s a score
        if (strchr(buffer,\',\'))
        {
            winnerScore = atoi(strtok(buffer,\",\"));
        }
        else
        {
            strcat(winner,\" \");
            strcat(winner,buffer);
            fin >> buffer;
            winnerScore = atoi(strtok(buffer,\",\"));
        }

        // get loser
        fin >> loser;

        // get next token. Could be score or 2nd part of loser name
        fin >> buffer;

        // If first digit is numeric, then it\'s a score
        if (isdigit(buffer[0]))
        {
            loserScore = atoi(buffer);
        }
        else
        {
            strcat(loser,\" \");
            strcat(loser,buffer);
            fin >> buffer;
            loserScore = atoi(buffer);
        }
        cout << winner << \" over \" << loser << \' \' << winnerScore << \" to \" << loserScore << endl;
    }
}

Repeat the parsing example for the football scores above, but use only c++ string class and string functions for the parsing.

Cincinnati 27, Buffalo 24
Detroit 31, Cleveland 17
Kansas City 24, Oakland 7
Carolina 35, Minnesota 10
Pittsburgh 19, NY Jets 6
Philadelphia 31, Tampa Bay 20
Green Bay 19, Baltimore 17
St. Louis 38, Houston 13
Denver 35, Jacksonville 19
Seattle 20, Tennessee 13
New England 30, New Orleans 27
San Francisco 32, Arizona 20
Dallas 31, Washington 16

Solution

#include <iostream>
#include <string>
using namespace std;

int main()
{
    const char filename[] = \"C:/temp/fb_scores.txt\";
    char buffer[16], winner[32], loser[32];
    int winnerScore, loserScore;

    ifstream fin(filename);
    if (!fin)
    {
        cerr << \"Unable to open file \" << filename << endl;
        exit(1);
    }

    while (!fin.eof())
    {
  fin >> winner;
        if (fin.eof()) break;
        fin >> buffer;
        if (strchr(buffer,\',\'))
        {
            winnerScore = atoi(strtok(buffer,\",\"));
        }
        else
        {
            strcat(winner,\" \");
            strcat(winner,buffer);
            fin >> buffer;
            winnerScore = atoi(strtok(buffer,\",\"));
        }
        fin >> loser;
        fin >> buffer;
        if (isdigit(buffer[0]))
        {
            loserScore = atoi(buffer);
        }
        else
        {
            strcat(loser,\" \");
            strcat(loser,buffer);
            fin >> buffer;
            loserScore = atoi(buffer);
        }
        cout << winner << \" over \" << loser << \' \' << winnerScore << \" to \" << loserScore << endl;
    }

return 0;
}

Input File Output File #include <iostream> #include <fstream> #include <cstring> #include <cctype> #include <cstdlib> using namesp
Input File Output File #include <iostream> #include <fstream> #include <cstring> #include <cctype> #include <cstdlib> using namesp
Input File Output File #include <iostream> #include <fstream> #include <cstring> #include <cctype> #include <cstdlib> using namesp

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site