1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
//Prototypes
void openFile(ifstream& numbersFile);
void readFile(ifstream& numbersFile, int& even_counter, int& odd_counter,int& zero_counter);
void determine (int numberstester, int& even_counter, int& odd_counter, int& zero_counter);
void display(int even_counter, int odd_counter, int zero_counter);
void closeFile(ifstream&);
//Main function of the program
int main()
{
//introduce name for the file stream
ifstream numbersFile;
//Declare variables
int even_counter;
int odd_counter;
int zero_counter;
openFile (numbersFile); //call openFile function
readFile (numbersFile, even_counter, odd_counter, zero_counter); //call readFile function
display (even_counter, odd_counter, zero_counter); //call display function
closeFile (numbersFile); //call closeFile function
}
//**********************************
//Write function to open input file
//***********************************
void openFile(ifstream& numbersFile)
{
numbersFile.open("numbers.txt");
if (!numbersFile)
{
cerr << "Input file did not open correctly." << endl;
}
}
//****************************************
//Write a function to read the input file
//****************************************
void readFile(ifstream& numbersFile, int& even_counter, int& odd_counter,int& zero_counter)
{
int numbers;
while (numbersFile >> numbers)
{
determine(numbers, even_counter, odd_counter, zero_counter);
}
cout << even_counter << endl << odd_counter << endl << zero_counter << endl;
}
//********************************************************************
//Write a function to determine whether the input data is even or odd
//********************************************************************
void determine (int numberstester, int& even_counter, int& odd_counter, int& zero_counter)
{
even_counter = 0;
odd_counter = 0;
zero_counter = 0;
if (numberstester == 0)
{
zero_counter++;
}
else if (((numberstester % 2) == 0))
{
even_counter++;
}
else if ((numberstester % 2) == 1)
{
odd_counter++;
}
else
{
cerr << "The inputed numbers were not read properly" << endl;
}
}
//**********************************************************************************
//Write a function to display the information gatherred (Amount of even and odd #s)
//***********************************************************************************
void display(int even_counter, int odd_counter, int zero_counter)
{
cout << "There are " << even_counter << " even numbers in the inputed file" << endl << endl;
cout << "There are " << odd_counter << " odd numbers in the inputed file" << endl << endl;
cout << "There are " << zero_counter << " zeros in the inputed file" << endl << endl;
}
//*****************************************
//Write a function to close the input file
//*****************************************
void closeFile(ifstream&)
{
ifstream numbersFile;
numbersFile.close();
}
|