c++ troubles...again

Status
Not open for further replies.

Chase

CECS Major
Messages
387
Location
Louisville, KY
I just wrote the following program so I could mess around/practice with my class skills:

Code:
////////////////////////////////////////////////////////////////////////
//Class Program - This program illustrates the properites of a class///
//////////////////////////////////////////////////////////////////////
//By: Chase//
//////////////////

#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <string.h>
using namespace std;
//Declare Class

class userInfo {
               public:
                   int birthMonth, ssn, phone;
                   char firstName [128];
                   char lastName [128];
                   char middleName [128];
                   
                   };

//delcare protos
bool getData (userInfo& userOne);
void displayData (userInfo& userOne);


//start main ()                   
int main(int nNumberofArgs, char* pszArgs[])
{
       //set max accounts
    const int maxClassInfo = 10;
   
    //declare variable of userInfo class
    userInfo userOne[maxClassInfo];
    
    //tell the user what is going on
        cout << "This program will allow you to input your profile and\n"
             << "I will spit it back at you."
             << endl
             << "Type 'exit' to terminate the program.\n\n";
    
    //declare index for array storage  and set it to the first array compartment
    int index = 0;
    
    //set while loop to check for user 'exit' input and to make sure
    // there are no more than 9 accounts already created
    while (getData(userOne[index]) && index < maxClassInfo)
          {                        
                                   //add one to index
                                   index++;
}

//spit back to the user what they just input
cout << "Profile Information: \n";
for (int i = 0; i < maxClassInfo; i++)
{
    displayData(userOne[i]);
    
}

//allow user time to look at results then press any key to terminate
system ("PAUSE");
return 0;
}

//program the protos I declared earlier

//displayData - spit back to the user what they input
void displayData(userInfo& userOne)
{    
     cout << "\n"
          << userOne.birthMonth
          << "\n"
          << userOne.ssn
          << "\n"
          << userOne.phone
          << "\n"
          << userOne.firstName
          << "\n"
          << userOne.middleName
          << "\n"
          << userOne.lastName
          << "\n";
          
          }

// getData - add property info to the userInfo class object userOne
bool getData (userInfo& userOne)
{
     cout << "First Name: ";
     cin >> userOne.firstName;
     cout << "\n...checking...\n";
     //check to see if the user wants to quit
     char terminate[10] = "exit";
     if (stricmp(userOne.firstName, "exit") == 0)
     {
                                    return false;
                                    
                                    }
                                    
     //if everything is kosher, keep asking questions
     cout << "Middle Name: ";
     cin >> userOne.middleName;
     cout << "\n";
     
     cout << "Last Name: ";
     cin >> userOne.lastName;
     cout << "\n";
     
     cout << "Birth month (numerical): ";
     cin >> userOne.birthMonth;
     cout << "\n";
     
     cout << "SSN: ";
     cin >> userOne.ssn;
     cout << "\n";
     
     cout << "Phone: ";
     cin >> userOne.phone;
     cout << "\n";
     
     return true;
     
     }

Everytime I run the program eveything works fine until I type exit to exit, then my data + all sorts of other random data is spit out from the array. I know the cause of this is that the positions in the array are currently being used and if they are all not replaced I will get whatever data is currently in them instead of blank data. How can I fix this...I don't want that random data spouted out after every exit if I haven't filled up all of the array slots.
Thanks for any help,

::-Chase-::
 
Status
Not open for further replies.
Back
Top Bottom