OC作業- 圖書館管理系統

圖書館管理系統
用字典類描述圖書信息(書名、作者、出版社、編號等)。

1、自定義圖書館類Library管理所有書籍。
2、圖書館可以添加、刪除、修改書籍。
圖書館在添加書籍後,爲書籍編號。
3、可以從圖書館根據書名查找書籍。
4、圖書館可以展示所有書籍清單(書名)。

5、可以從圖書館獲取所有書籍。


主函數

#import <Foundation/Foundation.h>
#import "Library.h"

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        

        Library *lid = [[Library alloc]init];
        
        NSMutableDictionary *hLM = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"紅樓夢", @"bookName", @"曹雪芹", @"author", @"長江", @"press", @"01", @"number", nil];
        NSMutableDictionary *sG = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"三國演義", @"bookName", @"羅貫中", @"author", @"長江", @"press", @"01", @"number", nil];
        NSMutableDictionary *sHZ = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"水滸傳", @"bookName", @"施耐庵", @"author", @"長江", @"press", @"01", @"number", nil];
        NSMutableDictionary *xYJ = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"西遊記", @"bookName", @"吳承恩", @"author", @"長江", @"press", @"01", @"number", nil];
        NSMutableDictionary *fSB = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"封神榜", @"bookName", @"忘了", @"author", @"長江", @"press", @"01", @"number", nil];
        
        // 添加圖書並添加編號
        [lid addBook:hLM];
        [lid addBook:sG];
        [lid addBook:sHZ];
        [lid addBook:xYJ];
        [lid addBook:fSB];
        [lid addBook:fSB];
        
        // 刪除圖書(根據書名)
        [lid deleteBook:@"封神榜"];
        [lid deleteBook:@"封神榜"];
        
        // 修改書名
        [lid alterBookName:@"水滸傳" newName:@"忠義水滸傳"];
        //  顯示所有書籍
        for (NSMutableDictionary *dic in lid.tuShu) {
            NSLog(@"");
            for (NSString *key in dic) {
                NSLog(@"%@ : %@", key, [dic objectForKey:key]);
            }
        }
        
        // 根據書名進行查找
        NSLog(@"--------以下是查找結果---------");
       NSMutableDictionary *dicn = [lid findBookName:@"忠義水滸傳"];
        for (NSString *key in dicn) {
            NSLog(@"%@ : %@", key, [dicn objectForKey:key]);
        }
    }
    return 0;
}

.h


#import <Foundation/Foundation.h>

@interface Library : NSObject

@property NSMutableArray *tuShu;

///  添加
- (void)addBook:(NSMutableDictionary *)newBook;

///  刪除(根據書名刪除)
- (void)deleteBook:(NSString *)bookName;

///  修改書名
- (void)alterBookName:(NSString *)bookName newName:(NSString *)newName;

///  查找(根據書名查找)
- (NSMutableDictionary *)findBookName:(NSString *)BookName;



@end

.m

#import "Library.h"


static int tag = 1;


@implementation Library




- (instancetype)init
{
    self = [super init];
    if (self) {
        _tuShu = [[NSMutableArray alloc]init];
    }
    return self;
}


///  添加
- (void)addBook:(NSMutableDictionary *)newBook
{
    if ([self findBookName:[newBook objectForKey:@"bookName"]] == nil) {
        [self.tuShu addObject:newBook];
        
        
        NSNumber *b = [NSNumber numberWithInt:tag ++];
        [newBook setValue:b forKey:@"number"];
        
        NSLog(@"添加成功, %@圖書編號爲%@", [newBook objectForKey:@"bookName"], b);
    } else {
        NSLog(@"%@已存在,添加失敗", [newBook objectForKey:@"bookName"]);
    }
}

///  刪除(根據書名刪除)
- (void)deleteBook:(NSString *)bookName
{
    if ([self findBookName:bookName] == nil) {
        NSLog(@"書籍不存在");
    } else {
        [self.tuShu removeObject:[self findBookName:bookName]];
        NSLog(@"書籍已刪除");
    }
}



///  查找(根據書名查找)
- (NSMutableDictionary *)findBookName:(NSString *)BookName
{
    for (NSMutableDictionary *dic in _tuShu) {
        if ([dic objectForKey:@"bookName"] == BookName) {
            return dic;
        }
    }
    return nil;
}


///  修改書名
- (void)alterBookName:(NSString *)bookName newName:(NSString *)newName
{
    [[self findBookName:bookName] setValue:newName forKey:@"bookName"];
}


@end




思路: 類裏創建個可變數組,圖書爲可變字典.把圖書放到數組裏;

寫方法的時候先寫的查找;其他功能基於查找實現

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章