aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChanin Timbal <[email protected]>2024-04-18 11:48:28 -0700
committerChanin Timbal <[email protected]>2024-04-18 11:48:28 -0700
commit1f5509e4432a7050deb655dc2acc1a3d74473afd (patch)
tree66e20e7afef176f5eb2bfaf6048bbd7d75afddf0
parentAdded Hello World cout (diff)
downloadhomework-1-chaninnohea-1f5509e4432a7050deb655dc2acc1a3d74473afd.tar.xz
homework-1-chaninnohea-1f5509e4432a7050deb655dc2acc1a3d74473afd.zip
Currency Exchanger
-rw-r--r--CST 126/Homework 1/main.cpp122
1 files changed, 120 insertions, 2 deletions
diff --git a/CST 126/Homework 1/main.cpp b/CST 126/Homework 1/main.cpp
index 4460e4f..0bbb72b 100644
--- a/CST 126/Homework 1/main.cpp
+++ b/CST 126/Homework 1/main.cpp
@@ -2,12 +2,130 @@
// Class: CST 126
// Date: 04/08/2024
// Assignment: Homework
+// This program converts an amount from one chosen currency into another
#include <iostream>
-int main() {
+//Protoypes
+float convert(float input, float output, float amount);
+void run_conversion(char again);
+void currency_menu();
- std::cout << "Hello World";
+//Main to run the program
+int main()
+{
+ char again = 'Y';
+
+ cout << "Welcome to my currency conversion tool!\n";
+
+ run_conversion(again);
return 0;
+}
+
+//Conversion Calculator
+float convert(float input, float output, float amount)
+{
+ float converted_amount = 0.0;
+ struct currencies
+ {
+ const float GBP = 0.80;
+ const float Euro = 0.94;
+ const float Yen = 152.22;
+ const float AUD = 1.55;
+ const float USD = 1;
+ };
+
+ currencies currency;
+
+ if (input == output)
+ {
+ return amount;
+ }
+ if (input == 1)
+ {
+ input = currency.GBP;
+ }
+ else if (input == 2)
+ {
+ input = currency.Euro;
+ }
+ else if (input == 3)
+ {
+ input = currency.Yen;
+ }
+ else if (input == 4)
+ {
+ input = currency.AUD;
+ }
+ else if (input == 5)
+ {
+ input = currency.USD;
+ }
+
+ if (output == 1)
+ {
+ output = currency.GBP;
+ }
+ else if (output == 2)
+ {
+ output = currency.Euro;
+ }
+ else if (output == 3)
+ {
+ output = currency.Yen;
+ }
+ else if (output == 4)
+ {
+ output = currency.AUD;
+ }
+ else if (output == 5)
+ {
+ output = currency.USD;
+ }
+
+ converted_amount = output / input * amount;
+ return converted_amount;
+}
+
+//Loop to run the conversion while the user wants to
+void run_conversion(char again)
+{
+ while (toupper(again) != 'N')
+ {
+ int input_choice = 0;
+ int output_choice = 0;
+ float conversion = 0.0;
+ float amount = 0.0;
+
+ cout << "Choose your input currency: ";
+ currency_menu();
+ cin >> input_choice;
+ cin.ignore(100, '\n');
+ cout << "\nchoose your output currency: ";
+ cin >> output_choice;
+ cin.ignore(100, '\n');
+ cout << "\nWhat is the amount you would like to convert: ";
+ cin >> amount;
+ cin.ignore(100, '\n');
+ conversion = convert(input_choice, output_choice, amount);
+ cout << "In the new currency, that amount is " << conversion << std::endl;
+ cout << "\nDo you want to use the conversion tool again? (Y/N): ";
+ cin >> again;
+ cin.ignore(100, '\n');
+ if (toupper(again) != 'Y')
+ {
+ cout << "Thank you for using the currency conversion tool! \n";
+ }
+ }
+}
+
+//Menu display
+void currency_menu()
+{
+ cout << "\n\n1. GBP\n";
+ cout << "2. Euro\n";
+ cout << "3. Yen\n";
+ cout << "4. AUD\n";
+ cout << "5. USD\n\n";
} \ No newline at end of file