CS 1323 Honors, Fall 1996
Individual Project 6
Interactive Data Entry
Due Monday, November 4, 4:30pm
What to Hand In (see also:
example project solution)
- Turn in an
Interaction Plan and Scenario
describing how the program will interact with people
using and and illustrating a planned
typical interactive session. Note that this plan and
session need not correspond exactly to what the program
actually does. It is intended as a planning procedure.
Experience with early versions of the program may lead
to improvements. Those improvements do not need to be
documented in the plan.
- Turn in a
Program Organization Chart
exhibiting the interactions
between major program components. Attach a rationale to
the chart explaining how the program organization isolates
independent parts of the program. Where an entity is shared
between major components, explain why that entity was needed
in the component that imported it.
- Turn in a
of the Haskell script you write for your
project, following the required
- Turn in a
of an interactive session
in which you demonstrate the operation
of your program in a variety of circumstances.
Choose your data entries to illustrate important
aspects of your program's behavior.
(handwritten on the transcript) what
aspects of the function's behavior are illustrated by each of
your choices of
- Turn in a listing of the file created in your demonstration
Write a program that creates a file suitable for processing by
the program of
Team Project C
from data supplied interactively from the keyboard.
The file created must contain no lines that would cause
the program from Team Project C to fail.
That is, city/state/zipcode lines, date lines, and
item lines must be in a form recognizable by the
of Individual Projects
To accomplish this, prompt individually for elements that have
constraints on the form in which they must be entered, check to
make sure they meet the constraints, and ask for re-entry
from the keyboard when they fail to meet constraints.
For example, you might ask for the city, state, and zipcode
separately, rather than as a single line. Then, upon
retrieving, say, the state entry, check to make sure it
passes muster, and ask for re-entry if it fails. You could treat
the zipcode and other constrained parts of entries in a similar
Design your program's dialog with the person at the keyboard
to be polite and concise.
Construct the program in such a way that it allows any number
of customer orders to be entered, and such that each customer
order may contain any number of items.