aboutsummaryrefslogtreecommitdiffstats
path: root/ee1301/wk2/hw2_directory/strap012_HW2B.cpp
diff options
context:
space:
mode:
authorMatt Strapp <matt@mattstrapp.net>2022-05-24 11:18:46 -0500
committerMatt Strapp <matt@mattstrapp.net>2022-05-24 11:19:55 -0500
commit7a73162607544204032aa66cce755daf21edebda (patch)
tree58578e01f15f34a855d99c32898db9d7a1603e67 /ee1301/wk2/hw2_directory/strap012_HW2B.cpp
parentdo some stuff (diff)
downloadhomework-7a73162607544204032aa66cce755daf21edebda.tar
homework-7a73162607544204032aa66cce755daf21edebda.tar.gz
homework-7a73162607544204032aa66cce755daf21edebda.tar.bz2
homework-7a73162607544204032aa66cce755daf21edebda.tar.lz
homework-7a73162607544204032aa66cce755daf21edebda.tar.xz
homework-7a73162607544204032aa66cce755daf21edebda.tar.zst
homework-7a73162607544204032aa66cce755daf21edebda.zip
Graduate
Signed-off-by: Matt Strapp <matt@mattstrapp.net>
Diffstat (limited to 'ee1301/wk2/hw2_directory/strap012_HW2B.cpp')
-rw-r--r--ee1301/wk2/hw2_directory/strap012_HW2B.cpp101
1 files changed, 101 insertions, 0 deletions
diff --git a/ee1301/wk2/hw2_directory/strap012_HW2B.cpp b/ee1301/wk2/hw2_directory/strap012_HW2B.cpp
new file mode 100644
index 0000000..fb6481f
--- /dev/null
+++ b/ee1301/wk2/hw2_directory/strap012_HW2B.cpp
@@ -0,0 +1,101 @@
+/*
+20 Feb 2019
+Matthew Strapp
+5449340
+EE1301
+Spring 2019
+Homework 2B
+Time Travel Calculator
+*/
+
+#include <iostream>
+using namespace std;
+int main()
+{
+
+ bool foo = 0, bar = false; //Workaround to prevent unneeded if statements
+ char Time, travel; //"time" is reserved by C++, "Time" is not
+ int hourOG, hourChange, hourNew, intervalChange = 0, timeChange = 0;
+ cout << "Enter current time (A for AM, P for PM): ";
+ cin >> hourOG >> Time;
+ cout << "How many hours forward or backward do you want to move the clock (F for forwards, B for backward): ";
+ cin >> travel >> hourChange;
+ for (int i = hourChange; i >= 0; i--)
+ {
+ if (i != 0)
+ {
+ intervalChange++;
+ }
+ if (travel == 'F')
+ {
+ if (hourOG + hourChange >= 12)
+ {
+ if (hourOG + hourChange == 12)
+ {
+ timeChange++;
+ }
+ else //This else statement is a complete hackjob. It works consistently though.
+ {
+ int temp = (hourOG + hourChange) - 12;
+ bar=true;
+ while (temp>12) {
+ temp-=12;
+ timeChange++;
+ }
+ hourNew=temp;
+ }
+ }
+ timeChange++;
+ }
+
+ if (travel == 'B')
+ {
+ if (hourOG - hourChange <= 0)
+ {
+ int temp = (hourOG - hourChange) + 12;
+ bar=true;
+ while (temp>12) {
+ temp-=12;
+ timeChange++;
+ }
+ if (hourChange<=24) {
+ hourNew=temp;
+ } else {
+ for (int k=(hourChange%24); k>0; k--) {
+ hourNew=temp+12;
+ }
+ }
+ }
+ timeChange++;
+ }
+ if (intervalChange >= 12)
+ {
+ intervalChange = 0;
+ timeChange++;
+ }
+ }
+ for (timeChange; timeChange > 1; timeChange--)
+ {
+ if (Time == 'A')
+ {
+ Time += 15; //15 is the difference in the ASCII table between 'A' and 'P'
+ }
+ else
+ {
+ if (Time == 'P')
+ {
+ Time -= 15;
+ }
+ }
+ }
+ if (travel == 'F' && !bar)
+ {
+ hourNew = hourOG + intervalChange;
+ }
+ if (travel == 'B' && !bar)
+ {
+ hourNew = hourOG - intervalChange;
+ }
+ cout << "The new time is: " << hourNew << " " << Time << "M" << endl;
+ return 0;
+}