Project Boom H.E. (the Home Edition)
by: burt rosenberg
at: university of miami
date: sep 2015
NAME
boom -- count up or down until "Boom!"
SYNOPSIS
boom [-uv] [-n stepsize] count
DESCRIPION
Count down from count until zero and then print "Boom!".
The following options are available:
-u Count up. This option will cause it to count up from 0 until count
and then print "Boom!".
-v Verbose output
-n Stepsize; must be postive. Default is 1.
If count is negative, exit without printing anything.
HISTORY
Introduced in csc421.161 after a long history, e.g. see MTH120.982.
BUGS
Stopping behavior is not defined if when counting up and count is not
a multiple of the stepsize.
Goals
The goals of this project are:
- To exercise the tools of this course: Ubuntu on Virtual box, Subversion and Make.
- To understand the Testing directive of the course — to test to input-output
behavior, and to automate that test as much as possible.
- To exercise the use of options and arguments from the unix command line in a C program.
Specific steps
Modify Project Alpha's boom program:
- Install Virtual Box; create an Ubuntu image; update and install subversion.
- Check-out classes/csc421.171 from svn.cs.miami.edu.
- Create directory proj0 just under your named directory and svn add proj0;
- Copy all of class/proj0 to [yourname]/proj0
- svn add these files files and commit with the message -m "initial commit".
- Modify boom.c to function as in the above man-page.
- Run the individual tests in the test target of the Makefile until boom.c
performs accordingly; double check that make test runs without differences.
- Commit for a grade by the due date.
Discussion
The makefile provided gives certain required targets. Make clean removes all build products.
In general, all that you should commit is what is left in the directory after a make clean.
All other files are a consequence of these files.
Possible points off for committing a large file that need not have been committed.
Generally, make test will do it all: if there hasn't been a recent build, it will cause
a make build, and will run the test. The sequence make clean; make test is one way to
make sure your build process hasn't forgotten anything.
You need not change the makefile to
satisfy the requirements of this project, although you might want to add a run target,
i.e. make run,
so that you can quickly run your boom code in ways of your choosing, rather than the few
runs of the test target.