IST 140 Intro to Visual Programming

Project 6-1 – Stormazon

IST 140 Intro to Visual Programming img1

Stormazon is a local storefront business/website that allows users to order their merchandise via kiosks throughout the nation. Customers can either have items shipped to them directly or they can pick-up their orders from a local retail outlet. As the lead programmer, it is your job to design the kiosk user interface. The business owner has a few requirements but has given you executive power in overall program design.

Project Objectives:

• Use of multiple forms

• Use of void methods

• Use of value-returning methods

• Use of ListBox

• Use of Radio Buttons and Check Boxes

• Use of MenuStrip and context menus for navigation

• Use of Access Specifiers

• Use of arithmetic operators

• Use of Currency Format

• Use of ToolTips

Example Category/Product/Price

Movies

Video Games

Music

Back to the Future 29.99

Can’t Buy Me Love 24.99

Raiders of the Lost Ark 22.99

The Breakfast Club 20.99

Atari 2600 19.99

NES 14.99

SNES 12.99

Sega Genesis 10.99

Guns N Roses 9.99

Bon Jovi 4.99

Poison 2.99

Motley Crue .99

Requirements

• Comment your code!!!

• Each category will have its own form to select products which are added to a ListBox (cart) on the startup form

• Use a minimum of 5 forms (startup and 3 categories)

• Forms must be appropriately named

• The About form is Modeless, all other forms are Modal

• Include a Context Menu listing at least 3 options

• Use a methods to modulize code

• Use any categories and items you want but stay with the price schedule used in the example

• Use appropriate C# naming conventions for forms, labels, variables, etc.

Specifications

  • Startup Form (Figure 1)
  • ListBox to hold every item the user selects from the category forms
  • Remove button to remove a selected item from the listbox and update labels
  • Labels
    1. Subtotal
    2. Tax
    3. Shipping
    4. Total
    5. Number of items in Cart
  • Shipping Checkbox – if selected, shipping charges are applied to the total (shipping

IS NOT taxed)

  1. 1-3 items add $9
  2. 4-6 items add $6
  3. 7+ items is FREE SHIPPING
  • MenuStrip (instead of buttons) to perform program operations – it should be responsive to keyboard shortcuts
    1. File
      1. Clear All Items
      2. Remove Item
      3. Exit
    2. Products
      1. Movies
      2. Video Games
      3. Music 3. Help
      4. About
  • Category Forms (Minimum 3)
  • You choose the design, you choose the categories, and you choose the products
  • Each Category form will have no less than three items to choose from. For example, a music category could have the CD’s Bon Jovi, GNR and Owl Poison. A Video Games category could have the NES, SNES and Atari systems, etc.
  • When a user selects an item(s), the selected item(s) are added to the ListBox on the startup form and all labels (SubTotal, Tax, etc.) are robustly updated.
  • You can decide how an item is selected, but you have to use a different selection method for each form (like image click, checkbox, radio button, listbox, etc.)
  • About Form
  • Needs an image of you
  • Short blurb about yourself…one line is fine. Can be your major, hobby, favorite basket weaver…whatever
  • Tax rate is .07

This project is about five concepts coming together: using multiple forms, sharing information between forms, using methods to simplify and modulize a program, using a listbox, and using menus instead of buttons. With that in mind, a good place to begin is with the startup form…

Startup Form

  • Start with creating the menu structure in place of buttons
  • All methods are contained in this form
  • This for is the hub of the project
  • Fields in this form are private and accessed through methods

Category Forms

  • Minimum of 3 required
  • Must add items to the StartUpform in different ways (radio buttons, item click, etc)
  • Little code – they all call the same methods to add items and update labels

Fields you can use for this project double dblTax

const double DBL_TAXRATE = .07 double dblTotal int intItemCount

Methods you can use for this project

  • Void method to add an item to the form o 1 parameter – item name
    • Called by any category form to add a single item to the main form listbox o Will get the item price o Will add the item to the listbox o Will update labels
  • Void method to calculate\update the subtotal, tax, total and item count variables o 1 parameter – the item cost o Update the item count o Update the subtotal o Update tax o Update total
  • Void method to update the form labels o No-arg method o Update all the form labels
  • Value returning method to get price of item o 1 parameter – item name
    • Returns item price
  • Void method to remove an item from the listbox o No-arg method o Get the selected item
    • Remove the item
  • Void method to handle shipping o No-arg method
    • Check the status to the shipping checkbox o Figure out the shipping cost based on item count oUpdate shipping and total label
Want latest solution of this assignment