Group::Group() : Node() { Member *name = FindMember(wxT("Name")); DeleteMember(name); DESTROY(name); }
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; }
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(); }
void BnxChannel::DeleteMember(const std::string &strNickname) { MemberIterator memberItr = GetMember(strNickname); if (memberItr != MemberEnd()) DeleteMember(memberItr); }
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; }
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; } } } }