1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
The main window of the application will show two listboxes placed side by side. Both listboxes contain the following list of currencies: Euros, UK Pounds, Switzerland Francs, US Dollars, Russia Rubles, Japan Yen, Australia Dollars. Below each listbox, there will be a textfield whose purpose is to contain the corresponding amount of the selected currency. The left listbox/textfield will be labeled "From" and the right listbox/textfield will be labeled "To". Between the textfields you will put a Convert button. Below, there will be another textfield with a label "Total amount due", having the purpose to contain the total amount due by the user. This software will be used as specified here: The user selects in the "From" listbox the currency he wants to buy, types in the "From" textfield the desired amount of the currency, and selects in the "To" listbox the currency she or he wants to pay with. Then the user clicks on the Convert button. The corresponding amount of money will be shown automatically on the "To" textfield. To calculate the money, use these conversion rates: 1 Euro = 0.696 UK Pounds (GBP) 1 Euro = 1.505 Switzerland Francs (CHF) 1 Euro = 1.099 US Dollars (USD) 1 Euro = 34.026 Russia Rubles (RUR) 1 Euro = 131.264 Japan Yen (JPY) 1 Euro = 1.767 Australia Dollars (AUD) You do not need a complete table of conversion rates for each combination of currencies; if you have to convert, let's say, GBP in USD, convert GBP in EUR first and then EUR in USD. This kind of conversion is approximate because it involves rounding errors; however this will make your project simpler to program. This service is not free: the user is charged for every conversion he asks for. The charges are calculated over the amount of money in the "To" textfield in such a way: if the amount is bigger than 300 EUR, the charge is 1% of the amount; otherwise, there is a fixed charge of 3 EUR. So the total money due by the user is the amount in the "To" textfield plus the charge (remember to convert it!), and must be shown in the "Total amount due" textfield. Do not modify the value in the "To" textfield. The values in the "To" and "Total amount due" textfields are hence shown after the user has clicked on the Convert button. If the user tries to ask a conversion between the same type of currency, e.g. from CHF to CHF, the software must refuse to make the conversion by popping up an appropriate MsgBox of warning. On the bottom of the main window you will put a set of buttons. The Clear button clears the contents of the three textfields, and resets the selection of both listboxes to the first element (Euros). The Print button prints the form, and the Quit button exits the program. On the top of the main window, put a label reading "IT230 Currency Converter" (or anything else you like) in a big font, and your names with nicknames in a smaller font. The labels explaining the listboxes, textfields etc. should be reading as appropriate; the same goes for the buttons. You can write anything you want in it, as well as you have the choice of colors and fonts. The only requirement is that they are clear and easy to understand. You may also choose to use a layout that is completely different from the one I have indicated; this is OK as long as the program's functions behave exactly the same way. In general the whole program should be well designed, possibly bugs free ;) , attractive to use and user friendly.