aboutsummaryrefslogtreecommitdiffstats
path: root/ee1301/wk2/hw2_directory
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
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')
-rw-r--r--ee1301/wk2/hw2_directory/strap012_HW2A.cpp49
-rw-r--r--ee1301/wk2/hw2_directory/strap012_HW2B.cpp101
-rw-r--r--ee1301/wk2/hw2_directory/strap012_HW2C.cpp49
3 files changed, 199 insertions, 0 deletions
diff --git a/ee1301/wk2/hw2_directory/strap012_HW2A.cpp b/ee1301/wk2/hw2_directory/strap012_HW2A.cpp
new file mode 100644
index 0000000..2877801
--- /dev/null
+++ b/ee1301/wk2/hw2_directory/strap012_HW2A.cpp
@@ -0,0 +1,49 @@
+/*
+20 Feb 2019
+Matthew Strapp
+5449340
+EE1301
+Spring 2019
+Homework 2A
+Useless Counter
+*/
+
+#include <iostream>
+using namespace std;
+int main () {
+ int countOG, i, j;
+
+do {
+
+ do {
+ cout << "Enter an integer from -50 to 50: ";
+ cin >> countOG;
+ } while (countOG > 50 || countOG < -50);
+
+ int count=countOG; //Store original integer for comparison to break loop
+
+ if (countOG < 0){
+ count*=-1;
+ for (i=count; i>0; i--) {
+ for (j=count; j>0; j--) {
+ cout << count;
+ }
+ count--;
+ cout << endl;
+ }
+ }
+
+ if (countOG > 0) {
+ for (count=1; count<=countOG; count++) {
+ for (i=0; i<count; i++) {
+ cout << count;
+ }
+ cout << endl;
+ }
+ }
+
+} while (countOG != 0);
+
+ cout << "Goodbye." << endl;
+ return 0;
+} \ No newline at end of file
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;
+}
diff --git a/ee1301/wk2/hw2_directory/strap012_HW2C.cpp b/ee1301/wk2/hw2_directory/strap012_HW2C.cpp
new file mode 100644
index 0000000..4d3d9b3
--- /dev/null
+++ b/ee1301/wk2/hw2_directory/strap012_HW2C.cpp
@@ -0,0 +1,49 @@
+/*
+20 Feb 2019
+Matthew Strapp
+5449340
+EE1301
+Spring 2019
+Homework 2C
+One-armed Bandit
+*/
+
+#include <iostream>
+#include <time.h>
+
+using namespace std;
+int main () {
+ srand (time(NULL)); //This seeds the randomness based on the current time
+ bool win=false;
+ int d=0, spin1, spin2, spin3, spin4;
+ do {
+ do {
+ win=false; //Reset win from before, otherwise win will always be true after it is true once
+ cout << "How many values do you want on each wheel? ";
+ cin >> d;
+ } while (d==0); //Without this failsafe, the program does undefined things at d=0, usually crashing
+
+ spin1= rand () % d + 1;
+ spin2= rand () % d + 1;
+ spin3= rand () % d + 1;
+ spin4= rand () % d + 1;
+ cout << "The wheels spin to give: " << spin1 << " " << spin2 << " " << spin3 << " " << spin4 << " ";
+ if (spin1==spin2) { // These nested statements only let the bool "win" be true if all of the spinners match
+ if (spin2==spin3) {
+ if (spin3==spin4) {
+ win=true;
+ }
+ }
+ }
+ if (win) {
+ cout << "Eureka!";
+ }
+ else {
+ cout << "You lose.";
+
+ }
+ cout << endl;
+ } while (d!=-1);
+ cout << "OK, goodbye." << endl;
+ return 0;
+} \ No newline at end of file