Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

My code isn\'t counting the number of entries and it isn\'t printing the desired

ID: 3798659 • Letter: M

Question

My code isn't counting the number of entries and it isn't printing the desired result. Could you please take a look at it and troubleshoot it:

Header file

//countryInfo.h

#include <string>
#include <iostream>
#include <fstream>

using std::string;
using std::ifstream;
using std::ofstream;
using std::endl;
using std::cout;
using std::ostream;
using std::istream;


void countryinfo(string input,string output);

Main.cpp

#include "countryinfo.h"

int main ()
{
   countryinfo("countryInfo-1.txt", "outputproject.txt");
}

Country.cpp

#include "countryinfo.h"

void countryinfo(string input, string output)
{
   ifstream in(input);
   ofstream out(output);
  
  
  
  
   string iso;
   string iso3;
   string isonume;
   string fips;
   string country;
   string capital;
   double area;
   string population;
   string continent;
   string tld;
   string currencyc;
   string currencyn;
   string phone;
   string postalformat;
   string postalreg;
   string languages;
   string geonameid;
   string neighbour;
   string equivalent;
   string fipscode;
  
   int cunt=0;
  

   getline (in, iso, ' '); //read from in, store iso and table
   getline (in, iso3, ' '); //getline will only use string
   getline (in, isonume, ' ');
   getline (in, fips, ' ');
   getline (in, country, ' ');
   getline (in, capital, ' ');
  
   in >>area;
   in.ignore();
  
   getline (in, population, ' ');
  
   getline (in, continent,' ');
   getline (in,tld, ' ');
   getline (in, currencyc, ' ');
   getline (in, currencyn, ' ');
   getline(in,phone, ' ');
   getline (in,postalformat,' ');
   getline (in,postalreg,' ');
   getline (in, languages, ' ');
   getline (in, geonameid, ' ');
   getline (in,neighbour,' ');
   getline (in, equivalent, ' ');
   getline (in, fipscode);
  
  
   while ( !in.fail() )
   {
       cunt++;
       cout<<iso<<" "<<iso3<<" "<<isonume<<" "<<fips<<" "<<country<<" "<<capital<<" "<<area<<" "<<
       population<<" "<<continent<<" "<<tld<<" "<<currencyc<<" "<<currencyn<<" "<<phone<<" "<<postalformat
       <<" "<<postalreg<<" "<<languages<<" "<<geonameid<<" "<<neighbour<<" "<<equivalent<<" "<<fipscode
       <<" "<<endl;
      
   getline( in, iso, ' '); //read from in, store iso and table
   getline( in, iso3, ' '); //getline will only use string
   getline (in, isonume, ' ');
   getline (in, fips, ' ');
   getline (in, country, ' ');
   getline (in, capital, ' ');
  
   in >>area;
   in.ignore();
   getline (in, population, ' ');
  
   getline (in, continent,' ');
   getline (in,tld, ' ');
   getline (in,currencyc, ' ');
   getline (in, currencyn, ' ');
   getline(in,phone, ' ');
   getline (in,postalformat,' ');
   getline (in,postalreg,' ');
   getline (in, languages, ' ');
   getline (in, geonameid, ' ');
   getline (in,neighbour,' ');
   getline (in, equivalent, ' ');
   getline (in, fipscode);
      
   }
   cout<<"count = "<<cunt <<endl;
}

for textfile

Go to geonames.org ------------select "Free Gazetteer Data"-----select "Countryinfo.txt"

  
  
  
  
  
  
  
  
  
  
  
  
  

Explanation / Answer

#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include <stdio.h>
#include <string.h>

using namespace std;

void countryinfo(string input,string output);

int main (){
countryinfo("abc.txt", "outputproject.txt");
return 0;
}

