I was given a class assignment over my spring break (which is this week), and I am having trouble doing the programming warm up exercises, and I was wondering if someone could help me out. I used Visual Studio 2010 to make this program and the programming language is C++ (the class I am taking for it is Software Design and Development [which is basically an intro to C++ class]).
1) After it completes the test for "PWU Exercise 7", it seems to crash for some reason, but I cannot decipher why
2) 2) For PWU Exercise 9, I am supposed to write a function that will ask the user to input a value that will be used to create the length of an array. However, since I can only use an immediate or constant expression as the length initializer, I am not sure how I can do so. I tried defining a constant that is initialized to the variable that contains the input from the user, but that did not work.
Code:// InClass Assignment 5 // 3/11/2011 // #include <iostream> #include <cstring> #include <string> #include <stdio.h> #include <stdlib.h> #include "Phone.h" using namespace std; bool ShallowCompare (Phone*, Phone*); bool DeepCompare (Phone*, Phone*); int Greatest (int[], int); int GetGreatestInput(); int main() { int static max; // PWU Exercise 1 int someInt; int* intPointer; intPointer = &someInt; someInt = 451; if(someInt == 451) cout << "Passed PWU Exercise 1." << endl; else cout << "Failed PWU Exercise 1." << endl; someInt = 0; *intPointer = 451; if(someInt == 451) cout << "Passed PWU Exercise 1.\n" << endl; else cout << "Failed PWU Exercise 1.\n" << endl; // PWU Exercise 2 char* charArrPointer; char initials[4]; charArrPointer = initials; *charArrPointer = 'A'; *(charArrPointer + 1) = 'E'; *(charArrPointer + 2) = 'W'; if (*charArrPointer == 'A') cout << "Passed PWU Exercise 2.\n" << endl; else cout << "Failed PWU Exercise 2.\n" << endl; // PWU Exercise 3 Phone newPhone; Phone* structPointer = &newPhone; structPointer->country = 1; structPointer->area = 888; structPointer->number = 5551212; if ((structPointer->country == 1) && (structPointer->area == 888) && (structPointer-> number == 5551212)) { cout << "Passed PWU Exercise 3.\n" << endl; } else { cout << "Failed PWU Exercise 3.\n" << endl; } // PWU Exercise 4 Phone& structReference = newPhone; structReference.country = 1; structReference.area = 888; structReference.number = 5551212; if ((structReference.country == 1) && (structReference.area == 888) && (structReference.number == 5551212)) { cout << "Passed PWU Exercise 4.\n" << endl; } else { cout << "Failed PWU Exercise 4.\n" << endl; } // PWU Exercise 5 Phone* structPointer1 = &newPhone; Phone* structPointer2 = &newPhone; if (ShallowCompare(structPointer1,structPointer2)) { cout << "Passed PWU Exercise 5.\n" << endl; } else { cout << "Failed PWU Exercise 5.\n" << endl; } // PWU Exercise 6 Phone* structPointer3 = &newPhone; Phone* structPointer4 = &newPhone; if (DeepCompare(structPointer3, structPointer4)) { cout << "Passed PWU Exercise 6.\n" << endl; } else { cout << "Failed PWU Exercise 6.\n" << endl; } // PWU Exercise 7 int exercise7Array[100]; int* dataPtr = exercise7Array; for (int count = 0; count < 100; count++) { *(dataPtr + count) = count; } for (int count = 0; count < 100; count++) { int temporary; temporary = *(dataPtr + count); if (count == 0) { temporary = max; } else { if (max < temporary) { max = temporary; } } } if (max == 99) cout << "Passed PWU Exercise 7.\n" << endl; else cout << "Failed PWU Exercise 7.\n" << endl; delete dataPtr; // PWU Exercise 8 int exercise8Array[100]; int* dataPtr2 = exercise8Array; for (int count = 0; count < 100; count++) { *(dataPtr2 + count) = count; } max = Greatest(exercise8Array, 100); if (max == 99) cout << "Passed PWU Exercise 8.\n" << endl; else cout << "Failed PWU Exercise 8.\n" << endl; // PWU Exercise 9 int largestValue9 = GetGreatestInput(); if (largestValue9 == 99) cout << "Passed PWU Exercise 9.\n" << endl; else cout << "Failed PWU Exercise 9.\n" << endl; // PWU Exercise 10 // PWU Exercise 11 int* oldValue; int* newValue; int exercise10Int1 = 40; int exercise10Int2 = 50; oldValue = &exercise10Int1; if (*oldValue != NULL) { newValue = oldValue; } else { newValue = &exercise10Int2; } if (*newValue == 50) { cout << "Passed PWU Exercise 11.\n" << endl; } else { cout << "Failed PWU Exercise 11.\n" << endl; } // PWU Exercise 12 if (*oldValue == *newValue) { delete oldValue; } if (*oldValue != NULL) { cout << "Passed PWU Exercise 11.\n" << endl; } else { cout << "Failed PWU Exercise 11.\n" << endl; } // PWU Exercise 13 // PWU Exercise 14 // PWU Exercise 15 // PWU Exercise 16 // PWU Exercise 17 // PWU Exercise 18 // PWU Exercise 19 // PWU Exercise 20 system("Pause"); return 0; } bool ShallowCompare (Phone* ptr1, Phone* ptr2) { if(ptr1 == ptr2) return true; else return false; } bool DeepCompare (Phone* ptr1, Phone* ptr2) { if ((ptr1->country == ptr2->country) && (ptr1->area == ptr2->area) && (ptr1->number == ptr2->number)) return true; else return false; } int Greatest (int array1[], int size) { int maximum; int* temporaryPtr = array1; for (int count = 0; count < size; count++) { int temporary; temporary = *(temporaryPtr + count); if (count == 0) { maximum = temporary; } else { if (maximum < temporary) { maximum = temporary; } } } delete temporaryPtr; return maximum; } int GetGreatestInput() { int size; cout << "Input the number of values to be input: " << endl; cin >> size; cin.ignore(100, '\n'); int temporaryArray[1000]; for (int count = 0; count < size; count++) { int temporaryValue; cout << "Input an integer value to be put into the array: " << endl; cin >> temporaryValue; cin.ignore(100, '\n'); temporaryArray[count] = temporaryValue; } int largestValue = Greatest(temporaryArray, size); return largestValue; }



2Likes
LinkBack URL
About LinkBacks



