图书馆管理系统
用字典类描述图书信息(书名、作者、出版社、编号等)。
1、自定义图书馆类Library管理所有书籍。
2、图书馆可以添加、删除、修改书籍。
图书馆在添加书籍后,为书籍编号。
3、可以从图书馆根据书名查找书籍。
4、图书馆可以展示所有书籍清单(书名)。
.h
.m
思路: 类里创建个可变数组,图书为可变字典.把图书放到数组里;
用字典类描述图书信息(书名、作者、出版社、编号等)。
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
思路: 类里创建个可变数组,图书为可变字典.把图书放到数组里;
写方法的时候先写的查找;其他功能基于查找实现