void countryinfo(string input , string output)
{
string iso;
string iso3;
string isonume;
string fips;
string country;
string capital;
double area;
string population;
string continent;
string tld;
string currencyc;
string currencyn;
string phone;
string postalformat;
string postalreg;
string languages;
string geonameid;
string neighbour;
string equivalent;
string fipscode;
  
char fileName[1024] = {''} ;
int i = 0;
for(i = 0 ; i < sizeof(input) ; i++){
fileName[i] = input[i];
}
  
ifstream file(fileName);
  
string line;
string partial;
  
int count = 0;
  
while(getline(file, line)) { // ' ' is the default delimiter
istringstream iss(line);
getline (iss, iso, ' '); //read from in, store iso and table
getline (iss, iso3, ' '); //getline will only use string
getline (iss, isonume, ' ');
getline (iss, fips, ' ');
getline (iss, country, ' ');
getline (iss, capital, ' ');
  
//iss >>area;
//iss.ignore();
  
getline (iss, population, ' ');
getline (iss, continent,' ');
getline (iss,tld, ' ');
getline (iss, currencyc, ' ');
getline (iss, currencyn, ' ');
getline (iss,phone, ' ');
getline (iss,postalformat,' ');
getline (iss,postalreg,' ');
getline (iss, languages, ' ');
getline (iss, geonameid, ' ');
getline (iss,neighbour,' ');
getline (iss, equivalent, ' ');
getline (iss, fipscode);

count++;
  
cout<<iso<<" "<<iso3<<" "<<isonume<<" "<<fips<<" "<<country<<" "<<capital<<" "<<area<<" "<<
population<<" "<<continent<<" "<<tld<<" "<<currencyc<<" "<<currencyn<<" "<<phone<<" "<<postalformat
<<" "<<postalreg<<" "<<languages<<" "<<geonameid<<" "<<neighbour<<" "<<equivalent<<" "<<fipscode
<<" "<<endl;
}
  
cout<<"count = "<<count <<endl;
  
}

Input for above program text.txt ################

--------------------------------------------------------------------

5880735   Sogi   Sogi       -14.35417   -170.78361   P   PPL   AS       050               0   8   17   Pacific/Pago_Pago   2010-10-12
5880736   Niuloa Point   Niuloa Point       -14.3   -170.67639   T   CAPE   AS       010               0   50   -9999   Pacific/Pago_Pago   2010-10-12
5880737   Utulei   Utulei   Utulei,   -14.28694   -170.68306   P   PPL   AS       010               683   126   123   Pacific/Pago_Pago   2010-10-12
5880738   Solo Hill   Solo Hill       -14.28333   -170.68361   T   MT   AS       010               0   54   55   Pacific/Pago_Pago   2010-09-05
5880739   Solo Point   Solo Point       -14.25639   -170.58333   T   CAPE   AS       010               0   126   127   Pacific/Pago_Pago   2010-10-12
5880740   Afutele Stream   Afutele Stream       -14.33556   -170.81833   H   STM   AS       050               0   5   1   Pacific/Pago_Pago   2010-10-12
5880741   Tfeu Cove   Tafeu Cove       -14.25694   -170.68944   H   BAY   AS       010               0   209   222   Pacific/Pago_Pago   2010-10-12
5880742   Afu Stream   Afu Stream       -14.30667   -170.68778   H   STM   AS       010               0   3   19   Pacific/Pago_Pago   2010-10-12
5880743   Aganoa   Aganoa       -14.27944   -170.57917   P   PPL   AS       010               0   21   1   Pacific/Pago_Pago   2010-10-12
5880744   Afulei   Afulei       -14.28   -170.62389   P   PPL   AS       010               0   -3   -9999   Pac

Output ###################

---------------------------------------------

880735 Sogi Sogi  -14.35417 -170.78361 6.95331e-310 P PPL AS  050    0 8 17 Pacific/Pago_Pago 2010-10-12                                                            

880736 Niuloa Point Niuloa Point  -14.3 -170.67639 6.95331e-310 T CAPE AS  010    0 50 -9999 Pacific/Pago_Pago 2010-10-12                                           

880737 Utulei Utulei Utulei, -14.28694 -170.68306 6.95331e-310 P PPL AS  010    683 126 123 Pacific/Pago_Pago 2010-10-12                                      

880738 Solo Hill Solo Hill  -14.28333 -170.68361 6.95331e-310 T MT AS  010    0 54 55 Pacific/Pago_Pago 2010-09-05                                                  

880739 Solo Point Solo Point  -14.25639 -170.58333 6.95331e-310 T CAPE AS  010    0 126 127 Pacific/Pago_Pago 2010-10-12                                            

880740 Afutele Stream Afutele Stream  -14.33556 -170.81833 6.95331e-310 H STM AS  050    0 5 1 Pacific/Pago_Pago 2010-10-12                                         

880741 Tfeu Cove Tafeu Cove  -14.25694 -170.68944 6.95331e-310 H BAY AS  010    0 209 222 Pacific/Pago_Pago 2010-10-12                                             

880742 Afu Stream Afu Stream  -14.30667 -170.68778 6.95331e-310 H STM AS  010    0 3 19 Pacific/Pago_Pago 2010-10-12                                                

880743 Aganoa Aganoa  -14.27944 -170.57917 6.95331e-310 P PPL AS  010    0 21 1 Pacific/Pago_Pago 2010-10-12                                                        

880744 Afulei Afulei  -14.28 -170.62389 6.95331e-310 P PPL AS  010    0 -3 -9999 Pac 2010-10-12                                                                     

count = 10

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote