How NOT to comment
This is a mix of several programs turned in in the last few semesters.
The idea is NOT to document every line if it doesn't need it. The idea is NOT to echo the code in the comments. Assume that the reader/grader of the code can understand C++ code. Your job is to tell them WHY you did what you did.
not needed to comment for cin and cout
#include <iostream> //included for cin and cout
good comment
#include <cmath> //included for the pow() function
using namespace std;
unnecessary comment
int main () //my main function
{
This does not explain the PURPOSE of the variables
a better comment is "height is the height of a support"
"pounds is for the mass of the concrete of a support in pounds"
double height, Rtop, Rbottom, volume, pounds;
//declaring variables for the radii, volume, pounds, height, and the constant Pi
anyone who can read C++ can understand that a constant is being set up
a better comment is "Pi is going to be used for calculating volume of
the support"
const double Pi = 3.1415927; //declares the variable Pi and assigns it
//the constant value of 3.1415927
this one isn't too bad, but "declares the variable bases" is superfluous
int bases;
//declares the variable bases for the number of bases to calculate for
unneeded comment
cout << "Concrete Support Calculator" << endl; //title of program
unneeded comment
cout << endl; //creates a line of space between the title and the calculator
unneeded - the prompt says all that is necessary
cout << "Enter the top radius of the support (in feet): "; //asks user for top radius
unneeded - this tells the user nothing that isn't available from the code itself
cin >> Rtop; //assigns user input to the variable "Rtop"
unneeded - this tells the user nothing that isn't available from the code itself
cout << "Enter the bottom radius of the support (in feet): "; //asks user for bottom radius
cin >> Rbottom; //assigns user input to the variable "Rbottom"
unneeded - this tells the user nothing that isn't available from the code itself
cout << "Enter the height of the support (in feet): "; //asks user for the height of the support
cin >> height; //assigns user input to the variable "height"
unneeded - this tells the user nothing that isn't available from the code itself
cout << "How many supports are you going to build? "; //asks user for the number of supports
cin >> bases; //assigns user input to the variable "bases"
This is a pretty good comment
volume = (Pi * height * (pow(Rtop, 2) + Rtop * Rbottom + pow(Rbottom, 2))) / 3;
//calculates the volume of one frustum as per the equation on
//http://www.cs.uky.edu/~keen/115/programs/1pgm.html
this is a pretty good comment, although 90 really should not be a "naked number"
a named constant would be much better
pounds = bases * volume * 90;
//calculates the number of pounds by multiplying the volume of one base by the number of bases
//and then multiplying again by the mass of 1 cubic foot of concrete
a decent comment
cout << endl; //creates a space between the input and final output
All the comments in here are not needed
"Report the input values and the calculated values" is about as much as is needed
cout << "For " << bases << " column bases (frustum-shaped)," << endl; //outputs the number of bases
cout << "with a top radius of " << Rtop << " feet and a bottom radius of " << Rbottom << " feet" << endl;
//outputs the two radii
cout << "and a height of " << height << " feet," << endl; //outputs the height of the frustum
cout << "you need " << pounds << " pounds of concrete." << endl;
//outputs the final answer of pounds of concrete needed
comment not needed
return 0; //returns to the operating system
}