Link to home
Start Free TrialLog in
Avatar of lwoodtri
lwoodtriFlag for United States of America

asked on

C++ Class Validation

I am trying to figure out how to verify that the assignment of the character array and the ssn actually have something in it, but I am having difficulty in setting that up.  The ssn is not supposed to be =< 0 and the name is not supposed to be blank.  

How do I revert to the default constructor if the values entered ( programmed into ) since there is no input do not meet the required specs?  

Thanks.



#include <iostream>
#include <iomanip>
 
 
using namespace std;
 
class Student
{
      // private member variables
      private:
              long socialSecurity;
              char name[80];
     
     
      // public variables / methods       
      public:
             
             // default constructor
             Student(char *n="unassigned",long sn=999999999);
            
             // Name get / set
             void setName(char *n);
             char *Student::getName();
            
             // Social Security set / get
             void setSSN(long sn);
             long getSSN();
           
            
};
 
// default constructor
Student::Student(char *n, long sn)
{
    strcpy(name, n);
    socialSecurity = sn;
}
 
 
// implementation section
void Student::setName(char *n)
{
 
         strcpy(name, n);
}
 
// Student setSSN()
void Student::setSSN(long sn)
{
    
     socialSecurity = sn;
    
}
 
char *Student::getName()
{
     return name;
}
 
 
// Student getSSN
long Student::getSSN()
{
     return socialSecurity;
}
 
int main()
{
 
    // instantiate class objects
    Student student1;
    Student student2;
   
    
    
    // set class object 2
    student2.setName("John Doe");   
    student2.setSSN(11122555);
   
    // class output
    // output stream for student 1 using default constructor
       cout << "The name for student1 is " << student1.getName()
            << " and ssn is " << student1.getSSN() << endl;
   
    // output stream for student 2
       cout << "The name for student2 is " << student2.getName() 
            << " and ssn is " << student2.getSSN() << endl;
         
        
   
    system("pause");
    return 0;
   
}

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of mgonullu
mgonullu
Flag of United Arab Emirates image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of lwoodtri

ASKER

Cool, I got that part . . however . . what if the assignment happens to be 0 or -1 for the value of SSN?  Would I use an

if ( ssn =< 0 || ssn > 999999999)?

would that work for validation?  
For sure that would work!