// header files #include #include #include "Console_IO_Utility.h" #include "File_Output_Utility.h" #include "File_Input_Utility.h" // global variables const int MIN_RAND_COUNT = 1; const int MAX_RAND_COUNT = 10; const int MIN_RAND_LIMIT = 1; const int MAX_RAND_LIMIT = 100000; const int VALUES_IN_ONE_LINE = 5; // function prototypes void displayResults(); void generateRandomValues(); int calculateTotal(int *taxArray, int numValsTaxArray); int getRandBetween(int minimumRandomLimit, int maximumRandomLimit); void printTitle(); int saveData(int *fileName); int main() { // initialize variables int taxArray[MAX_RAND_COUNT]; char fileName[STD_STR_LEN]; int numIncomeSources, sumIncomeSources; int counter; bool fileOpen; // show title of program printTitle(); // get user input // ask user for the filename of where their data is located. promptForString("\nEnter the file name for random data generation: ", fileName); // do calculations // seed rand srand(time(NULL)); // check if the file exists, and if it doesn't, generate random values. fileOpen = openInputFile(fileName); if(fileOpen) { for (counter = 0; counter < MAX_RAND_COUNT; counter++) { taxArray[counter] = readIntegerFromFile(); } } else { generateRandomValues(fileName, MIN_RAND_COUNT, MAX_RAND_COUNT); } // display results displayResults(numIncomeSources, sumIncomeSources); // end program printf("\nEnd Program\n"); return 0; } /* Name: displayResults Process: display results, if found Function Input/Parameters: numIncomeSourcesValue, sumIncomeSourcesValue Function Output/Parameters: none Function Output/Returned: none Device Input/Keyboard: none Device Output/Monitor: none Dependencies: printf or Console IO Utilities */ void displayResults(int numIncomeSourcesValue, int sumIncomeSourcesValue) { // initialize variables // get user input // do calculations // display results printf("\nTotal Sources of Income: %d\n", numIncomeSources); printf("\nTotal Income : %d\n", sumIncomeSources); // return value } /* Name: downloadRandomValues (not download, GENERATE) Process: takes file, min/max vals, opens file and puts in rand vals generated. Function Input/Parameters: fileName, minimumRandomCount, maximumRandomCount Function Output/Parameters: fileName Function Output/Returned: none Device Input/Keyboard: none Device Output/Monitor: none Dependencies: getRandBetween */ void generateRandomValues(char *filename, int minimumRandomCount, int maximumRandomCount) { // initialize variables bool fileOpen; int numberOfValues; // get user input // input is passed in through parameters // do calculations // create a file. fileOpen = openOutputFile(filename); if(fileOpen) { for (numberOfValues = getRandBetween(minimumRandomCount, maximumRandomCount); numberOfValues < count; numberOfValues++) { /* code */ } } else { //place } // display results } /* Name: calculateTotal Process: totals the array numbers, return the sum. Function Input/Parameters: *taxArray, numValsTaxArray Function Output/Parameters: none Function Output/Returned: summedTaxArray Device Input/Keyboard: none Device Output/Monitor: none Dependencies: ??? */ int calculateTotal(int *taxArray, int numValsTaxArray) { // initialize variables int summedTaxArray; int iterator, counter; iterator = 0; // get user input // passed in through function parameter // do calculations // need to total the array's values, and count up the array values. // use a loop to iterate through the array. for (counter = iterator; counter < numValsTaxArray; counter++) { summedTaxArray = summedTaxArray + taxArray[counter]; } // display results // none // return value return summedTaxArray; } /* Name: getRandBetween Process: generates a random number between a high and low value (inclusive) Function Input/Parameters: minimumRandomLimit, maximumRandomLimit Function Output/Parameters: randomly generated value Function Output/Returned: none Device Input/Keyboard: none Device Output/Monitor: none Dependencies: rand, srand */ int getRandBetween(int minimumRandomLimit, int maximumRandomLimit) { // initialize variables int range; // get user input // none // do calculations range = maximumRandomLimit - minimumRandomLimit + 1 // display results // none // return value return rand() % range + minimumRandomLimit; } /* Name: printTitle Process: prints the program title and double underline Function Input/Parameters: none Function Output/Parameters: none Function Output/Returned: none Device Input/Keyboard: none Device Output/Monitor: none Dependencies: printf and Console IO Utility */ void printTitle() { // initialize variables // none // get user input // none // do calculations // none // display results // print the title of the program and the equals characters. printf("\nTotal Income From File Calculator\n"); printCharacters(33, '='); printf("\n"); // return value // none } /* Name: uploadData (not uploading, SAVING.) Process: opens file, loads data into file, closes file, returns num values Function Input/Parameters: fileName Function Output/Parameters: none Function Output/Returned: numberOfValues Device Input/Keyboard: none Device Output/Monitor: none Dependencies: File IO Utilities */ int saveData(int *fileName) { // initialize variables // get user input // do calculations // display results // return value }