[9:52am] [~/Class/cisc181/examples/]> cat part-rec.cc // CLASS DEFINITION FOR Part_Rec CLASS #include #include #include // Part_Rec abstract data type (ADT) definition class Part_Rec { public: Part_Rec(); // constructor void setRecord(char *, int, int, int); // set a record void printRecord(); // print a record private: char name[12]; int number; // 1000 - 9999 int quantity; // >= 0 float cost ; // 0 >= cost >= 100.00 }; // Part_Rec constructor initializes each data member. // part number 1000 indicates no data, name blank for // no data. // Ensures all Part_Rec objects start in a consistent state. Part_Rec::Part_Rec() { strcpy(name, " "); number = 1000; quantity = 0; cost = 0; } // Set a new Part_Rec. Perform validity // checks on the data values. // Set invalid values to zero. void Part_Rec::setRecord(char * nam, int num, int quant, int price) { strcpy(name, nam); number = (num >= 1000 && num <= 9999) ? num : 0; quantity = (quant >= 0) ? quant : 0; cost = (price >= 0 && price <= 100) ? price : 0; } // Print Part_Rec void Part_Rec::printRecord() // print a record { cout << "Part Name: " << name << endl; cout << "ID Number: " << number << endl; cout << "Quantity in Stock: " << quantity << endl; cout << "Price: $" << setiosflags(ios::showpoint | ios::fixed) < CC -compat part-rec.cc strauss[9:52am] [~/Class/cisc181/examples/]> a.out The initial values in mypart are: Part Name: ID Number: 1000 Quantity in Stock: 0 Price: $0.00 Setting values in the record Value of record after set: Part Name: Widget ID Number: 2792 Quantity in Stock: 36 Price: $7.00 Attempting invalid settings After attempting invalid settings: Part Name: Invalid Widg ID Number: 0 Quantity in Stock: 0 Price: $0.00 strauss[9:52am] [~/Class/cisc181/examples/]> exit strauss[9:53am] [~/Class/cisc181/examples/]> exit script done on Wed Oct 27 09:53:00 1999