void BinaryTree::AddRec(const int input, BinaryTreeNode* node) { if (input <= node->value_) { if (node->left_ == NULL) { node->left_ = new BinaryTreeNode(input); } else { AddRec(input, node->left_); } } else if (input > node->value_) { if (node->right_ == NULL) { node->right_ = new BinaryTreeNode(input); } else { AddRec(input, node->right_); } } }
void BinaryTree::Add(const int input) { if (root_ == NULL) { root_ = new BinaryTreeNode(input); } else { AddRec(input, root_); } }
int DriSec::NObjSecProfile::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { typedef Domain::NamedObject QMocSuperClass; _id = QMocSuperClass::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: List((*reinterpret_cast< DRI::ICmdOutput*(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2]))); break; case 1: List((*reinterpret_cast< DRI::ICmdOutput*(*)>(_a[1]))); break; case 2: AddRec((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2])),(*reinterpret_cast< NObjProfilesBase::Mode(*)>(_a[3])),(*reinterpret_cast< QString(*)>(_a[4])),(*reinterpret_cast< QString(*)>(_a[5]))); break; case 3: AddRec((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2])),(*reinterpret_cast< NObjProfilesBase::Mode(*)>(_a[3])),(*reinterpret_cast< QString(*)>(_a[4]))); break; case 4: AddRec((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2])),(*reinterpret_cast< NObjProfilesBase::Mode(*)>(_a[3]))); break; case 5: DeleteRec((*reinterpret_cast< int(*)>(_a[1]))); break; case 6: Delete(); break; default: ; } _id -= 7; } return _id; }
void AddRec(void) { COURSE course1; //Declare Variables COURSE course2; int i = 0; char prompt_yn; char temp[10]; if(filename[0]) //If database open { Header(); printf("\nAdd Record\n"); EditRec(&course1); //Edit Record and Write record WriteRec(&course1); ReadRec(&course2); DisplayRec(&course2); while(array[i].number[0] != '\0') //Find opening in array i++; RecCpy(&array[i], &course2); //Put record in opening LinkRec(&array[i]); //Link new record printf("\nNew record added sucessfully!"); } else{ printf("\nError\nNo database is open.\n"); //Error if no database is open while(1){ //Ask the user if they would like to make one printf("\nWould you like to create a new database? [y/n] "); fgets(temp, 10, stdin); if(strlen(temp) > 2) printf("\nERROR: INVALID RESPONSE LENGTH\n"); else prompt_yn = temp[0]; if(prompt_yn == 'y'){NewDat(); AddRec();} else if(prompt_yn == 'n') break; else{ printf("\nERROR: INVALID RESPONSE\n"); } } } GetEnter(); return; }
void main(void) { char choice; //Declare Variables int i = 0; BOOLEAN quit = FALSE; FIRST = NULL; //Initialize variables LAST = NULL; for(i = 0; i < 256; i++) InitializeRec(&array[i]); filename[0] = '\0'; i = 0; do //menu open until quit = TRUE { choice = DisplayMainMenu(); //Display Main Menu and Get Main Menu Choice switch(choice) //Menu swithc { case 'o': OpenData(); break; case 'a': AddRec(); break; case 's': SearchData(); break; case 'b': BrowseData(); break; case 'd': printf("\nDelete Record\n"); break; case 'c': CloseData(); break; case 'q': quit = QuitProgram(); break; default: printf("\nError\nPlease enter a valid response.\n"); break; } }while(!quit); return; //Exit the program. }