Branching

Lab Assignment

The assignment contains two parts.
  1. Mini sort. Study tracing a program. Create a project titled Lab2_MiniSort. Cut and paste this example program into your project. The program attempts to sort three integer numbers in the increasing order. However, it is incomplete. For example, it does not work for this input 3 2 1 . Debug the program. Demonstrate program tracing to the lab instructor.

    Hint: to correct the program you need to add another swapping of values between variables one and two.

    Submit the corrected program to the subversion repository.

  2. Number spell. Create a project Lab2_NumberSpell. Write a program that inputs a two-digit natural number (from 0 1 to 9 9) and outputs this number spelled out in English. That is, for 2 3 it outputs twenty three. For 0 6, it should output six. You may assume that the two numbers to be input are separated by space. You are not allowed to use the concepts, such as looping or functions, that we have not studied. Writing a program that treats all 99 cases separately (that is, has 99 separate output statements) will result in a bad grade.

    Hint: input the numbers as two variables of type int, then create output using several switch and if statements. Specifically, you will need to differentiate (with an if) a number that is less than 20. For such numbers you will need a switch statement to print the whole value. For the numbers larger than 20, you will need one switch to print the word for the first digit, and another -- the word for the second digit.

    That is, the outline of your program could be as follows:

    if(first number is equal to 1)
       switch that recognizes the second character (second digit) and prints the whole number "ten", "eleven", or ...
    else
       switch that recognizes the first digit and prints "twenty" or "thirty", or ...
           note that this switch should ignore the case (print nothing) if the first digit
           is zero
       after that
       switch that recognizes the second digit and prints "one" or "two", or ...
           note that this switch should also ignore the case of zero 
    
    The number manipulation is very similar to this switch example we studied in class.

Make sure you program adheres to proper programming style. Submit your project to the subversion repository. Do not forget to verify your submission on the web.