home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / WPSDEM.ZIP / CMBSTDNT / CLIENT.C next >
Text File  |  1992-08-21  |  3KB  |  89 lines

  1. #include "student.h"
  2. #include "graduate.h"
  3. #include "undrgrad.h"
  4.  
  5. SOMEXTERN int MyReplacementForSOMOutChar( char c );
  6. #pragma linkage( MyReplacementForSOMOutChar, system )
  7.  
  8. main( int argc, char *argv[] )
  9. {
  10.  
  11.    Student *student1, *student2;
  12.    GraduateStudent *grad1, *grad2, *grad3;
  13.    UnderGraduateStudent *UndrGrad1, *UndrGrad2;
  14.    SOMClass *studentClassObject, *gradStudentClassObject,
  15.             *ugradStudentClassObject;
  16.  
  17.    // The next line will replace the standard SOMOutCharRoutine
  18.    SOMOutCharRoutine = MyReplacementForSOMOutChar;
  19.  
  20.    // set the trace level based on input parms
  21.    SOM_TraceLevel = 0;
  22.    if( argc > 1 )                       // user passed in a trace level
  23.       SOM_TraceLevel = atoi( argv[1] );
  24.  
  25.    if( SOM_TraceLevel ) {
  26.  
  27.  
  28.    }
  29.  
  30.    // create new Student instances
  31.    student1 = StudentNew();
  32.    student2 = StudentNew();
  33.  
  34.    // create new GraduateStudent instances
  35.    grad1 = GraduateStudentNew();
  36.    grad2 = GraduateStudentNew();
  37.    grad3 = GraduateStudentNew();
  38.  
  39.    // create new UnderGraduateStudent instances
  40.    UndrGrad1 = UnderGraduateStudentNew();
  41.    UndrGrad2 = UnderGraduateStudentNew();
  42.  
  43.    // setUpStudent is used to initialize the instances with data
  44.    _setUpStudent( student1, "120455", "Joe Doe" );
  45.    _setUpStudent( student2, "103606", "Mary Smith" );
  46.    _setUpGraduateStudent( grad1, "203230", "Janet Brown",
  47.                           "Parser Generators", "M.S." );
  48.    _setUpGraduateStudent( grad2, "203231", "Neddy Weedlebush",
  49.                           "SOM Compilers", "M.S." );
  50.    _setUpGraduateStudent( grad3, "203232", "Simon Saes",
  51.                           "Why WPS is Wonderful", "Ph.D" );
  52.    _setUpUnderGraduateStudent( UndrGrad1, "203233",
  53.                                "Thom Thumb", "05/31/96" );
  54.    _setUpUnderGraduateStudent( UndrGrad2, "203234",
  55.                                "Tomasina Grinch", "08/31/98" );
  56.  
  57.    _printStudentInfo( student1 );
  58.    _printStudentInfo( student2 );
  59.    _printStudentInfo( UndrGrad1 );
  60.    _printStudentInfo( UndrGrad2 );
  61.    _printStudentInfo( grad1 );
  62.    _printStudentInfo( grad2 );
  63.    _printStudentInfo( grad3 );
  64.  
  65.     // display student class data
  66.    studentClassObject = _somGetClass( student1 );
  67.    printf( "\n\nstudent1 class object is of <%s> class\n",
  68.            _somGetClassName( studentClassObject ) );
  69.    printf( "Student count: %d\n", _countObjects( studentClassObject ) );
  70.  
  71.     // display Graduate student class data
  72.    gradStudentClassObject = _somGetClass( grad1 );
  73.    printf( "grad1 class object is of <%s> class\n",
  74.            _somGetClassName( gradStudentClassObject ) );
  75.    printf( "Grad Student count: %d\n", _countObjects( gradStudentClassObject ) );
  76.  
  77.     // display UnderGraduate student class data
  78.    ugradStudentClassObject = SOM_GetClass( UndrGrad1 );
  79.    printf( "UndrGrad1 class object is of <%s> class\n",
  80.            _somGetClassName( ugradStudentClassObject ) );
  81.    printf( "UnderGrad Student count: %d\n",
  82.             _countObjects( ugradStudentClassObject ) );
  83. }
  84.  
  85. SOMEXTERN int MyReplacementForSOMOutChar( char c )
  86. {
  87.    printf("%c", c );
  88. }
  89.