コード例 #1
0
ファイル: lb3.c プロジェクト: amogh-git09/Library_Management
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;
}
コード例 #2
0
ファイル: service.c プロジェクト: CyberGrandChallenge/samples
int main(void) {
	users_t users[MAX_USERS];
	char buf[100];
	int done = 0;

//	BusyWork();

	// set a global pointer for easier function access
	USERS = users;

	// init some vars
	ADMIN_ACCESS = 0;
	CURRENT_USER = -1;
	NUM_USERS = 0;
	zero((char *)USERS, sizeof(users_t)*MAX_USERS);

	while (!done) {
		if (ADMIN_ACCESS) {
			zero(buf, 100);
			PrintAdminMenu();
			if (read_until(buf, '\n', 100) == -1) {
				_terminate(-1);
			}
			if (strlen(buf) > 1) {
				print("[-] Invalid choice\n");
				continue;
			}
			switch (buf[0]) {
				case '1':
					SendBroadcastMessage();
					break;

				case '2':
					ADMIN_ACCESS = 0;
					break;

				case '3':
					print("Exiting...\n");
					done = 1;
					break;

				default:
					continue;
			}
		} else if (CURRENT_USER == -1) {
			zero(buf, 100);
			PrintLoggedOutMenu();
			if (read_until(buf, '\n', 100) == -1) {
				_terminate(-1);
			}
			if (strlen(buf) > 1) {
				print("[-] Invalid choice\n");
				continue;
			}
			switch (buf[0]) {
				case '1':
					CreateUser();
					break;
				case '2':
					Login();
					break;
				case '3':
					print("Exiting...\n");
					_terminate(0);
					break;
				default:
					print("[-] Invalid choice\n");
					continue;
			}
		} else {
			zero(buf, 100);
			PrintNewMessages();
			PrintLoggedInMenu();
			if (read_until(buf, '\n', 100) == -1) {
				_terminate(-1);
			}
			if (strlen(buf) > 1) {
				print("[-] Invalid choice\n");
				continue;
			}
			switch (buf[0]) {
				case '1':
					SendMessage();
					break;
				case '2':
					ReadMessage();
					break;
				case '3':
					ListMessages();
					break;
				case '4':
					DeleteMessage();
					break;
				case '5':
					CURRENT_USER = -1;
					print("Logging out...\n");
					break;
				case '6':
					print("Exiting...\n");
					_terminate(0);
					break;
				case 'a':
					AdminLogin();
					break;
				default:
					print("[-] Invalid choice\n");
					continue;
			}
		}
	}

	return(0);
}