Example #1
0
Group::Group()
	: Node()
{
	Member *name = FindMember(wxT("Name"));
	DeleteMember(name);
	DESTROY(name);
}
Example #2
0
bool OpParty::Load(const RogueSaveData& data) {
	auto news(data.opmembers);
	for (int i = 0; i < maxmember; ++i) {
		if (news[i].first == 0) {
			DeleteMember(i);
		}
		else {
			static_pointer_cast<OpChara>(members[i])->Load(news[i].second);
		}
	}
	return 1;
}
Example #3
0
Group::Group(List<Shape *> *nodes)
	: Node()
{
	for (List<Shape *>::Iterator i = nodes->Iterate(); !i; i++)
	{
		if (dynamic_cast<Node *>(*i) != NULL)
		{
			m_children.Add(*i);
		}
	}
	AddPorts();
	Member *name = FindMember(wxT("Name"));
	DeleteMember(name);
	DESTROY(name);
	AddProperty(NEW(TextProperty, (this, wxT("Name"))));
	SetPosition(GetTopLeft(nodes));
	EvalSize();
}
Example #4
0
void BnxChannel::DeleteMember(const std::string &strNickname) {
	MemberIterator memberItr = GetMember(strNickname);

	if (memberItr != MemberEnd())
		DeleteMember(memberItr);
}
Example #5
0
File: main.c Project: AhmedViam/CMS
int main() {

	aesthetic();

	int width = 60;
	int widths = 40;
	int length = sizeof("Welcome to CMS Dashboard") - 1;
	int pad = (length >= width) ? 0 : (width - length) / 2;
	int pads = (length >= widths) ? 0 : (widths - length) / 2;

	FILE * ReadPointer;

	struct FileFormat * init = malloc(sizeof(struct FileFormat)); // Initial memory space to write file header
	ReadPointer = fopen("CMSData.vf", "rb");
	int size = FileSize(ReadPointer);


	if (access("CMSData.vf", F_OK) != -1) {
		struct FileFormat * Header = malloc(sizeof(struct FileFormat)); // Read meta data from file header
		fread(Header, sizeof(FileFormat), 1, ReadPointer);
		
        if(strcmp(Header->FileName, "CustomFormat") != 0){
            HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
            SetConsoleTextAttribute(hConsole, FOREGROUND_RED);
            printf("File type is wrong or corrupted, The Header->Filename returned %s please delete the file to generate a new repository\n",Header->FileName);
            fclose(ReadPointer);
            Sleep(5000);
            return 0;
        }
		printf("%*.*s%s\n", pad, pad, " ", "CMS Data repository is being loaded");
		Sleep(2000);
		printf("%*.*sRepository size %d bytes version %s Number of records %d \n", pads, pads, " ", size, Header->FileVersion, Header->FileSections);
		fclose(ReadPointer);

	} else {

		ReadPointer = fopen("CMSData.vf", "wb");
		strcpy(init->FileName, "CustomFormat");
		strcpy(init->FileVersion, "2.0.2");
		strcpy(init->FileType, "CMSDATA");
		init->FileSections = 0;
		init->ChunkSize = 1025;

		printf("CMSData file not found...\n");
		Sleep(3000);
		printf("Creating data repository\n");
		Sleep(2000);
		fwrite(init, sizeof(struct FileFormat), 1, ReadPointer);
		fclose(ReadPointer);

		fflush(stdin);
		fflush(stdout);
	}





	do {

		system("cls");
		HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
		SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN);
		ReadPointer = fopen("CMSData.vf", "rb");
		struct FileFormat * Header = malloc(sizeof(struct FileFormat));
		fread(Header, sizeof(FileFormat), 1, ReadPointer);
		printf("%*.*sRepository size %d bytes version %s Number of records %d \n", pads, pads, " ", FileSize(ReadPointer), Header->FileVersion, Header->FileSections);
		fclose(ReadPointer);



		printf("For Record related press R, for Adding a new record press A, to exit press B\n");
		scanf("%s", & input);
		//if (strcmp(input, "R") == 0) {
		system("cls");

		FILE * ReadHeader;
		struct FileFormat * metadata = malloc(sizeof(struct FileFormat));
		ReadHeader = fopen("CMSData.vf", "rb");
		fread(metadata, sizeof(FileFormat), 1, ReadHeader);
		fclose(ReadHeader);

		int c = 0;
		bool found = false;
		struct Contact block;

		FILE * ReaderPointer;
		ReaderPointer = fopen("CMSData.vf", "rb");
		struct Contact people[metadata->FileSections];





		if (strcmp(input, "R") == 0) {
			printf("\nWelcome to CMS Dashboard\n");
			printf("What would you like to do?\n\n1. To view all contacts press V\n2. To search for a contact press S\n3. To delete a contact press D\n4. To edit a record press E\n5. To return press Q\n");
			scanf("%s", & ans);
			switch (ans) {

                case 'Q':
					{

						break;
					}

				case 'S':
					{
						Search();
						break;
					}

				case 'V':
					{
						View();
						break;
					}

				case 'D':
					{
						DeleteMember();
						break;
					}

				case 'E':
					{
						EditMember();
						break;

					}
				default:
					printf("\nWrong input\n");
					Sleep(600);
					break;
			}

		}

		if (strcmp(input, "A") == 0) {

			struct Contact people;

			printf("Person 's First Name: ");

			scanf("%s", people.FirstName);

			printf("Person's Last Name: ");
			scanf("%s", people.LastName);

			printf("Person's Age: ");
			scanf("%s", people.Age);

			printf("Person's Address: ");
			scanf("%s", people.Address);

			printf("Person's PhoneNumber: ");
			scanf("%s", people.PhoneNumber);

			printf("Person's Title: ");
			scanf("%s", people.Title);

			AddMember(people.FirstName, people.LastName, people.Age, people.Address, people.PhoneNumber, people.Title);
			printf("New record added\n");
			Sleep(1000);
		}


        if (strcmp(input, "B") == 0) {
            printf("Exiting..");
            Sleep(2000);
            return 0;

        }

		/*Just to read the file header for debug purposes */

		if (strcmp(input, "O") == 0) {

			FILE * file;
			struct FileFormat * Header = malloc(sizeof(struct FileFormat));
			file = fopen("CMSData.vf", "rb");
			if (file != NULL) {
				fread(Header, sizeof(FileFormat), 1, file);
				fclose(file);
			}
			printf("%s %d %s %d %d\n", Header->FileName, Header->FileSize, Header->FileType, Header->FileSections, Header->ChunkSize);
			Sleep(2000);
			/* add edit routine here */
		}

	} while (true);
	//printf("Unknown input! exiting...");
	return 0;

}
Example #6
0
int main(){
    char inputs[10];
    int input;
    int admin = 0;  //0 for NO, 1 for YES
    
    LoadBooks(&bookRoot);
    LoadMembers(&memRoot);
    
    while(1){
        //Main Menu
        printf("\n\n\t\t\t\t UEC Library\n\n");
        printf("1. Issue a book\n");
        printf("2. Return book\n");
        printf("3. Display all books\n");
        printf("4. Find a book\n");
        if(admin == 0){
            printf("5. Admin Login\n");
            printf("6. Exit\n");
        }else{
            printf("5. Add new book\n");
            printf("6. Delete book\n");
            printf("7. Add new member\n");
            printf("8. Display all members\n");
            printf("9. Find member\n");
            printf("10. Delete member\n");
            printf("11. Logout\n");
            printf("12. Exit\n");
        }
        
        printf("\nEnter your choice: ");
        fgets(inputs, 10, stdin);
        input = atoi(inputs);
        
        if(input == 0){
            printf("Saving database...\n");
            FILE *f = fopen(BOOKFILE, "w");
            SaveBooks(bookRoot, &f);
            fclose(f);
            f = fopen(MEMBERFILE, "w");
            SaveMembers(memRoot, &f);
            fclose(f);
            exit(1);
        }
        
        if(input <= 0)
        exit(1);
        
        if(admin == 0){
            switch(input){
                case 1:
                IssueABook();
                break;
                case 2:
                ReturnBook();
                break;
                case 3:
                DisplayAllBooks();
                break;
                case 4:
                FindBook();
                break;
                case 5:
                AdminLogin(&admin);
                break;
                default:
                printf("Saving database...\n");
                FILE *f = fopen(BOOKFILE, "w");
                SaveBooks(bookRoot, &f);
                fclose(f);
                f = fopen(MEMBERFILE, "w");
                SaveMembers(memRoot, &f);
                fclose(f);
                exit(1);
            }
        }else{
            switch(input){
                case 1:
                IssueABook();
                break;
                case 2:
                ReturnBook();
                break;
                case 3:
                DisplayAllBooks();
                break;
                case 4:
                FindBook();
                break;
                case 5:
                AddNewBook();
                break;
                case 6:
                DeleteBook();
                break;
                case 7:
                AddNewMember();
                break;
                case 8:
                DisplayAllMembers();
                break;
                case 9:
                FindMember();
                break;
                case 10:
                DeleteMember();
                break;
                case 11:
                admin = 0;
                break;
                case 12:
                default:
                printf("Saving database...\n");
                FILE *f = fopen(BOOKFILE, "w");
                SaveBooks(bookRoot, &f);
                fclose(f);
                f = fopen(MEMBERFILE, "w");
                SaveMembers(memRoot, &f);
                fclose(f);
                exit(1);
            }
        }
    }
    
    return 0;
}
// 원정대 종료 함수,  게임 서버 전용과 헬퍼 전용 함수가 다르다.
void CExpedition::SetEndExped()
{
	CExpedMember* pMember=NULL;
	CPC* pc=NULL;
	int i,j;

	// 레이드 안이면 인존 바깥에 시작 지점에 위치 하게 처리
	for(i=0; i < MAX_EXPED_GROUP; i++)
	{
		for(j=0; j < MAX_EXPED_GMEMBER; j++)
		{
			pMember = (CExpedMember*) GetMemberByListIndex(i,j);
			if(pMember)
			{
				pc = TO_PC(pMember->GetMemberPCPtr());
				if( pc && pc->m_index == -1 ) pc = NULL;
				if(pc && pc->m_nJoinInzone_ZoneNo >=0 && pc->m_nJoinInzone_RoomNo >= 0)
				{
					// 레이드존을 나가야 되는데 앉아있어서 못나가는 버그 수정
					if(pc->IsSetPlayerState(PLAYER_STATE_SITDOWN))
					{
						pc->TogglePlayerState(PLAYER_STATE_SITDOWN);
						pc->CalcStatus(true);
					}
					{
						CNetMsg::SP rmsg(new CNetMsg);
						RaidInzoneQuitReq(rmsg,1,0);
						do_Raid(pc, rmsg);
					}
				}
			}
		}
	}

	{
		// 원정대 해체 알림
		CNetMsg::SP rmsg(new CNetMsg);
		ExpedMsg(rmsg, MSG_ENDEXPED_REP);
		SendToAllPC(rmsg);
	}

	// 초대 거절
	if (GetRequestIndex() > 0)
	{
		CPC* pRequestPC = PCManager::instance()->getPlayerByCharIndex(GetRequestIndex());
		if (pRequestPC)
		{
			CNetMsg::SP rmsg(new CNetMsg);
			ExpedMsg(rmsg, MSG_REJECT_SRC);
			SEND_Q(rmsg, pRequestPC->m_desc);
		}
		SetRequest(-1, "");
	}

	// 모든 맴버의 메모리는 NULL로 바꾸어준다.
	for(i=0; i < MAX_EXPED_GROUP; i++)
	{
		for(j=0; j < MAX_EXPED_GMEMBER; j++)
		{
			CExpedMember* pMember = (CExpedMember*)GetMemberByListIndex(i,j);
			if(pMember)
			{
				SetMemberPCPtr(pMember->GetCharIndex(), NULL);
				DeleteMember(pMember->GetCharIndex());
			}
		}
	}
}
void main()
{
	char mode = '1';
	char cManageMember = '1';
	char cManageVideo = '1';
	char cManageRental = '1';
	LINKEDLIST Memberlist;
	Memberlist.InitList = InitLinkedList;
	Memberlist.InitList(&Memberlist, AddTop, AddBottom, DeleteAt, DeleteTop, DeleteBottom, DeleteAll);

	LINKEDLIST Videolist;
	Videolist.InitList = InitLinkedList;
	Videolist.InitList(&Videolist, AddTop, AddBottom, DeleteAt, DeleteTop, DeleteBottom, DeleteAll);

	LINKEDLIST Rentallist;
	Rentallist.InitList = InitLinkedList;
	Rentallist.InitList(&Rentallist, AddTop, AddBottom, DeleteAt, DeleteTop, DeleteBottom, DeleteAll);

	while (mode != '0'){
		printf("\nmode 선택 ( 1 = 사용자 관리 , 2 = 비디오 관리 , 3 = 대여 관리, 0 = 종료) \n");
		mode = getchar();
		fflush(stdin);

		switch (mode)
		{
		case '1':
			printf("\nmode 선택 ( 1 = 회원 등록 , 2 = 회원 목록 , 3 = 회원 검색, 4 = 회원 정보수정 ,5 = 회원 삭제 0 = 돌아가기) \n");
			cManageMember = getchar();
			fflush(stdin);
			switch (cManageMember){
			case '1':
				InputMember(&Memberlist);
				break;
			case '2':
				vPrintMember(&Memberlist);
				break;
			case '3':
				SearchMember(&Memberlist);
				break;
			case '4':
				ModifyMember(&Memberlist);
				break;
			case '5':
				DeleteMember(&Memberlist);
				break;
			default:
				cManageMember = '0';
				break;
			}
			break;
		case '2':
			printf("\nmode 선택 ( 1 = 비디오 등록 , 2 = 비디오 목록 , 3 = 비디오 검색, 4 = 비디오 정보수정 ,5 = 비디오 삭제 0 = 돌아가기) \n");
			cManageVideo = getchar();
			fflush(stdin);
			switch (cManageVideo){
			case '1':
				InputVideo(&Videolist);
				break;
			case '2':
				vPrintVideo(&Videolist);
				break;
			case '3':
				SearchVideo(&Videolist);
				break;
			case '4':
				ModifyVideo(&Videolist);
				break;
			case '5':
				DeleteVideo(&Videolist);
				break;
			default:
				cManageVideo = '0';
				break;
			}
			break;
		case '3':
			printf("\nmode 선택 ( 1 = 비디오 대여 , 2 = 비디오 반납 , 3 = 비디오 대여목록 ,0 = 돌아가기) \n");
			cManageRental = getchar();
			fflush(stdin);
			switch (cManageRental){
			case '1':
				InputRental(&Memberlist, &Videolist, &Rentallist);
				break;
			case '2':
				ReturnVideo(&Rentallist);
				break;
			case '3':
				PrintRentallist(&Rentallist);
				break;
			}
		}
	}
}