Beispiel #1
0
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_);
        }        
    }
}
Beispiel #2
0
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.
}