I am trying to make this change to read and write to a file with the file length unknown and to add into the program the sum and average of the number read from the file
Program: Classify Numbers
This program counts the number of zeros, odd, and even numbers *?*/
Code:#include <iostream> #include <iomanip> #include <fstream> using namespace std; //Function prototypes void initialize(int& zeroCount, int& oddCount, int& evenCount); void getNumber(int& num); void classifyNumber(int num, int& zeroCount, int& oddCount, int& evenCount); void printResults(int zeroCount, int oddCount, int evenCount); bool getNumber(ifstream& numberFile, int& zeros, int& odds, int& evens); void writeNumber(ofstream& resultsFile, int zeros, int evens, int odds, int sum, int avg); void calcSum( int zeros, int evens, int odds); int main () { ifstream numberFile; ofstream resultsFile; int N; int sum; int avg; //Variable declaration int counter; //loop control variable int number; //variable to store the new number int zeros; //variable to store the number of zeros int odds; //variable to store the number of odd integers s int evens; //variable to store the number of even integers //int sum; // sum of the numbers //int avg; //average of the number initialize(zeros, odds, evens); //Step 1 //cout << "Please enter " << N << " integers." // << endl; //Step 2 //cout << "The numbers you entered are: " // << endl; //numberfile.open ("f:number.dat"); // if(inFile) //cout<< "Open \ 'f:numberfile.dat\' " << endl; //else //cout << "File not opened \ 'f:number.txt\' << endl; numberFile.open ("f:number.dat"); if(numberFile) { //failure of opening number file cout << "Error in opening number file .\n" << endl; system ("pause"); return 0; } resultsFile.open("f:results.dat"); if(!resultsFile) { //failure of opeinging results file cout << "Error in opening results file .\n" << endl; system("pause"); return 0; } while ( getNumber (numberFile, zeros, odds, evens)) { for (counter = 1; counter <= N; counter++) //Step 3 { getNumber(number); //Step 3a cout << number << " "; //Step 3b classifyNumber(number, zeros, odds, evens); //Step 3c }// end for loop // calcSum (zeroCount, evenCount, oddCount); writeNumber(resultsFile, zeros, odds, evens, sum, avg); } cout << endl; printResults(zeros, odds, evens); //Step 4 return 0; } void initialize(int& zeroCount, int& oddCount, int& evenCount) { zeroCount = 0; oddCount = 0; evenCount = 0; } void getNumber(int& num) { cin >> num; } void classifyNumber(int num, int& zeroCount, int& oddCount, int& evenCount) { switch (num % 2) { case 0: evenCount++; if (num == 0) zeroCount++; break; case 1: case -1: oddCount++; } //end switch } int calcSum( int zeroCount, int oddCount, int evenCount) { calcuSum =(zeroCount + oddCount + evenCount); } void printResults(int zeroCount, int oddCount, int evenCount) { cout << "There are " << evenCount << " evens, " << "which includes " << zeroCount << " zeros" << endl; cout << "The number of odd numbers is: " << oddCount << endl; // calcuSum }



LinkBack URL
About LinkBacks


