diff --git a/.gitignore b/.gitignore index 434f0d0..cb6080d 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ /Assignments/MP1_CalebFontenot/dist/ /Assignments/MP2_CalebFontenot/build/ /Assignments/MP2_CalebFontenot/dist/ +/Assignments/Pointers_CalebFontenot/build/ +/Assignments/Pointers_CalebFontenot/dist/ diff --git a/Assignments/MP1_CalebFontenot/Printed HTMLs/main.html b/Assignments/MP1_CalebFontenot/Printed HTMLs/main.html new file mode 100644 index 0000000..b7fad3c --- /dev/null +++ b/Assignments/MP1_CalebFontenot/Printed HTMLs/main.html @@ -0,0 +1,235 @@ + + + +main.cpp + + + + +
/home/caleb/ASDV-Cpp/Assignments/MP1_CalebFontenot/main.cpp
+
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/cppFiles/main.cc to edit this template
+ */
+
+/* 
+ * File:   main.cpp
+ * Author: caleb
+ *
+ * Created on February 26, 2024, 11:30 AM
+ */
+#include <iomanip>
+#include <cstdlib>
+#include <iostream>
+#include <tuple>
+#include <cmath>
+#include <boost/algorithm/string.hpp>
+#include <regex>
+#include <vector>
+using namespace std;
+
+/*
+ * 
+ */
+
+int milesPerGallon(int gallons, int milesDriven) {
+    return milesDriven / gallons;
+}
+
+std::tuple<double, double> maleFemalePercentages(int maleStudents, int femaleStudents) {
+    int totalStudents = maleStudents + femaleStudents;
+    double malePercentage = (double) maleStudents / totalStudents;
+    double femalePercentage = (double) femaleStudents / totalStudents;
+    return {malePercentage, femalePercentage};
+}
+
+double celciusToFahrenheit(double celcius) {
+    return 9.0 / 5.0 * celcius + 32.0;
+}
+
+std::string getMonthName(int month) {
+    std::string returnString = "";
+    switch (month) {
+        case 1:
+            returnString = "January";
+            break;
+        case 2:
+            returnString = "February";
+            break;
+        case 3:
+            returnString = "March";
+            break;
+        case 4:
+            returnString = "April";
+            break;
+        case 5:
+            returnString = "May";
+            break;
+        case 6:
+            returnString = "June";
+            break;
+        case 7:
+            returnString = "July";
+            break;
+        case 8:
+            returnString = "August";
+            break;
+        case 9:
+            returnString = "September";
+            break;
+        case 10:
+            returnString = "October";
+        case 11:
+            returnString = "November";
+            break;
+        case 12:
+            returnString = "December";
+            break;
+    }
+    return returnString;
+}
+
+void prettyPrintSalesTax(int month, int year, int total, double totalIncome, double stateSalesTax, double countySalesTax, double totalSalesTax) {
+    printf("%s %d\n", getMonthName(month).c_str(), year);
+    printf("---------------------------------------\n");
+    printf("Total collected:%*c$ %.2f\n", 5, totalIncome);
+    printf("Sales:%*c$ %.2f\n", 16, stateSalesTax);
+    printf("County Sales tax:%*c$ %.2f\n", 5, countySalesTax);
+    printf("Total sales tax:%*c$ %.2f\n", 6, totalSalesTax);
+}
+
+void monthlySalesTax(int month, int year, double total) {
+    double totalIncome = total / 1.06;
+    double stateSalesTax = total * 0.04;
+    double countySalesTax = total * 0.02;
+    double totalSalesTax = stateSalesTax + countySalesTax;
+    prettyPrintSalesTax(month, year, total, totalIncome, stateSalesTax, countySalesTax, totalSalesTax);
+}
+
+bool is_integer(const std::string & s) {
+    return std::regex_match(s, std::regex("[-+]?[0-9]+"));
+}
+
+void mathTutor() {
+    string userInput = "";
+    int rand1, rand2 = 0;
+    do {
+        cout << "Enter Q/q to quit." << endl;
+        rand1 = (rand() % 100);
+        rand2 = (rand() % 100);
+        cout << "What's " << rand1 << " + " << rand2 << "?" << endl;
+        cin >> userInput;
+        boost::algorithm::to_lower(userInput);
+
+        if (is_integer(userInput)) {
+            if (rand1 + rand2 == stoi(userInput)) {
+                cout << "You are correct!" << endl;
+            } else {
+                cout << "Sorry, the answer is " << (rand1 + rand2) << ". Try again." << endl;
+            }
+        }
+    } while (userInput.compare("q") != 0);
+}
+
+void prettyPrintMonthlyPayments(double payment, double rate, double numOfPayments, double loanAmount, double annualRate, double amountPaid, double amountPaidBack) {
+    printf("---------------------------------------\n");
+    printf("Loan amount:%*c$ %.2f\n", 15, loanAmount);
+    printf("Monthly Interest Rate:%*c%.0f%%\n", 14, rate);
+    printf("Number of Payments:%*c%.0f\n", 17, numOfPayments);
+    printf("Monthly Payment:%*c$ %.2f\n", 12, payment);
+    printf("Amount Paid Back:%*c$ %.2f\n", 11, amountPaidBack);
+    printf("Interest Paid:%*c$  %.2f\n", 14, amountPaid);
+}
+
+void monthlyPayments(double annualRate, double numOfPayments, double loanAmount, double amountPaid, double amountPaidBack) {
+    double rate = (annualRate / 12.0);
+    double topHalf = rate * pow((1.0 + rate), numOfPayments);
+    double bottomHalf = pow((1.0 + rate), numOfPayments) - 1.0;
+    double payment = (topHalf / bottomHalf) * loanAmount;
+    prettyPrintMonthlyPayments(payment, rate, numOfPayments, loanAmount, annualRate, amountPaid, amountPaidBack);
+}
+
+// Function to replace placeholders in the story with user inputs
+std::string replacePlaceholders(const std::string& story, const std::vector<std::string>& inputs) {
+    std::string result = story;
+    std::regex placeholderRegex("<([^>]+)>");
+    auto inputIter = inputs.begin();
+
+    for (std::sregex_iterator iter(story.begin(), story.end(), placeholderRegex), end; iter != end; ++iter) {
+        const std::string& placeholder = iter->str();
+        if (inputIter != inputs.end()) {
+            result.replace(result.find(placeholder), placeholder.length(), *inputIter);
+            ++inputIter;
+        } else {
+            // Handle the case where there are more placeholders than inputs
+            break;
+        }
+    }
+    return result;
+}
+
+void madLib() {
+    string storyTemplate = "There once was a person named <name> who lived in <city>. At the age of <age>, <name> went to a collage at <college>. <Name> graduated and went to work as a <profession>. Then, <name> adopted a(n) <animal> named <pet name>. They both lived happily ever after!";
+    
+    std::regex placeholderRegex("<([^>]+)>");
+    std::vector<std::string> placeholders;
+    for (std::sregex_iterator iter(storyTemplate.begin(), storyTemplate.end(), placeholderRegex), end; iter != end; ++iter) {
+        placeholders.push_back(iter->str());
+    }
+    
+    std::vector<std::string> inputs;
+    for (const auto& placeholder : placeholders) {
+        std::string input;
+        std::cout << "Enter " << placeholder << ": ";
+        std::getline(std::cin, input);
+        inputs.push_back(input);
+    }
+    
+     // Replace placeholders with user inputs and print the complete story
+    std::string completedStory = replacePlaceholders(storyTemplate, inputs);
+    std::cout << "Completed story:\n" << completedStory << std::endl;
+    
+}
+
+int main(int argc, char** argv) {
+    cout << "The car that drove 375 miles and burned 15 gallons of gasoline consumed the fuel at a rate of " << milesPerGallon(15, 375) << " MPG.\n";
+    int maleStudents, femaleStudents = 0;
+    //double malePercentage, femalePercentage = 0.0;
+    cout << "Enter the number of male students, followed by the number of female students: ";
+    //cin >> maleStudents >> femaleStudents;
+    //auto [malePercentage, femalePercentage] = maleFemalePercentages(maleStudents, femaleStudents);
+    //cout << "The ratio of male to female students is " << setprecision(2) << (malePercentage * 10) << "/" << setprecision(2) <<(femalePercentage * 10) << endl;
+    cout << "0C is " << std::to_string(celciusToFahrenheit(0)) << "F." << endl;
+    cout << "100C is " << std::to_string(celciusToFahrenheit(100)) << "F." << endl;
+    cout << "23.8889C is " << std::to_string(celciusToFahrenheit(23.8889)) << "F." << endl;
+    monthlySalesTax(3, 2024, 100000.08);
+    //mathTutor();
+    monthlyPayments(12, 36, 10000.00, 1957.15, 11957.15);
+    madLib();
+    return 0;
+}
+
+
+
+ diff --git a/Assignments/MP1_CalebFontenot/main.cpp b/Assignments/MP1_CalebFontenot/main.cpp index e7a28ee..f4c1566 100644 --- a/Assignments/MP1_CalebFontenot/main.cpp +++ b/Assignments/MP1_CalebFontenot/main.cpp @@ -14,7 +14,9 @@ #include #include #include - +#include +#include +#include using namespace std; /* @@ -26,7 +28,7 @@ int milesPerGallon(int gallons, int milesDriven) { } std::tuple maleFemalePercentages(int maleStudents, int femaleStudents) { - int totalStudents = maleStudents + femaleStudents; + int totalStudents = maleStudents + femaleStudents; double malePercentage = (double) maleStudents / totalStudents; double femalePercentage = (double) femaleStudents / totalStudents; return {malePercentage, femalePercentage}; @@ -36,7 +38,147 @@ double celciusToFahrenheit(double celcius) { return 9.0 / 5.0 * celcius + 32.0; } -double monthlySalesTax(int month, int year, double total) { +std::string getMonthName(int month) { + std::string returnString = ""; + switch (month) { + case 1: + returnString = "January"; + break; + case 2: + returnString = "February"; + break; + case 3: + returnString = "March"; + break; + case 4: + returnString = "April"; + break; + case 5: + returnString = "May"; + break; + case 6: + returnString = "June"; + break; + case 7: + returnString = "July"; + break; + case 8: + returnString = "August"; + break; + case 9: + returnString = "September"; + break; + case 10: + returnString = "October"; + case 11: + returnString = "November"; + break; + case 12: + returnString = "December"; + break; + } + return returnString; +} + +void prettyPrintSalesTax(int month, int year, int total, double totalIncome, double stateSalesTax, double countySalesTax, double totalSalesTax) { + printf("%s %d\n", getMonthName(month).c_str(), year); + printf("---------------------------------------\n"); + printf("Total collected:%*c$ %.2f\n", 5, totalIncome); + printf("Sales:%*c$ %.2f\n", 16, stateSalesTax); + printf("County Sales tax:%*c$ %.2f\n", 5, countySalesTax); + printf("Total sales tax:%*c$ %.2f\n", 6, totalSalesTax); +} + +void monthlySalesTax(int month, int year, double total) { + double totalIncome = total / 1.06; + double stateSalesTax = total * 0.04; + double countySalesTax = total * 0.02; + double totalSalesTax = stateSalesTax + countySalesTax; + prettyPrintSalesTax(month, year, total, totalIncome, stateSalesTax, countySalesTax, totalSalesTax); +} + +bool is_integer(const std::string & s) { + return std::regex_match(s, std::regex("[-+]?[0-9]+")); +} + +void mathTutor() { + string userInput = ""; + int rand1, rand2 = 0; + do { + cout << "Enter Q/q to quit." << endl; + rand1 = (rand() % 100); + rand2 = (rand() % 100); + cout << "What's " << rand1 << " + " << rand2 << "?" << endl; + cin >> userInput; + boost::algorithm::to_lower(userInput); + + if (is_integer(userInput)) { + if (rand1 + rand2 == stoi(userInput)) { + cout << "You are correct!" << endl; + } else { + cout << "Sorry, the answer is " << (rand1 + rand2) << ". Try again." << endl; + } + } + } while (userInput.compare("q") != 0); +} + +void prettyPrintMonthlyPayments(double payment, double rate, double numOfPayments, double loanAmount, double annualRate, double amountPaid, double amountPaidBack) { + printf("---------------------------------------\n"); + printf("Loan amount:%*c$ %.2f\n", 15, loanAmount); + printf("Monthly Interest Rate:%*c%.0f%%\n", 14, rate); + printf("Number of Payments:%*c%.0f\n", 17, numOfPayments); + printf("Monthly Payment:%*c$ %.2f\n", 12, payment); + printf("Amount Paid Back:%*c$ %.2f\n", 11, amountPaidBack); + printf("Interest Paid:%*c$ %.2f\n", 14, amountPaid); +} + +void monthlyPayments(double annualRate, double numOfPayments, double loanAmount, double amountPaid, double amountPaidBack) { + double rate = (annualRate / 12.0); + double topHalf = rate * pow((1.0 + rate), numOfPayments); + double bottomHalf = pow((1.0 + rate), numOfPayments) - 1.0; + double payment = (topHalf / bottomHalf) * loanAmount; + prettyPrintMonthlyPayments(payment, rate, numOfPayments, loanAmount, annualRate, amountPaid, amountPaidBack); +} + +// Function to replace placeholders in the story with user inputs +std::string replacePlaceholders(const std::string& story, const std::vector& inputs) { + std::string result = story; + std::regex placeholderRegex("<([^>]+)>"); + auto inputIter = inputs.begin(); + + for (std::sregex_iterator iter(story.begin(), story.end(), placeholderRegex), end; iter != end; ++iter) { + const std::string& placeholder = iter->str(); + if (inputIter != inputs.end()) { + result.replace(result.find(placeholder), placeholder.length(), *inputIter); + ++inputIter; + } else { + // Handle the case where there are more placeholders than inputs + break; + } + } + return result; +} + +void madLib() { + string storyTemplate = "There once was a person named who lived in . At the age of , went to a collage at . graduated and went to work as a . Then, adopted a(n) named . They both lived happily ever after!"; + + std::regex placeholderRegex("<([^>]+)>"); + std::vector placeholders; + for (std::sregex_iterator iter(storyTemplate.begin(), storyTemplate.end(), placeholderRegex), end; iter != end; ++iter) { + placeholders.push_back(iter->str()); + } + + std::vector inputs; + for (const auto& placeholder : placeholders) { + std::string input; + std::cout << "Enter " << placeholder << ": "; + std::getline(std::cin, input); + inputs.push_back(input); + } + + // Replace placeholders with user inputs and print the complete story + std::string completedStory = replacePlaceholders(storyTemplate, inputs); + std::cout << "Completed story:\n" << completedStory << std::endl; } @@ -45,14 +187,16 @@ int main(int argc, char** argv) { int maleStudents, femaleStudents = 0; //double malePercentage, femalePercentage = 0.0; cout << "Enter the number of male students, followed by the number of female students: "; - cin >> maleStudents >> femaleStudents; - auto [malePercentage, femalePercentage] = maleFemalePercentages(maleStudents, femaleStudents); - cout << "The ratio of male to female students is " << setprecision(2) << (malePercentage * 10) << "/" << setprecision(2) <<(femalePercentage * 10) << endl; + //cin >> maleStudents >> femaleStudents; + //auto [malePercentage, femalePercentage] = maleFemalePercentages(maleStudents, femaleStudents); + //cout << "The ratio of male to female students is " << setprecision(2) << (malePercentage * 10) << "/" << setprecision(2) <<(femalePercentage * 10) << endl; cout << "0C is " << std::to_string(celciusToFahrenheit(0)) << "F." << endl; cout << "100C is " << std::to_string(celciusToFahrenheit(100)) << "F." << endl; cout << "23.8889C is " << std::to_string(celciusToFahrenheit(23.8889)) << "F." << endl; - - + monthlySalesTax(3, 2024, 100000.08); + //mathTutor(); + monthlyPayments(12, 36, 10000.00, 1957.15, 11957.15); + madLib(); return 0; } diff --git a/Assignments/MP1_CalebFontenot/nbproject/Makefile-Debug.mk b/Assignments/MP1_CalebFontenot/nbproject/Makefile-Debug.mk index 16d41ef..c1f00bf 100644 --- a/Assignments/MP1_CalebFontenot/nbproject/Makefile-Debug.mk +++ b/Assignments/MP1_CalebFontenot/nbproject/Makefile-Debug.mk @@ -39,7 +39,7 @@ OBJECTFILES= \ # C Compiler Flags -CFLAGS= +CFLAGS=march=x86-64-v3 -O2 -lto # CC Compiler Flags CCFLAGS= diff --git a/Assignments/MP1_CalebFontenot/nbproject/configurations.xml b/Assignments/MP1_CalebFontenot/nbproject/configurations.xml index 3175ba1..3201c40 100644 --- a/Assignments/MP1_CalebFontenot/nbproject/configurations.xml +++ b/Assignments/MP1_CalebFontenot/nbproject/configurations.xml @@ -35,6 +35,10 @@ false + + true + march=x86-64-v3 -O2 -lto + diff --git a/Assignments/MP1_CalebFontenot/nbproject/private/configurations.xml b/Assignments/MP1_CalebFontenot/nbproject/private/configurations.xml index 51f948c..ae2eed4 100644 --- a/Assignments/MP1_CalebFontenot/nbproject/private/configurations.xml +++ b/Assignments/MP1_CalebFontenot/nbproject/private/configurations.xml @@ -13,6 +13,8 @@ + + @@ -33,7 +35,6 @@ "${OUTPUT_PATH}" true - 2 0 0 diff --git a/Assignments/Pointers_CalebFontenot/.dep.inc b/Assignments/Pointers_CalebFontenot/.dep.inc new file mode 100644 index 0000000..38ba445 --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/.dep.inc @@ -0,0 +1,5 @@ +# This code depends on make tool being used +DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES} ${TESTOBJECTFILES})) +ifneq (${DEPFILES},) +include ${DEPFILES} +endif diff --git a/Assignments/Pointers_CalebFontenot/Makefile b/Assignments/Pointers_CalebFontenot/Makefile new file mode 100644 index 0000000..05de621 --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/Makefile @@ -0,0 +1,128 @@ +# +# There exist several targets which are by default empty and which can be +# used for execution of your targets. These targets are usually executed +# before and after some main targets. They are: +# +# .build-pre: called before 'build' target +# .build-post: called after 'build' target +# .clean-pre: called before 'clean' target +# .clean-post: called after 'clean' target +# .clobber-pre: called before 'clobber' target +# .clobber-post: called after 'clobber' target +# .all-pre: called before 'all' target +# .all-post: called after 'all' target +# .help-pre: called before 'help' target +# .help-post: called after 'help' target +# +# Targets beginning with '.' are not intended to be called on their own. +# +# Main targets can be executed directly, and they are: +# +# build build a specific configuration +# clean remove built files from a configuration +# clobber remove all built files +# all build all configurations +# help print help mesage +# +# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and +# .help-impl are implemented in nbproject/makefile-impl.mk. +# +# Available make variables: +# +# CND_BASEDIR base directory for relative paths +# CND_DISTDIR default top distribution directory (build artifacts) +# CND_BUILDDIR default top build directory (object files, ...) +# CONF name of current configuration +# CND_PLATFORM_${CONF} platform name (current configuration) +# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration) +# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration) +# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration) +# CND_PACKAGE_DIR_${CONF} directory of package (current configuration) +# CND_PACKAGE_NAME_${CONF} name of package (current configuration) +# CND_PACKAGE_PATH_${CONF} path to package (current configuration) +# +# NOCDDL + + +# Environment +MKDIR=mkdir +CP=cp +CCADMIN=CCadmin + + +# build +build: .build-post + +.build-pre: +# Add your pre 'build' code here... + +.build-post: .build-impl +# Add your post 'build' code here... + + +# clean +clean: .clean-post + +.clean-pre: +# Add your pre 'clean' code here... + +.clean-post: .clean-impl +# Add your post 'clean' code here... + + +# clobber +clobber: .clobber-post + +.clobber-pre: +# Add your pre 'clobber' code here... + +.clobber-post: .clobber-impl +# Add your post 'clobber' code here... + + +# all +all: .all-post + +.all-pre: +# Add your pre 'all' code here... + +.all-post: .all-impl +# Add your post 'all' code here... + + +# build tests +build-tests: .build-tests-post + +.build-tests-pre: +# Add your pre 'build-tests' code here... + +.build-tests-post: .build-tests-impl +# Add your post 'build-tests' code here... + + +# run tests +test: .test-post + +.test-pre: build-tests +# Add your pre 'test' code here... + +.test-post: .test-impl +# Add your post 'test' code here... + + +# help +help: .help-post + +.help-pre: +# Add your pre 'help' code here... + +.help-post: .help-impl +# Add your post 'help' code here... + + + +# include project implementation makefile +include nbproject/Makefile-impl.mk + +# include project make variables +include nbproject/Makefile-variables.mk diff --git a/Assignments/Pointers_CalebFontenot/main.cpp b/Assignments/Pointers_CalebFontenot/main.cpp new file mode 100644 index 0000000..c91aad9 --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/main.cpp @@ -0,0 +1,27 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/cppFiles/main.cc to edit this template + */ + +/* + * File: main.cpp + * Author: caleb + * + * Created on March 4, 2024, 11:07 AM + */ + +#include +#include + +using namespace std; +#include "pointers1.h" + +/* + * + */ +int main(int argc, char** argv) { + dereferencePointer(); + if (p == nullptr) + return 0; +} + diff --git a/Assignments/Pointers_CalebFontenot/nbproject/Makefile-Debug.mk b/Assignments/Pointers_CalebFontenot/nbproject/Makefile-Debug.mk new file mode 100644 index 0000000..ae06ffe --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/nbproject/Makefile-Debug.mk @@ -0,0 +1,89 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a -pre and a -post target defined where you can add customized code. +# +# This makefile implements configuration specific macros and targets. + + +# Environment +MKDIR=mkdir +CP=cp +GREP=grep +NM=nm +CCADMIN=CCadmin +RANLIB=ranlib +CC=gcc +CCC=g++ +CXX=g++ +FC=gfortran +AS=as + +# Macros +CND_PLATFORM=GNU-Linux +CND_DLIB_EXT=so +CND_CONF=Debug +CND_DISTDIR=dist +CND_BUILDDIR=build + +# Include project Makefile +include Makefile + +# Object Directory +OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} + +# Object Files +OBJECTFILES= \ + ${OBJECTDIR}/main.o \ + ${OBJECTDIR}/pointers1.o + + +# C Compiler Flags +CFLAGS= + +# CC Compiler Flags +CCFLAGS= +CXXFLAGS= + +# Fortran Compiler Flags +FFLAGS= + +# Assembler Flags +ASFLAGS= + +# Link Libraries and Options +LDLIBSOPTIONS= + +# Build Targets +.build-conf: ${BUILD_SUBPROJECTS} + "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/pointers_calebfontenot + +${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/pointers_calebfontenot: ${OBJECTFILES} + ${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM} + ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/pointers_calebfontenot ${OBJECTFILES} ${LDLIBSOPTIONS} + +${OBJECTDIR}/main.o: main.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} "$@.d" + $(COMPILE.cc) -g -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp + +${OBJECTDIR}/pointers1.o: pointers1.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} "$@.d" + $(COMPILE.cc) -g -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/pointers1.o pointers1.cpp + +# Subprojects +.build-subprojects: + +# Clean Targets +.clean-conf: ${CLEAN_SUBPROJECTS} + ${RM} -r ${CND_BUILDDIR}/${CND_CONF} + +# Subprojects +.clean-subprojects: + +# Enable dependency checking +.dep.inc: .depcheck-impl + +include .dep.inc diff --git a/Assignments/Pointers_CalebFontenot/nbproject/Makefile-Release.mk b/Assignments/Pointers_CalebFontenot/nbproject/Makefile-Release.mk new file mode 100644 index 0000000..33d2f5d --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/nbproject/Makefile-Release.mk @@ -0,0 +1,89 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a -pre and a -post target defined where you can add customized code. +# +# This makefile implements configuration specific macros and targets. + + +# Environment +MKDIR=mkdir +CP=cp +GREP=grep +NM=nm +CCADMIN=CCadmin +RANLIB=ranlib +CC=gcc +CCC=g++ +CXX=g++ +FC=gfortran +AS=as + +# Macros +CND_PLATFORM=GNU-Linux +CND_DLIB_EXT=so +CND_CONF=Release +CND_DISTDIR=dist +CND_BUILDDIR=build + +# Include project Makefile +include Makefile + +# Object Directory +OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} + +# Object Files +OBJECTFILES= \ + ${OBJECTDIR}/main.o \ + ${OBJECTDIR}/pointers1.o + + +# C Compiler Flags +CFLAGS= + +# CC Compiler Flags +CCFLAGS= +CXXFLAGS= + +# Fortran Compiler Flags +FFLAGS= + +# Assembler Flags +ASFLAGS= + +# Link Libraries and Options +LDLIBSOPTIONS= + +# Build Targets +.build-conf: ${BUILD_SUBPROJECTS} + "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/pointers_calebfontenot + +${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/pointers_calebfontenot: ${OBJECTFILES} + ${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM} + ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/pointers_calebfontenot ${OBJECTFILES} ${LDLIBSOPTIONS} + +${OBJECTDIR}/main.o: main.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} "$@.d" + $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp + +${OBJECTDIR}/pointers1.o: pointers1.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} "$@.d" + $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/pointers1.o pointers1.cpp + +# Subprojects +.build-subprojects: + +# Clean Targets +.clean-conf: ${CLEAN_SUBPROJECTS} + ${RM} -r ${CND_BUILDDIR}/${CND_CONF} + +# Subprojects +.clean-subprojects: + +# Enable dependency checking +.dep.inc: .depcheck-impl + +include .dep.inc diff --git a/Assignments/Pointers_CalebFontenot/nbproject/Makefile-impl.mk b/Assignments/Pointers_CalebFontenot/nbproject/Makefile-impl.mk new file mode 100644 index 0000000..65fd8db --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/nbproject/Makefile-impl.mk @@ -0,0 +1,133 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a pre- and a post- target defined where you can add customization code. +# +# This makefile implements macros and targets common to all configurations. +# +# NOCDDL + + +# Building and Cleaning subprojects are done by default, but can be controlled with the SUB +# macro. If SUB=no, subprojects will not be built or cleaned. The following macro +# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf +# and .clean-reqprojects-conf unless SUB has the value 'no' +SUB_no=NO +SUBPROJECTS=${SUB_${SUB}} +BUILD_SUBPROJECTS_=.build-subprojects +BUILD_SUBPROJECTS_NO= +BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}} +CLEAN_SUBPROJECTS_=.clean-subprojects +CLEAN_SUBPROJECTS_NO= +CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} + + +# Project Name +PROJECTNAME=Pointers_CalebFontenot + +# Active Configuration +DEFAULTCONF=Debug +CONF=${DEFAULTCONF} + +# All Configurations +ALLCONFS=Debug Release + + +# build +.build-impl: .build-pre .validate-impl .depcheck-impl + @#echo "=> Running $@... Configuration=$(CONF)" + "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf + + +# clean +.clean-impl: .clean-pre .validate-impl .depcheck-impl + @#echo "=> Running $@... Configuration=$(CONF)" + "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf + + +# clobber +.clobber-impl: .clobber-pre .depcheck-impl + @#echo "=> Running $@..." + for CONF in ${ALLCONFS}; \ + do \ + "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \ + done + +# all +.all-impl: .all-pre .depcheck-impl + @#echo "=> Running $@..." + for CONF in ${ALLCONFS}; \ + do \ + "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \ + done + +# build tests +.build-tests-impl: .build-impl .build-tests-pre + @#echo "=> Running $@... Configuration=$(CONF)" + "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf + +# run tests +.test-impl: .build-tests-impl .test-pre + @#echo "=> Running $@... Configuration=$(CONF)" + "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf + +# dependency checking support +.depcheck-impl: + @echo "# This code depends on make tool being used" >.dep.inc + @if [ -n "${MAKE_VERSION}" ]; then \ + echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES} \$${TESTOBJECTFILES}))" >>.dep.inc; \ + echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \ + echo "include \$${DEPFILES}" >>.dep.inc; \ + echo "endif" >>.dep.inc; \ + else \ + echo ".KEEP_STATE:" >>.dep.inc; \ + echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \ + fi + +# configuration validation +.validate-impl: + @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \ + then \ + echo ""; \ + echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \ + echo "See 'make help' for details."; \ + echo "Current directory: " `pwd`; \ + echo ""; \ + fi + @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \ + then \ + exit 1; \ + fi + + +# help +.help-impl: .help-pre + @echo "This makefile supports the following configurations:" + @echo " ${ALLCONFS}" + @echo "" + @echo "and the following targets:" + @echo " build (default target)" + @echo " clean" + @echo " clobber" + @echo " all" + @echo " help" + @echo "" + @echo "Makefile Usage:" + @echo " make [CONF=] [SUB=no] build" + @echo " make [CONF=] [SUB=no] clean" + @echo " make [SUB=no] clobber" + @echo " make [SUB=no] all" + @echo " make help" + @echo "" + @echo "Target 'build' will build a specific configuration and, unless 'SUB=no'," + @echo " also build subprojects." + @echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no'," + @echo " also clean subprojects." + @echo "Target 'clobber' will remove all built files from all configurations and," + @echo " unless 'SUB=no', also from subprojects." + @echo "Target 'all' will will build all configurations and, unless 'SUB=no'," + @echo " also build subprojects." + @echo "Target 'help' prints this message." + @echo "" + diff --git a/Assignments/Pointers_CalebFontenot/nbproject/Makefile-variables.mk b/Assignments/Pointers_CalebFontenot/nbproject/Makefile-variables.mk new file mode 100644 index 0000000..1f3155a --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/nbproject/Makefile-variables.mk @@ -0,0 +1,35 @@ +# +# Generated - do not edit! +# +# NOCDDL +# +CND_BASEDIR=`pwd` +CND_BUILDDIR=build +CND_DISTDIR=dist +# Debug configuration +CND_PLATFORM_Debug=GNU-Linux +CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux +CND_ARTIFACT_NAME_Debug=pointers_calebfontenot +CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux/pointers_calebfontenot +CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux/package +CND_PACKAGE_NAME_Debug=pointerscalebfontenot.tar +CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux/package/pointerscalebfontenot.tar +# Release configuration +CND_PLATFORM_Release=GNU-Linux +CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux +CND_ARTIFACT_NAME_Release=pointers_calebfontenot +CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux/pointers_calebfontenot +CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux/package +CND_PACKAGE_NAME_Release=pointerscalebfontenot.tar +CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux/package/pointerscalebfontenot.tar +# +# include compiler specific variables +# +# dmake command +ROOT:sh = test -f nbproject/private/Makefile-variables.mk || \ + (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk) +# +# gmake command +.PHONY: $(shell test -f nbproject/private/Makefile-variables.mk || (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk)) +# +include nbproject/private/Makefile-variables.mk diff --git a/Assignments/Pointers_CalebFontenot/nbproject/Package-Debug.bash b/Assignments/Pointers_CalebFontenot/nbproject/Package-Debug.bash new file mode 100644 index 0000000..1cd8595 --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/nbproject/Package-Debug.bash @@ -0,0 +1,76 @@ +#!/bin/bash -x + +# +# Generated - do not edit! +# + +# Macros +TOP=`pwd` +CND_PLATFORM=GNU-Linux +CND_CONF=Debug +CND_DISTDIR=dist +CND_BUILDDIR=build +CND_DLIB_EXT=so +NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging +TMPDIRNAME=tmp-packaging +OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/pointers_calebfontenot +OUTPUT_BASENAME=pointers_calebfontenot +PACKAGE_TOP_DIR=pointerscalebfontenot/ + +# Functions +function checkReturnCode +{ + rc=$? + if [ $rc != 0 ] + then + exit $rc + fi +} +function makeDirectory +# $1 directory path +# $2 permission (optional) +{ + mkdir -p "$1" + checkReturnCode + if [ "$2" != "" ] + then + chmod $2 "$1" + checkReturnCode + fi +} +function copyFileToTmpDir +# $1 from-file path +# $2 to-file path +# $3 permission +{ + cp "$1" "$2" + checkReturnCode + if [ "$3" != "" ] + then + chmod $3 "$2" + checkReturnCode + fi +} + +# Setup +cd "${TOP}" +mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package +rm -rf ${NBTMPDIR} +mkdir -p ${NBTMPDIR} + +# Copy files and create directories and links +cd "${TOP}" +makeDirectory "${NBTMPDIR}/pointerscalebfontenot/bin" +copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 + + +# Generate tar file +cd "${TOP}" +rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/pointerscalebfontenot.tar +cd ${NBTMPDIR} +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/pointerscalebfontenot.tar * +checkReturnCode + +# Cleanup +cd "${TOP}" +rm -rf ${NBTMPDIR} diff --git a/Assignments/Pointers_CalebFontenot/nbproject/Package-Release.bash b/Assignments/Pointers_CalebFontenot/nbproject/Package-Release.bash new file mode 100644 index 0000000..2df794e --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/nbproject/Package-Release.bash @@ -0,0 +1,76 @@ +#!/bin/bash -x + +# +# Generated - do not edit! +# + +# Macros +TOP=`pwd` +CND_PLATFORM=GNU-Linux +CND_CONF=Release +CND_DISTDIR=dist +CND_BUILDDIR=build +CND_DLIB_EXT=so +NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging +TMPDIRNAME=tmp-packaging +OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/pointers_calebfontenot +OUTPUT_BASENAME=pointers_calebfontenot +PACKAGE_TOP_DIR=pointerscalebfontenot/ + +# Functions +function checkReturnCode +{ + rc=$? + if [ $rc != 0 ] + then + exit $rc + fi +} +function makeDirectory +# $1 directory path +# $2 permission (optional) +{ + mkdir -p "$1" + checkReturnCode + if [ "$2" != "" ] + then + chmod $2 "$1" + checkReturnCode + fi +} +function copyFileToTmpDir +# $1 from-file path +# $2 to-file path +# $3 permission +{ + cp "$1" "$2" + checkReturnCode + if [ "$3" != "" ] + then + chmod $3 "$2" + checkReturnCode + fi +} + +# Setup +cd "${TOP}" +mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package +rm -rf ${NBTMPDIR} +mkdir -p ${NBTMPDIR} + +# Copy files and create directories and links +cd "${TOP}" +makeDirectory "${NBTMPDIR}/pointerscalebfontenot/bin" +copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 + + +# Generate tar file +cd "${TOP}" +rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/pointerscalebfontenot.tar +cd ${NBTMPDIR} +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/pointerscalebfontenot.tar * +checkReturnCode + +# Cleanup +cd "${TOP}" +rm -rf ${NBTMPDIR} diff --git a/Assignments/Pointers_CalebFontenot/nbproject/configurations.xml b/Assignments/Pointers_CalebFontenot/nbproject/configurations.xml new file mode 100644 index 0000000..98a1c6b --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/nbproject/configurations.xml @@ -0,0 +1,76 @@ + + + + + pointers1.h + + + + + main.cpp + pointers1.cpp + + + + + Makefile + + + Makefile + + + + default + true + false + + + + + + + + + + + + + default + true + false + + + + 5 + + + 5 + + + 5 + + + 5 + + + + + + + + + + + diff --git a/Assignments/Pointers_CalebFontenot/nbproject/private/Makefile-variables.mk b/Assignments/Pointers_CalebFontenot/nbproject/private/Makefile-variables.mk new file mode 100644 index 0000000..a64183e --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/nbproject/private/Makefile-variables.mk @@ -0,0 +1,7 @@ +# +# Generated - do not edit! +# +# NOCDDL +# +# Debug configuration +# Release configuration diff --git a/Assignments/Pointers_CalebFontenot/nbproject/private/c_standard_headers_indexer.c b/Assignments/Pointers_CalebFontenot/nbproject/private/c_standard_headers_indexer.c new file mode 100644 index 0000000..c2548d2 --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/nbproject/private/c_standard_headers_indexer.c @@ -0,0 +1,75 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. + * + * Oracle and Java are registered trademarks of Oracle and/or its affiliates. + * Other names may be trademarks of their respective owners. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common + * Development and Distribution License("CDDL") (collectively, the + * "License"). You may not use this file except in compliance with the + * License. You can obtain a copy of the License at + * http://www.netbeans.org/cddl-gplv2.html + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the + * specific language governing permissions and limitations under the + * License. When distributing the software, include this License Header + * Notice in each file and include the License file at + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the GPL Version 2 section of the License file that + * accompanied this code. If applicable, add the following below the + * License Header, with the fields enclosed by brackets [] replaced by + * your own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * If you wish your version of this file to be governed by only the CDDL + * or only the GPL Version 2, indicate your decision by adding + * "[Contributor] elects to include this software in this distribution + * under the [CDDL or GPL Version 2] license." If you do not indicate a + * single choice of license, a recipient has the option to distribute + * your version of this file under either the CDDL, the GPL Version 2 or + * to extend the choice of license to its licensees as provided above. + * However, if you add GPL Version 2 code and therefore, elected the GPL + * Version 2 license, then the option applies only if the new code is + * made subject to such option by the copyright holder. + * + * Contributor(s): + */ + +// List of standard headers was taken in http://en.cppreference.com/w/c/header + +#include // Conditionally compiled macro that compares its argument to zero +#include // Functions to determine the type contained in character data +#include // Macros reporting error conditions +#include // Limits of float types +#include // Sizes of basic types +#include // Localization utilities +#include // Common mathematics functions +#include // Nonlocal jumps +#include // Signal handling +#include // Variable arguments +#include // Common macro definitions +#include // Input/output +#include // String handling +#include // General utilities: memory management, program utilities, string conversions, random numbers +#include // Time/date utilities +#include // (since C95) Alternative operator spellings +#include // (since C95) Extended multibyte and wide character utilities +#include // (since C95) Wide character classification and mapping utilities +#ifdef _STDC_C99 +#include // (since C99) Complex number arithmetic +#include // (since C99) Floating-point environment +#include // (since C99) Format conversion of integer types +#include // (since C99) Boolean type +#include // (since C99) Fixed-width integer types +#include // (since C99) Type-generic math (macros wrapping math.h and complex.h) +#endif +#ifdef _STDC_C11 +#include // (since C11) alignas and alignof convenience macros +#include // (since C11) Atomic types +#include // (since C11) noreturn convenience macros +#include // (since C11) Thread library +#include // (since C11) UTF-16 and UTF-32 character utilities +#endif diff --git a/Assignments/Pointers_CalebFontenot/nbproject/private/configurations.xml b/Assignments/Pointers_CalebFontenot/nbproject/private/configurations.xml new file mode 100644 index 0000000..30b54f8 --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/nbproject/private/configurations.xml @@ -0,0 +1,72 @@ + + + Makefile + + + + localhost + 2 + + + + + + + + + + + + + + + gdb + + + + "${OUTPUT_PATH}" + + "${OUTPUT_PATH}" + + true + 0 + 0 + + + + + + + localhost + 2 + + + + + + + + + + + + + + + gdb + + + + "${OUTPUT_PATH}" + + "${OUTPUT_PATH}" + + true + 0 + 0 + + + + + + diff --git a/Assignments/Pointers_CalebFontenot/nbproject/private/cpp_standard_headers_indexer.cpp b/Assignments/Pointers_CalebFontenot/nbproject/private/cpp_standard_headers_indexer.cpp new file mode 100644 index 0000000..04f6fa6 --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/nbproject/private/cpp_standard_headers_indexer.cpp @@ -0,0 +1,135 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. + * + * Oracle and Java are registered trademarks of Oracle and/or its affiliates. + * Other names may be trademarks of their respective owners. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common + * Development and Distribution License("CDDL") (collectively, the + * "License"). You may not use this file except in compliance with the + * License. You can obtain a copy of the License at + * http://www.netbeans.org/cddl-gplv2.html + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the + * specific language governing permissions and limitations under the + * License. When distributing the software, include this License Header + * Notice in each file and include the License file at + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the GPL Version 2 section of the License file that + * accompanied this code. If applicable, add the following below the + * License Header, with the fields enclosed by brackets [] replaced by + * your own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * If you wish your version of this file to be governed by only the CDDL + * or only the GPL Version 2, indicate your decision by adding + * "[Contributor] elects to include this software in this distribution + * under the [CDDL or GPL Version 2] license." If you do not indicate a + * single choice of license, a recipient has the option to distribute + * your version of this file under either the CDDL, the GPL Version 2 or + * to extend the choice of license to its licensees as provided above. + * However, if you add GPL Version 2 code and therefore, elected the GPL + * Version 2 license, then the option applies only if the new code is + * made subject to such option by the copyright holder. + * + * Contributor(s): + */ + +// List of standard headers was taken in http://en.cppreference.com/w/cpp/header + +#include // General purpose utilities: program control, dynamic memory allocation, random numbers, sort and search +#include // Functions and macro constants for signal management +#include // Macro (and function) that saves (and jumps) to an execution context +#include // Handling of variable length argument lists +#include // Runtime type information utilities +#include // std::bitset class template +#include // Function objects, designed for use with the standard algorithms +#include // Various utility components +#include // C-style time/date utilites +#include // typedefs for types such as size_t, NULL and others +#include // Low-level memory management utilities +#include // Higher level memory management utilities +#include // limits of integral types +#include // limits of float types +#include // standardized way to query properties of arithmetic types +#include // Exception handling utilities +#include // Standard exception objects +#include // Conditionally compiled macro that compares its argument to zero +#include // Macro containing the last error number +#include // functions to determine the type contained in character data +#include // functions for determining the type of wide character data +#include // various narrow character string handling functions +#include // various wide and multibyte string handling functions +#include // std::basic_string class template +#include // std::vector container +#include // std::deque container +#include // std::list container +#include // std::set and std::multiset associative containers +#include // std::map and std::multimap associative containers +#include // std::stack container adaptor +#include // std::queue and std::priority_queue container adaptors +#include // Algorithms that operate on containers +#include // Container iterators +#include // Common mathematics functions +#include // Complex number type +#include // Class for representing and manipulating arrays of values +#include // Numeric operations on values in containers +#include // forward declarations of all classes in the input/output library +#include // std::ios_base class, std::basic_ios class template and several typedefs +#include // std::basic_istream class template and several typedefs +#include // std::basic_ostream, std::basic_iostream class templates and several typedefs +#include // several standard stream objects +#include // std::basic_fstream, std::basic_ifstream, std::basic_ofstream class templates and several typedefs +#include // std::basic_stringstream, std::basic_istringstream, std::basic_ostringstream class templates and several typedefs +#include // std::strstream, std::istrstream, std::ostrstream(deprecated) +#include // Helper functions to control the format or input and output +#include // std::basic_streambuf class template +#include // C-style input-output functions +#include // Localization utilities +#include // C localization utilities +#include // empty header. The macros that appear in iso646.h in C are keywords in C++ +#if __cplusplus >= 201103L +#include // (since C++11) std::type_index +#include // (since C++11) Compile-time type information +#include // (since C++11) C++ time utilites +#include // (since C++11) std::initializer_list class template +#include // (since C++11) std::tuple class template +#include // (since C++11) Nested allocator class +#include // (since C++11) fixed-size types and limits of other types +#include // (since C++11) formatting macros , intmax_t and uintmax_t math and conversions +#include // (since C++11) defines std::error_code, a platform-dependent error code +#include // (since C++11) C-style Unicode character conversion functions +#include // (since C++11) std::array container +#include // (since C++11) std::forward_list container +#include // (since C++11) std::unordered_set and std::unordered_multiset unordered associative containers +#include // (since C++11) std::unordered_map and std::unordered_multimap unordered associative containers +#include // (since C++11) Random number generators and distributions +#include // (since C++11) Compile-time rational arithmetic +#include // (since C++11) Floating-point environment access functions +#include // (since C++11) Unicode conversion facilities +#include // (since C++11) Classes, algorithms and iterators to support regular expression processing +#include // (since C++11) Atomic operations library +#include // (since C++11)(deprecated in C++17) simply includes the header +#include // (since C++11)(deprecated in C++17) simply includes the headers (until C++17) (since C++17) and : the overloads equivalent to the contents of the C header tgmath.h are already provided by those headers +#include // (since C++11)(deprecated in C++17) defines one compatibility macro constant +#include // (since C++11)(deprecated in C++17) defines one compatibility macro constant +#include // (since C++11) std::thread class and supporting functions +#include // (since C++11) mutual exclusion primitives +#include // (since C++11) primitives for asynchronous computations +#include // (since C++11) thread waiting conditions +#endif +#if __cplusplus >= 201300L +#include // (since C++14) shared mutual exclusion primitives +#endif +#if __cplusplus >= 201500L +#include // (since C++17) std::any class template +#include // (since C++17) std::optional class template +#include // (since C++17) std::variant class template +#include // (since C++17) Polymorphic allocators and memory resources +#include // (since C++17) std::basic_string_view class template +#include // (since C++17) Predefined execution policies for parallel versions of the algorithms +#include // (since C++17) std::path class and supporting functions +#endif diff --git a/Assignments/Pointers_CalebFontenot/nbproject/private/launcher.properties b/Assignments/Pointers_CalebFontenot/nbproject/private/launcher.properties new file mode 100644 index 0000000..3edc2d8 --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/nbproject/private/launcher.properties @@ -0,0 +1,42 @@ +# Launchers File syntax: +# +# [Must-have property line] +# launcher1.runCommand= +# [Optional extra properties] +# launcher1.displayName= +# launcher1.hide= +# launcher1.buildCommand= +# launcher1.runDir= +# launcher1.runInOwnTab= +# launcher1.symbolFiles= +# launcher1.env.= +# (If this value is quoted with ` it is handled as a native command which execution result will become the value) +# [Common launcher properties] +# common.runDir= +# (This value is overwritten by a launcher specific runDir value if the latter exists) +# common.env.= +# (Environment variables from common launcher are merged with launcher specific variables) +# common.symbolFiles= +# (This value is overwritten by a launcher specific symbolFiles value if the latter exists) +# +# In runDir, symbolFiles and env fields you can use these macroses: +# ${PROJECT_DIR} - project directory absolute path +# ${OUTPUT_PATH} - linker output path (relative to project directory path) +# ${OUTPUT_BASENAME}- linker output filename +# ${TESTDIR} - test files directory (relative to project directory path) +# ${OBJECTDIR} - object files directory (relative to project directory path) +# ${CND_DISTDIR} - distribution directory (relative to project directory path) +# ${CND_BUILDDIR} - build directory (relative to project directory path) +# ${CND_PLATFORM} - platform name +# ${CND_CONF} - configuration name +# ${CND_DLIB_EXT} - dynamic library extension +# +# All the project launchers must be listed in the file! +# +# launcher1.runCommand=... +# launcher2.runCommand=... +# ... +# common.runDir=... +# common.env.KEY=VALUE + +# launcher1.runCommand= \ No newline at end of file diff --git a/Assignments/Pointers_CalebFontenot/nbproject/private/private.xml b/Assignments/Pointers_CalebFontenot/nbproject/private/private.xml new file mode 100644 index 0000000..63a27a8 --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + 1 + 0 + + diff --git a/Assignments/Pointers_CalebFontenot/nbproject/project.xml b/Assignments/Pointers_CalebFontenot/nbproject/project.xml new file mode 100644 index 0000000..da9233e --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/nbproject/project.xml @@ -0,0 +1,28 @@ + + + org.netbeans.modules.cnd.makeproject + + + Pointers_CalebFontenot + + cpp + h + UTF-8 + + + + + Debug + 1 + + + Release + 1 + + + + false + + + + diff --git a/Assignments/Pointers_CalebFontenot/pointers1.cpp b/Assignments/Pointers_CalebFontenot/pointers1.cpp new file mode 100644 index 0000000..3775dfd --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/pointers1.cpp @@ -0,0 +1,24 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/cppFiles/file.cc to edit this template + */ + +#include +using namespace std; +#include "pointers1.h" + +void dereferencePointer() { + int x = 5; + int * p = &x; + int & r = x; + // dereference pointer + cout << *p << " " << p << " " << x << " " << &x << " " << r << " " << &r << endl; +} + +int * createAnIntegerOnHeap(int x) { + int * p = new int; + if (p == nullptr) { + return nullptr; + } + return p; +} \ No newline at end of file diff --git a/Assignments/Pointers_CalebFontenot/pointers1.h b/Assignments/Pointers_CalebFontenot/pointers1.h new file mode 100644 index 0000000..7a829fa --- /dev/null +++ b/Assignments/Pointers_CalebFontenot/pointers1.h @@ -0,0 +1,20 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/cppFiles/file.h to edit this template + */ + +/* + * File: pointers1.h + * Author: caleb + * + * Created on March 4, 2024, 11:18 AM + */ + +#ifndef POINTERS1_H +#define POINTERS1_H + +void dereferencePointer(); +int * createAnIntegerOnHeap(int x); + +#endif /* POINTERS1_H */ + diff --git a/ZIPs/MP1_CalebFontenot.zip b/ZIPs/MP1_CalebFontenot.zip new file mode 100644 index 0000000..5febd17 Binary files /dev/null and b/ZIPs/MP1_CalebFontenot.zip differ