ASSIGNMENT OBJECTIVES

  • To again meet the Objectives of Individual Assignment #1:
    • Use Visual C# 2015 to create a project. (* See the next page for the correct project name to use. *)
    • Observe professional programming style guidelines (e.g., comments, indentation, etc.).
    • Determine the most appropriate C# controls to use to accomplish the requirements of the program.
    • Properly declare all necessary constants and variables with appropriate data types and scopes.
    • Follow appropriate standardized naming conventions for constants, variables, and controls.
    • Write code to accept input from the user, perform calculations, and convey output to the user.
    • Format output so that it displays appropriately for the situation involved (e.g., as currency).
  • Utilize appropriate decision structures to branch code execution as required by the program.
  • Share event handler code written for one control with other controls.
  • Create a custom message box that solicits input from the user and then responds appropriately to the input.
  • Take data the user has input into controls on the form and summarize it in a custom message box.

BUSINESS SCENARIO

Technology Correspondence Institute (TCI) is a small online software training business specializing in offering self-paced training software to students who are enrolled at a local college and who are seeking a computer literacy certification granted by the college. TCI only supplies the training software; the college handles the testing and certificate granting. But, TCI must follow certain rules (e.g., quantity limitations per student per school term) established by the college regarding the sale of the software. Orders from students are currently taken only by phone, and the training software is only supplied to the students via e-mail. At the present time, company clerks write the telephone orders down on paper forms. However, the company wishes to automate its order-taking function. The first step in this process is to develop a simple computerized order entry form as described below.

ASSIGNMENT REQUIREMENTS

  • For decorative purposes, there is to be a PictureBox control placed in the upper left-hand corner of the form. Have this control display a small graphic file of your choosing related to computers or technology training.
  • Term Information TCI must keep track of the school term in which each purchase is made. This information consists of both a term specification (Fall, Spring, or Summer only) and a year specification (e.g., 2016). Utilize radio buttons for the term (with Fall being the default), and utilize a combo box for the year, with the list including the years 2016 through 2021. The combo box should not allow any other year entry by the user. When the program begins, the combo box should not display any year until the user selects one from the list.
  • Student Information The Student ID, first name, last name, and email address are to be entered for each student. (The Student ID is actually the students Social Security Number and should follow the standard format for that number.) Also, the students residence status must be recorded, with options of In-State and Out-Of-State. (The software is priced lower for in-state students see below). In-State should be the default setting.
  • Product Order Information The software packages are referred to as courses. The offerings currently include six courses: Beginning Excel, Beginning PowerPoint, Beginning Word, Advanced Excel, Advanced PowerPoint, and Advanced Word. The charge for the software is $49 per course for in-state students and $99 per course for out-of-state students. There is no sales tax charge for these purchases. The maximum number of courses that a student may purchase in a single order is three. (There are no other restrictions placed on the sale of courses.)
  • Payment Information Only MasterCard and Visa credit cards are accepted as payment. (MasterCard should be set as the default selection for credit card type. The 16-digit credit card number and the card expiration date must be recorded for each order. Use a 00/00/0000 format for the expiration date.
  • There are to be three buttons in a row at the bottom of the form labeled: Save, Clear, and Exit (from left to right). There should be an Access Key defined for each of these buttonos. Also, there should be an appropriate ToolTip created for each of the buttons. (For this assignment, no other form controls require Access Keys or ToolTips.)
  • As the user clicks on courses, the program is to automatically update two fields on your form: the total number of courses purchased on the order and the total price of the order (which will be calculated as the number of courses times the price per course for that student). Hint: Create a Check Box control for each course offered and use the CheckedChanged event handler for the Check Boxes to run the necessary shared event handler code.
  • At program startup, these two fields (total number of courses purchased and total price of the order) should display initial values of 0 and $0.00, respectively. The form should also display the current price per course.
  • When the Save button is clicked, the program is not to actually save any data to an external file. Instead, the saving of data will be simulated by displaying the entire contents of the order in a message box. This message box should have appropriate text in its title bar and should include an Information icon. The message box should display the following data, properly labeled, with one data item per line: registration term (term and year), student ID, student name (first and last), email address, residence status, total courses purchased, price per course, total order price, credit card type, card number, and card expiration date. EXTRA CREDIT: Also display, after the previous data, the name of each course ordered (one course per line).
  • Do not save an order for less than one or more than three courses. When the Save button is clicked, if there is no course selected, or more than three courses selected, instead of displaying the message box described above, a message box should display stating that a course order must contain at least one course but no more than three courses. This message box should have appropriate text in its title bar and should include an Exclamation icon.
  • Clicking the Clear button is to return the form to its original state, clearing all data entry areas and calculated fields, and sending the focus to the first data entry control on the form. (Hint: A combo box control can have its text area cleared by setting its SelectedIndex property to a value of -1.)
  • Clicking the Exit button is to terminate the program using the Close method. However, when the button is clicked, the program must first prompt the user with a message asking Are you sure you wish to quit the program? The message box is to provide response options of Yes and No. The message box should also have appropriate text in its title bar and should include a Question icon. If the user chooses the Yes button in the message box, the program should close. But, if the user chooses the No button, the program should not close.
  • You are to give meaningful names to all controls used on the form, and all constants and variables used in your code. Follow standard C# naming conventions, as described in your textbook.
  • Use appropriate labels for your controls to clearly identify them, and use appropriate text in the forms title bar.
  • Use group boxes to appropriately group controls on the form to indicate their logical relationship to one another.
  • The alignment, spacing, and sizing of all screen controls should be neat and professional in appearance.
  • When the program runs, the form should display in the center of the screen.
  • The tab order should be set correctly so that focus flows logically through the controls on the form.
  • Data that represents currency values should be displayed with the correct currency format.
  • Data representing numeric values, including currency values, should be displayed right-aligned in controls, while text values (such as names) should be displayed left-aligned in controls.
  • Use comments very liberally throughout your code, for each event handler and each significant block of code.
  • Include an initial comment in your code, before all other code, similar to the following:
// Programmer: John Doe (Use your own name and project name, of course.)
// Project: Doe_2
// Due Date: 10/14/2016
// Description: Individual Assignment #2
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.