CSC241 ADVANCED VISUAL BASIC PROGRAMMING Programming Assignment
Document Sample


CSC241: ADVANCED VISUAL BASIC PROGRAMMING
Programming Assignment #1: Dinner Special Menu – 100 Points Total
Date Due: Tuesday, October 13, 2009, Beginning of Class
Problem Overview
Create a Windows GUI application from scratch to allow the user to select items from a limited
menu providing two dinner specials: Chinese food and pizza. Based on the user’s selections, a bill
will be generated providing the food subtotal, sales tax, total bill, tip amount, and total amount due
after a tip is decided upon. Further detail can be found later in this document.
Project Submission
Your final project is to be named “Menu” and saved in its own self-contained project folder in the
Projects subfolder of the Visual Studio 2008 folder in your My Documents area on the Stucluster
network as discussed in class. Late submissions will not be accepted and will receive a grade of
zero. Any project not in the proper location will not be graded and will receive a grade of zero.
Collaboration Guidelines
All students are expected to complete their own work. However, discussion among peers is
encouraged as long as all students produce their own work independently. Having others write code
will result in a grade of zero for the project.
Instructor Assistance
Use of office hours is encouraged when needed. Simple questions may be asked via email, but an
email reply may not be appropriate for a response. Some concerns may not be adequately addressed
without personal assistance, so arrangements should be made to attend office hours as needed.
No instructor assistance will be provided beginning at 12:00 a.m. the business day immediately
preceding the date due (i.e., midnight the last day classes meet before the due date).
Sample Application
A sample application will be available in the Shared folder on the campus network as discussed in
class, but it is to be used as a guideline only. The specifications contained in this document are the
requirements on which grades will be based; if the sample project contains any errors (computational
or otherwise) or deviates from these specifications, those inconsistencies are to be treated as
incorrect, and it is the student’s responsibility to be sure his or her project meets all formal
specifications outlined below.
Prof. Fowler
Fall 2009
Project Details
General
This project is to consist of a single form containing all necessary controls. The form is expected to
be laid out in an aesthetically pleasing fashion, and accuracy of such items as alignment of controls,
formatting of output, spelling, and grammar are expected.
Basic design issues, including Accept and Cancel Buttons, Tab Order, keyboard shortcuts, and user
appeal, are expected to be addressed professionally. Specific design requirements are included in
this document, but details of the design are up to the programmer.
Only the items available for the type of cuisine selected should be enabled; all items for the other
type of cuisine should be disabled. In order for a bill to be generated, a meal (Chinese entrée or
pizza crust type) must be selected; the user may not purchase only side dishes or toppings.
Although there are multiple techniques available to calculate the final bill, the formal bill (food
amount, sales tax, and subtotal consisting of those two values) only needs to be calculated after the
Compute Total is clicked. Tip amount options should only be displayed and enabled after the formal
bill is displayed, and the appropriate tip should be added to the bill only after the user selects one of
the available options. All other items may be enabled or disabled as needed or desired.
Design Requirements
The following specific design items are required to receive full credit:
btnTotal to process the user’s selections and generate the appropriate bill
btnReset to reset the form to its initial state
btnExit to terminate the application
Radio buttons to select which type of cuisine is desired
Radio buttons to select the main dish for Chinese food and crust type for pizza
Checkboxes to select side dishes for Chinese food and toppings for pizza
Radio buttons to select the desired tip amount
Group boxes to group related items (visually and/or functionally)
Code Requirements
The following specific code items are required to receive full credit:
Class-level constants for sales tax rate and prices of all items
Class-level variables for subtotal of food items before tax and total bill after tax but before tip
No class-level constants or variables allowed other than preceding requirements
Event handlers to automate addition of tip to bill when selected
Appropriate use of programmer-created procedures and/or functions as dictated by good
higher-level language program design guidelines
Prof. Fowler
Fall 2009
Required Options
The following items are included as user options subject to all design and code requirements above:
Cuisine options: Chinese food; pizza
Chinese food entrees: General Tso's Chicken; Hunan Shrimp; Pepper Steak
Chinese food side dishes: egg roll; wonton soup; steamed dumplings
Pizza crust styles: thin; traditional; Sicilian
Pizza toppings: mushrooms; onions; peppers; pepperoni; sausage
Tip amounts: 10%; 15%; 18%; 20%; 25%
Items on final bill: subtotal before tax; sales tax; total with tax; tip amount; total with tip
Buttons for user interaction: Compute Total; Reset; Exit
Numerical Data
The following prices are to be used:
General Tso's Chicken: $5.99
Hunan Shrimp: $6.99
Pepper Steak: $6.49
Egg roll: $0.99
Wonton soup: $2.09
Steamed dumplings: $3.29
Thin crust: $8.99
Traditional crust: $8.99
Sicilian: $10.99
Pizza toppings: $1.19 each
The sales tax rate is assumed to be that of Pennsylvania at the current time: 6%.
Bonus Opportunities
Failure to attempt bonus opportunities will in no way negatively affect the grade earned for the
project. However, attempting to incorporate bonus features in such a manner as to cause the project
to work improperly may lead to a grade reduction.
The following optional bonus opportunities exist (maximum point values for each are included):
2 Points: Allow the user to enter his or her own tip amount (dollar amount, not percentage).
5 Points: Automate calculation of the bill and eliminate the Compute Total button.
1 to 10 Points: Develop your own bonus opportunity, which must be discussed with and
approved by the instructor prior to implementation. The specific point value will be
discussed and established if the proposal is accepted.
Prof. Fowler
Fall 2009
Get documents about "