From 73f07ebff7508d9c84a057de5aed162ac1c3da32 Mon Sep 17 00:00:00 2001 From: Asahel Date: Mon, 12 Feb 2024 09:14:39 -0800 Subject: Not sure if I commited. Making sure. --- InClassExercise 9/InClassExercise 9.vcxproj | 3 + .../InClassExercise 9.vcxproj.filters | 9 +++ InClassExercise 9/Node.h | 14 ++++ InClassExercise 9/PointerExercises.cpp | 21 ++++++ InClassExercise 9/PointerExercises.h | 13 ++++ InClassExercise 9/program.cpp | 82 +++++++++++++++++++--- 6 files changed, 133 insertions(+), 9 deletions(-) create mode 100644 InClassExercise 9/Node.h create mode 100644 InClassExercise 9/PointerExercises.cpp create mode 100644 InClassExercise 9/PointerExercises.h diff --git a/InClassExercise 9/InClassExercise 9.vcxproj b/InClassExercise 9/InClassExercise 9.vcxproj index 32bc00a..caf0542 100644 --- a/InClassExercise 9/InClassExercise 9.vcxproj +++ b/InClassExercise 9/InClassExercise 9.vcxproj @@ -127,10 +127,13 @@ + + + diff --git a/InClassExercise 9/InClassExercise 9.vcxproj.filters b/InClassExercise 9/InClassExercise 9.vcxproj.filters index 79d55c6..ae02f34 100644 --- a/InClassExercise 9/InClassExercise 9.vcxproj.filters +++ b/InClassExercise 9/InClassExercise 9.vcxproj.filters @@ -21,10 +21,19 @@ Source Files + + Source Files + Header Files + + Header Files + + + Header Files + \ No newline at end of file diff --git a/InClassExercise 9/Node.h b/InClassExercise 9/Node.h new file mode 100644 index 0000000..b0ba7cd --- /dev/null +++ b/InClassExercise 9/Node.h @@ -0,0 +1,14 @@ +#ifndef NODE_H +#define NODE_H + +struct Node { + int data; + Node* _next; + +}; + + + + +#endif // !NODE_H + diff --git a/InClassExercise 9/PointerExercises.cpp b/InClassExercise 9/PointerExercises.cpp new file mode 100644 index 0000000..003734d --- /dev/null +++ b/InClassExercise 9/PointerExercises.cpp @@ -0,0 +1,21 @@ +#include "PointerExercises.h" +#include +using std::cout; +using std::endl; + +void Swap(Node* first, Node* second) +{ + int temp = first->_num; + first->_num = second->_num; + second->_num = temp; +} + +void Standardize_101(Node* node) +{ + node->_num %= 101; +} + +void Square(Node* node) +{ + node->_num *= node->_num; +} \ No newline at end of file diff --git a/InClassExercise 9/PointerExercises.h b/InClassExercise 9/PointerExercises.h new file mode 100644 index 0000000..2894655 --- /dev/null +++ b/InClassExercise 9/PointerExercises.h @@ -0,0 +1,13 @@ +#ifndef POINTER_EXERCISES_H +#define POINTER_EXERCISES_H + +#include "Node.h" + +void Swap(Node* first, Node* second); + +void Standardize_101(Node* node); + +void Square(Node* node); + + +#endif // !POINTER_EXERCISES_H diff --git a/InClassExercise 9/program.cpp b/InClassExercise 9/program.cpp index 0339535..ab09232 100644 --- a/InClassExercise 9/program.cpp +++ b/InClassExercise 9/program.cpp @@ -4,27 +4,91 @@ // Assignment: InClassExercise9 #include + +#include "Node.h" + +#include "PointerExercises.h" + +void BasicReferencesAndVariables() { + int variable = 15; + + int& ref = variable; + + int* address = &variable; + + ref++; + + std::cout << variable << std::endl; + + std::cout << address; + +} + + +void DoublesNodeData(Node node) +{ + node.data *= 2; +} +void DoublesNodeDataRef(Node& node) { + node.data *= 2; +} +void DoublesNodeData(Node* node){ + node->data *= 2; +} + +//Node* node = &newNode + + #include "ReferenceExamples.h" using std:: cout; using std:: endl; int main() { - int x = 5, y = 72; - Swap(x, y); + //BasicReferencesAndVariables(); + Node newNode{}; + + newNode.data = 32; + + //std::cout << newNode.data << std::endl; + + Node nextNode{}; + + nextNode.data = 438; + + newNode._next = &nextNode; + + //cout << newNode._next->data << endl; + + Node* address = &newNode; + + cout << address << endl; + + address++; + + cout << address << endl; + + + //int x = 5, y = 72; + + //Swap(x, y); + + //std::cout << "x = " << x << ", y = " << y << endl; - std::cout << "x = " << x << ", y = " << y << endl; + //int n = 4392; - int n = 4392; + //Standardize_101(n); - Standardize_101(n); + //cout << "Modded n = " << n << endl; - cout << "Modded n = " << n << endl; + //Square(n); - Square(n); + //cout << "Squared n = " << n << endl; - cout << "Squared n = " << n << endl; + //cout << " Size of an int" << sizeof(int); - cout << " Size of an int" << sizeof(int); + Swap(&newNode, &nextNode); + Standardize_101(&newNode); + Square(&nextNode); } \ No newline at end of file -- cgit v1.2.3