Пример #1
0
Bitset::Bitset(int entries)
{
    this->arreglo=new mybyte[entries/8+1];
    this->MAX=entries;
    for(int i=0;i<entries;i++)deleteMember(i);
    cuantos=0;
}
void deleteMember(Member* list)
{
	char buf[10];
	int i, j;
	char input;
	system("cls");
	printf("================================================================================");
	printf("                              회원 정보 삭제 메뉴\n");
	printf("================================================================================\n");
	printf("\n\n\n\n\n     삭제할 회원의 ID Number 입력 : ");
	gets(buf);
	for (i = 0; i < MAX; i++) // 입력한 ID Number를 가진 구조체 찾기
	{
		if (list[i].ID == atoi(buf) && atoi(buf) != 0)// atoi함수에 문자가 들어가면 0을 출력하기 때문
			break;
	}
	if (i == MAX)
	{
		printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n        메인페이지로 이동 ( H )      error : 일치하는 회원이 없습니다.");
		input = _getch();
		if (input == 'h' || input == 'H' || input == 'ㅗ')
			return;
		else deleteMember(list); return;
	}

	printf("\n\n\n\n\n\n\n\n\n\n\n\n\n                       정말로 삭제하시겠습니까? ( Y / N )\n");


	while (1)
	{
		input = _getch();
		if (input == 'y' || input == 'Y' || input == 'ㅛ')
		{
			for (; i < MAX; i++)
			{
				list[i] = list[i + 1];
			}

			printf("                  입력하신 회원정보의 삭제가 완료되었습니다.");
			changeOrNot++;
			_getch();
			return;
		}
		else if (input == 'n' || input == 'N' || input == 'ㅜ')
		{
			printf("                         회원정보 삭제가 취소되었습니다.");
			_getch();
			return;
		}
		else printf("\a");
	}
}
void mainPage(Member *list)
{
	char input;


	while (1)
	{
		system("cls");
		printf("\n\n\n\n\n\n\n\n");
		printf("               ================================================\n");
		printf("                                 1.회원보기\n");
		printf("                                 2.회원등록\n");
		printf("                                 3.회원수정\n");
		printf("                                 4.회원삭제\n");
		printf("                                 5.회원검색\n");
		printf("                                 6.변경사항 저장\n");
		printf("                                 7.종료\n");
		printf("               ================================================\n");
		input = _getch();
		if (48 < input && 56 > input) // 문자'1'의 아스키코드는 49
		{
			switch (input)
			{
			case 49:
				printPersonalInformation(list);
				break;
			case 50:
				addMember(list);
				break;
			case 51:
				editMember(list);
				break;
			case 52:
				deleteMember(list);
				break;
			case 53:
				searchMember(list);
				break;
			case 54:;
				saveMember(list);
				break;
			case 55:;
				return;
			}
		}
		else printf("\a"); // 1~7 이외의 값 입력시 beep음 출력
	}

	return;
}
Пример #4
0
/**
 * FUNCTION NAME: updateLeader
 *
 * DESCRIPTION: Update Leader information
 */
void Member::updateLeader(Address leaderAddr, std::string leaderName) {
    
    if (getLeaderAddress().compare(leaderAddr.getAddress()) == 0) return;
    std::cout << "NOTICE " << leaderEntry->getUsername() << " left the chat or crashed." << std::endl;
    std::string leader_ip_port = leaderAddr.getAddress();
    leaderEntry = new MemberListEntry(leader_ip_port, leaderName);
    
    std::cout << "NOTICE " << getLeaderName() << " is the new leader" << std::endl;
    // New leader should not be in the list
    deleteMember(leader_ip_port);
    
#ifdef DEBUGLOG
    std::cout << "\tNew Leader: " << getLeaderName() << std::endl;
#endif
    
}
Пример #5
0
void options() {
	int option;

	printf("\nPress 1 to add a new member to the list.\n");
	printf("Press 2 to search for a member by name.\n");
	printf("Press 3 to remove a member from the list.\n");
	printf("Press 4 to destroy the current list\n");
	printf("Press 5 to exit the program.\n");
	scanf("%d", &option);
	switch (option) {
		case 1:
			addMember();
			break;

		case 2:
			searchMemberCall();
			break;

		case 3:
			deleteMember();
			break;

		case 4:
			destroyList();
			break;

		case 5:
			printf("You have exited the program.");
			break;

		default:
			printf("You have entered a faulty option, please try again.\n");
			options();
			break;
	}
}
//회원 검색
void searchMember()
{
	int i = 0;
	int choiceUser = 0;
	int selectMode = 0;
	int index = saveIndexNumber();
	char inputsignNumber[80];
	MemberInfo save[100];

	//회원 정보 불러오기
	FILE *fp;
	//파일 열기,에러 체크
	if ((fp = _fsopen("memberInfo.txt", "r", _SH_DENYNO)) == NULL)
	{
		puts("memberInfo.txt 열기 샐패");
		return;
	}
	//용도에 맞게 쓰기
	fread(&save, sizeof(MemberInfo), index, fp);
	//파일 닫기
	fclose(fp);


	printf("찾으실 회원의 주민등록번호 앞 6자리를 입력 하세요\n");
	inputString(inputsignNumber);

	/*if (strlen(inputsignNumber) != 6)
	{
	printf("주민등록번호 앞자리는 6자리 입니다.");
	Sleep(1000);
	system("cls");
	printUser(index);
	}*/
	system("cls");
	//입력받은 주민 등록 번호와 저장된 주민등록 번호가 일치 하면 화면에 출력
	for (i = 0; i < index; i++)
	{
		if (strcmp(inputsignNumber, save[i].signNumber) == 0)
		{
			printf("회원 번호 : %d\n", save[i].id);
			printf("\t이름 : %s\n", save[i].name);
			printf("\t주소 : %s\n", save[i].address);
			printf("\t주민등록번호 : %s\n", save[i].signNumber);
			printf("\t휴대폰 번호 : %s\n", save[i].phoneNumber);
			printf("\t이메일 : %s\n", save[i].email);
			//printf("\t빌린책 : %d\n", save[i].bookList);

		}
	}

	printf("수정 또는 삭제하실 회원 번호를 입력 하세요\n");
	choiceUser = inputNumber();

	system("cls");
	printf("수정 또는 삭제를 선택 하세요\n");
	printf("1. 수정\n");
	printf("2. 삭제\n");
	printf("0. 이전 메뉴로\n");
	printf("선택 : ");
	
	selectMode = inputNumber();

	system("cls");
	//메뉴 선택에 따라 기능
	if (selectMode == 1)
	{
		fixMember(choiceUser, index);
	}
	if (selectMode == 2)
	{
		deleteMember(choiceUser, index);
	}
	if (selectMode == 0)
	{
		return;
	}
}