Corning Community College
CSCS1320 C/C++ Programming
To create a program that can calculate and determine the number of factor pairs of a given number, starting with values composed of exactly 2 sets of factor pairs.
To assist with consistency across all implementations, data files for use with this project are available on lab46 via the grabit tool. Be sure to obtain it and ensure your implementation properly works with the provided data.
lab46:~/src/SEMESTER/DESIG$ grabit DESIG PROJECT
Please study any provided code, comments, or supporting documents, and look up, experiment, and ask questions on aspects that you do not understand.
You will want to go here to edit and fill in the various sections of the document:
“main number” % “number” == 0 means that the “number” is a factor.
Can do gcc cnv0 then it will pop out a.out then do ./a.out and your prompt should come out. Can also use Make
a for() loop has the format of for(start; loop condition; step){CODE HERE}.
An example would be for(factor = 1; conditions; factor = factor+1){CODE HERE}. This ensures that every time your condition is run the steps continue to progress until the conditions are not met anymore.
A “while” loop is a kind of loop that runs until the parameters of an expression are fulfilled. For example, if you have:
number = 6 factor = 1 while (factor <= number) { factor = factor + 1 };
This means that the factor variable, in this example “1,” will continue to pass through the looping process, adding a value of 1 each time. This will occur 5 times until factor becomes equal to 6, fulfilling the parameters originally set.
Recall, double and (&&) can be used with loops to give more than one condition; however, be cautious when using && as it can sometimes overcomplicate your code.
It is your task to write a program that, upon accepting various pieces of input from the user, computes the number of factor pairs of a given number, displaying its eligibility as a secondary number.
Your program should:
Some additional points of consideration:
In general, you will be looking to do something like the following:
DISPLAY PROMPT READ NUMBER SHOULD NUMBER BE LOWER THAN TWO: DISPLAY AN ERROR EXIT WITH A NON-ZERO STATUS SO LONG AS FACTOR IS LESS THAN NUMBER: SHOULD THE FACTOR BE A LEGITIMATE FACTOR OF NUMBER: INCREMENT COUNT OF FACTOR PAIRS SHOULD THIS NUMBER HAVE A SQUARE FACTOR: INCREMENT COUNT OF FACTOR PAIRS SHOULD THE NUMBER OF FACTOR PAIRS MATCH WHAT WE ARE LOOKING FOR: DISPLAY THAT NUMBER BEING PROCESSED IS OF THE NEEDED TYPE OTHERWISE: DISPLAY THAT THE NUMBER BEING PROCESSED IS NOT THE NEEDED TYPE
Copied as part of the grabit, inside your cnv0/ subdirectory, will be a copy of my implementation (in executable form, by the name ref_cnv0), which abides by the project specifications. Please compare its output against that of your implementation. You can invoke the reference implementation by running the following:
yourpi:~/src/SEMESTER/DESIG/cnv0$ make check Enter a number: 6 6 is a secondary number yourpi:~/src/SEMESTER/DESIG/cnv0$
In addition, I have also placed a cnv0verify script in that same subdirectory, which will test your program against a range of values, to determine overall correctness. You can run the verify script using the Makefile, as follows:
yourpi:~/src/SEMESTER/DESIG/PROJECT$ make verify [ 1] you have: err, should be: err [ 2] you have: no, should be: no [ 3] you have: no, should be: no [ 4] you have: yes, should be: yes [ 5] you have: no, should be: no [ 6] you have: yes, should be: yes [ 7] you have: no, should be: no [ 8] you have: yes, should be: yes [ 9] you have: yes, should be: yes [ 10] you have: yes, should be: yes [ 11] you have: no, should be: no [ 12] you have: no, should be: no [ 13] you have: no, should be: no [ 14] you have: yes, should be: yes [ 15] you have: yes, should be: yes [ 16] you have: no, should be: no [ 17] you have: no, should be: no [ 18] you have: no, should be: no [ 19] you have: no, should be: no [ 20] you have: no, should be: no [ 21] you have: yes, should be: yes [ 22] you have: yes, should be: yes [ 23] you have: no, should be: no [ 24] you have: no, should be: no [ 25] you have: yes, should be: yes [ 26] you have: yes, should be: yes [ 27] you have: yes, should be: yes [ 28] you have: no, should be: no [ 29] you have: no, should be: no [ 30] you have: no, should be: no [ 31] you have: no, should be: no [ 32] you have: no, should be: no [ 33] you have: yes, should be: yes [ 34] you have: yes, should be: yes [ 35] you have: yes, should be: yes [ 36] you have: no, should be: no yourpi:~/src/SEMESTER/DESIG/PROJECT$
To successfully complete this project, the following criteria must be met:
To submit this program to me using the submit tool, run the following command at your lab46 prompt:
lab46:~/src/SEMESTER/DESIG/PROJECT$ make submit
And make sure you get no error messages.
You should get some sort of confirmation indicating successful submission if all went according to plan. If not, check for typos and or locational mismatches.
I'll be evaluating the project based on the following criteria:
52:cnv0:final tally of results (52/52) *:cnv0:resources obtained via grabit by Sunday before deadline [4/4] *:cnv0:proper error checking and status reporting performed [6/6] *:cnv0:correct variable types and name lengths used [6/6] *:cnv0:proper output formatting per specifications [6/6] *:cnv0:proper selection logic applied to perform comparisions [6/6] *:cnv0:proper iteration logic applied to carry out process [6/6] *:cnv0:runtime verify tests of submission succeed [6/6] *:cnv0:no negative compiler messages for program [6/6] *:cnv0:code is pushed to lab46 repository [6/6]