您的位置:首页 > 其它

OC作业- 图书馆管理系统

2014-09-20 14:56 330 查看
图书馆管理系统

用字典类描述图书信息(书名、作者、出版社、编号等)。

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


思路: 类里创建个可变数组,图书为可变字典.把图书放到数组里;

写方法的时候先写的查找;其他功能基于查找实现
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: