Example solution for ELEC1620 Lab 2 Task 2

Dependencies:   mbed

Committer:
eencae
Date:
Thu Feb 02 14:01:48 2017 +0000
Revision:
0:9f7e104e4cb9
Example solution for ELEC1620 Lab 2 Task 2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
eencae 0:9f7e104e4cb9 1 /* ELEC1620 Lab 2 Task 2
eencae 0:9f7e104e4cb9 2
eencae 0:9f7e104e4cb9 3 Currency Converter
eencae 0:9f7e104e4cb9 4
eencae 0:9f7e104e4cb9 5 (c) Dr Craig A. Evans, Feb 2017
eencae 0:9f7e104e4cb9 6
eencae 0:9f7e104e4cb9 7 */
eencae 0:9f7e104e4cb9 8
eencae 0:9f7e104e4cb9 9 #include "mbed.h"
eencae 0:9f7e104e4cb9 10
eencae 0:9f7e104e4cb9 11 // use pre-processor defines to set the conversion rate
eencae 0:9f7e104e4cb9 12 #define GBP2USD 1.26
eencae 0:9f7e104e4cb9 13 #define GBP2EUR 1.16
eencae 0:9f7e104e4cb9 14 #define GBP2CNY 8.65
eencae 0:9f7e104e4cb9 15 #define GBP2SAR 4.71
eencae 0:9f7e104e4cb9 16
eencae 0:9f7e104e4cb9 17 int main()
eencae 0:9f7e104e4cb9 18 {
eencae 0:9f7e104e4cb9 19 printf("#### Currency Converter App ####\n\n");
eencae 0:9f7e104e4cb9 20 // current compiler version does not require 'f' flag for floating-point literals
eencae 0:9f7e104e4cb9 21 float gbp_value = 69.99;
eencae 0:9f7e104e4cb9 22
eencae 0:9f7e104e4cb9 23 // do conversions
eencae 0:9f7e104e4cb9 24 float usd_value = GBP2USD * gbp_value;
eencae 0:9f7e104e4cb9 25 float eur_value = GBP2EUR * gbp_value;
eencae 0:9f7e104e4cb9 26 float cny_value = GBP2CNY * gbp_value;
eencae 0:9f7e104e4cb9 27 float sar_value = GBP2SAR * gbp_value;
eencae 0:9f7e104e4cb9 28
eencae 0:9f7e104e4cb9 29 // print over serial
eencae 0:9f7e104e4cb9 30 printf("GBP %.2f is equivalent to USD %.2f\n",gbp_value,usd_value);
eencae 0:9f7e104e4cb9 31 printf("GBP %.2f is equivalent to EUR %.2f\n",gbp_value,eur_value);
eencae 0:9f7e104e4cb9 32 printf("GBP %.2f is equivalent to CNY %.2f\n",gbp_value,cny_value);
eencae 0:9f7e104e4cb9 33 printf("GBP %.2f is equivalent to SAR %.2f\n",gbp_value,sar_value);
eencae 0:9f7e104e4cb9 34
eencae 0:9f7e104e4cb9 35 }