1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
// Week 2 Assignment-1
// Description: Compile time errors in C Strings, Arrays, std:string,
// struct, enum, pointers, and std::array.
//----------------------------------
//**begin #include files************
#include <iostream> // provides access to cin and cout
#include <array> // provides access to std:array
#include <string> // required for getline
//--end of #include files-----------
//----------------------------------
using namespace std;
//----------------------------------
//**begin global constants**********
const int arraySize = 4; // **there is a subtle bug here (needs "const")
enum MyEnum // Needs to be before the struct that uses it
{
Dog, Cat, Fish, Squirrel
};
struct MyStruct
{
int a;
float b;
string c;
MyEnum d;
};
//--end of global constants---------
//----------------------------------
//**begin main program**************
int main()
{
// Initialization
char myCString[arraySize] = { 0 };
char myOtherCString[] = { "Yet another string"};
int myInt[4] = { 27, 39, 0, 42 };
string myString;
MyStruct aStruct = { 4,3.5,"Dog" ,Dog };
int x;
int* pX = &x;
array <MyStruct, arraySize> Animals;
// Storing values in uninitialized variables
myCString[0] = 'A';
myString = "A third string";
x = 4;
for (int i = 0; i<arraySize; i++)
{
Animals[i].a = rand() % 10;
Animals[i].b = rand() % 100 / 100.0;
Animals[i].c = MyEnum(rand() % 4);
cout << "Enter a name: ";
getline(cin, Animals[i].d);
}
// Display the data
cout << "myCString = " << myCString << endl;
cout << "myOtherCString = " << myOtherCString << endl;
for (int i = 0; i < 4; i++)
{
cout << "myInt[" << i << "] = " << myInt[i] << endl;
}
cout << "aStruct data: a = " << aStruct.a << " b = " << aStruct.b << " c = " << aStruct.c << " d = " << aStruct.d << endl;
cout << "x = " << x << endl;
cout << "value pointed to by pX = " << *pX << endl;
for (int i = 0; i< arraySize; i++)
{
cout << "Animals[" << i << "].a = " << Animals[i].a << endl;
cout << "Animals[" << i << "].b = " << Animals[i].b << endl;
cout << "Animals[" << i << "].c = " << Animals[i].c << endl;
cout << "Animals[" << i << "].d = " << Animals[i].d << endl;
}
// Wait for user input to close program when debugging.
cin.get();
return 0;
}
//--end of main program-------------
//----------------------------------
|