图书馆

//

//  Book.h

//  lanou

//

//  Created by lanou3g on 15/4/29.

//  Copyright (c) 2015年 lanou3g. All rights reserved.

//

#import <Foundation/Foundation.h>

@interface Book : NSObject

{

NSString * _bookName;//图书名字

NSString * _bookAuther;//图书作者

NSString * _bookPublicHouse;//图书出版社

CGFloat _bookPrice;//图书价格

}

//初始化方法

-(id)initWithBookName:(NSString *)bookName WithBookAuther:(NSString *)bookAuther WithBookPublicHouse:(NSString *)bookPublicHouse WithBookPrice:(CGFloat)bookPrice;

//便利构造器

+(id)bookWithBookName:(NSString *)bookName WithBookAuther:(NSString *)bookAuther WithBookPublicHouse:(NSString *)bookPublicHouse WithBookPrice:(CGFloat)bookPrice;

//set赋值

-(void)setBookName:(NSString *)bookName;

-(void)setBookAuther:(NSString *)bookAuther;

-(void)setBookPublicHouse:(NSString *)bookPublicHouse;

-(void)setBookPrice:(CGFloat)bookPrice;

//get取值

-(NSString *)getBookName;

-(NSString *)getBookAuther;

-(NSString *)getBookPublicHouse;

-(CGFloat)getBookPrice;

@end

//

//  Book.m

//  lanou

//

//  Created by lanou3g on 15/4/29.

//  Copyright (c) 2015年 lanou3g. All rights reserved.

//

#import "Book.h"

@implementation Book

-(id)initWithBookName:(NSString *)bookName WithBookAuther:(NSString *)bookAuther WithBookPublicHouse:(NSString *)bookPublicHouse WithBookPrice:(CGFloat)bookPrice

{

self = [super init];

if (self) {

_bookName = bookName;

_bookAuther = bookAuther;

_bookPublicHouse = bookPublicHouse;

_bookPrice = bookPrice;

}

return self;

}

+(id)bookWithBookName:(NSString *)bookName WithBookAuther:(NSString *)bookAuther WithBookPublicHouse:(NSString *)bookPublicHouse WithBookPrice:(CGFloat)bookPrice

{

Book * book = [[Book alloc]initWithBookName:bookName WithBookAuther:bookAuther WithBookPublicHouse:bookPublicHouse WithBookPrice:bookPrice];

return book;

}

-(void)setBookName:(NSString *)bookName

{

_bookName = bookName;

}

-(void)setBookAuther:(NSString *)bookAuther

{

_bookAuther = bookAuther;

}

-(void)setBookPublicHouse:(NSString *)bookPublicHouse

{

_bookPublicHouse = bookPublicHouse;

}

-(void)setBookPrice:(CGFloat)bookPrice

{

_bookPrice = bookPrice;

}

-(NSString *)getBookName

{

return _bookName;

}

-(NSString *)getBookAuther

{

return _bookAuther;

}

-(NSString *)getBookPublicHouse

{

return _bookPublicHouse;

}

-(CGFloat)getBookPrice

{

return _bookPrice;

}

#pragma  make 重写打印需要展示内容的方法

-(NSString *)description

{

return [NSString stringWithFormat:@"%@ %@ %@ %.2f",_bookName,_bookAuther,_bookPublicHouse,_bookPrice];

}

@end

//

//  Library.h

//  lanou

//

//  Created by lanou3g on 15/4/29.

//  Copyright (c) 2015年 lanou3g. All rights reserved.

//

#import <Foundation/Foundation.h>

@class Book;//声明book是一个类

@interface Library : NSObject

{

NSString * _libraryName;//图书馆名字

NSMutableArray * _libraryArray;//存放书的地方

}

#pragma mark 初始化方法

-(id)initWithLibraryName:(NSString *)libraryName;

#pragma  mark 设置器(图书馆的名字)

-(void)setLibraryName:(NSString *)libraryName;

#pragma  mark 访问器(图书馆的名字)

-(NSString *)getLibraryName;

#pragma make 添加图书

-(BOOL)addBookToLibrary:(Book *)book;

#pragma make 删除图书

-(BOOL)deleteBookFromLibrary:(Book *)book;

#pragma make 根据作者删除图书

-(BOOL)deleteBookFromLiByBookAuther:(Book *)bookAuther;

#pragma make 按照图书名字查找图书

-(NSArray *)findBookFromLibraryByName:(NSString *)bookName;

#pragma make 按照价格找图书

-(NSArray *)findBookFromLibraryByPrice:(CGFloat)bookPrice;

#pragma make 按照作者找

-(NSArray *)findBookFromLibraryByAuther:(NSString *)bookAuther;

#pragma make 按照出版社找

-(NSArray *)findBookFromLibraryByHouse:(NSString *)bookPublicHouse;

#pragma make 展示所有书籍

-(void)showAllBooks;

@end

//

//  Library.m

//  lanou

//

//  Created by lanou3g on 15/4/29.

//  Copyright (c) 2015年 lanou3g. All rights reserved.

//

#import "Library.h"

#import "Book.h"

@implementation Library

#pragma mark 初始化方法

-(id)initWithLibraryName:(NSString *)libraryName

{

self = [super init];

if (self) {

_libraryName = libraryName;

_libraryArray = [NSMutableArray array];

}

return self;

}

#pragma  mark 设置器(图书馆的名字)

-(void)setLibraryName:(NSString *)libraryName

{

_libraryName = libraryName;

}

#pragma  mark 设置器(图书馆的名字)

-(NSString *)getLibraryName

{

return _libraryName;

}

#pragma make 添加图书

-(BOOL)addBookToLibrary:(Book *)book

{

[_libraryArray addObject:book];

return YES;

}

#pragma make 删除图书

-(BOOL)deleteBookFromLibrary:(Book *)book

{

[_libraryArray removeObject:book];

return YES;

}

#pragma make 根据作者删除图书

-(BOOL)deleteBookFromLiByBookAuther:(NSString *)bookAuther

{

NSMutableArray * deleteArray = [NSMutableArray array];

//    forin里面不可以直接删除元素 .要删就创建一个数组,把要删的元素存到里面,在一起删

for (Book * temp in _libraryArray) {

if ([[temp getBookAuther]isEqualToString:bookAuther]) {

[deleteArray addObject:temp];

//            [_libraryArray removeObject:temp];这种做法不可取。。。会找成系统崩溃

}

}

[_libraryArray removeObject:deleteArray];

return YES;

}

#pragma make 按照图书名字查找图书

-(NSArray *)findBookFromLibraryByName:(NSString *)bookName

{

NSMutableArray * array = [NSMutableArray array];

for (Book * temp in _libraryArray) {

if ([[temp getBookName]isEqualToString:bookName]) {

[array addObject:temp];

}

}

return array;

}

#pragma make 按照价格找图书

-(NSArray *)findBookFromLibraryByPrice:(CGFloat)bookPrice

{

NSMutableArray * array = [NSMutableArray array];

for (Book * temp in _libraryArray) {

if ([temp getBookPrice] - bookPrice < 0.000001 && bookPrice - [temp getBookPrice] > -0.000001) {

[array addObject:temp];

}

}

return array;

}

#pragma make 按照作者找

-(NSArray *)findBookFromLibraryByAuther:(NSString *)bookAuther

{

NSMutableArray * array = [NSMutableArray array];

for (Book * temp in _libraryArray) {

if ([[temp getBookAuther]isEqualToString:bookAuther]) {

[array addObject:temp];

}

}

return array;

}

#pragma make 按照出版社找

-(NSArray *)findBookFromLibraryByHouse:(NSString *)bookPublicHouse

{

NSMutableArray * array = [NSMutableArray array];

for (Book * temp in _libraryArray) {

if ([[temp getBookPublicHouse]isEqualToString:bookPublicHouse]) {

[array addObject:temp];

}

}

return array;

}

#pragma make 展示所有书籍

-(void)showAllBooks

{

for (Book * temp in _libraryArray) {

NSLog(@"%@ %@ %@ %.2f",[temp getBookName],[temp getBookAuther],[temp getBookPublicHouse],[temp getBookPrice]);

}

}

@end

//

//  main.m

//  lanou

//

//  Created by lanou3g on 15/4/29.

//  Copyright (c) 2015年 lanou3g. All rights reserved.

//

#import <Foundation/Foundation.h>

#import "Book.h"

#import "Library.h"

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

{

Book * book = [Book bookWithBookName:@"坏蛋是怎样炼成的" WithBookAuther:@"六道" WithBookPublicHouse:@"中国出版" WithBookPrice:10];

//    NSLog(@"%@ %@ %@ %f",[book getBookName],[book getBookAuther],[book getBookPublicHouse],[book getBookPrice]);

Book * book1 = [Book bookWithBookName:@"大宋的智慧" WithBookAuther:@"子鱼" WithBookPublicHouse:@"长江出版社" WithBookPrice:50];

Book * book2 = [Book bookWithBookName:@"钢铁是怎样炼成的" WithBookAuther:@

"司机"WithBookPublicHouse:@"人民出版社" WithBookPrice:120];

Book * book3 = [Book bookWithBookName:@"平凡的世界" WithBookAuther:@"路遥" WithBookPublicHouse:@"盗版" WithBookPrice:250];

Book * book4 = [Book bookWithBookName:@"小时代" WithBookAuther:@"郭敬明" WithBookPublicHouse:@"长江出版社" WithBookPrice:36];

Book * book5 = [Book bookWithBookName:@"梦里花落知多少" WithBookAuther:@"郭敬明" WithBookPublicHouse:@"长江出版社" WithBookPrice:2.5];

//    创建一个图书馆

Library * library = [[Library alloc]initWithLibraryName:@"北京150407"];

//    往图书馆添加一本书

[library addBookToLibrary:book];

[library addBookToLibrary:book1];

[library addBookToLibrary:book2];

[library addBookToLibrary:book3];

[library addBookToLibrary:book4];

[library addBookToLibrary:book5];

////   展示所有图书

//    [library showAllBooks];

//    printf(" \n");

////    删除一本书

//

//    [library deleteBookFromLiByBookAuther:@"司机"];

//    [library showAllBooks];

//

NSArray * foundBookArray = [library findBookFromLibraryByPrice:2.5];

for (Book * books in foundBookArray) {

NSLog(@"%@",books);

}

return 0;

}

时间: 2024-10-15 16:06:51

图书馆的相关文章

图书馆管理系统(C语言实现)

源代码在这里 1   图书馆管理系统(C语言实现). 2  功能相对简单, 增删改查而已. 3  详细的介绍都在链接里了.

图书馆排序(Library Sort)

思路简介,大概意思是说,排列图书时,如果在每本书之间留一定的空隙,那么在进行插入时就有可能会少移动一些书,说白了就是在插入排序的基础上,给书与书之间留一定的空隙,这个空隙越大,需要移动的书就越少,这是它的思路,用空间换时间 看红线标的那句话知道,这个空隙留多大,你自己定 图书馆排序的关键是分配空间,分配完空间后直接使用插入排序即可 进行空间分配的过程 这个我实在是找不到相关的资料,没准就是平均分配嘞 进行插入排序的过程 举例待排数组[ 0 0 6 0 0 2 0 0 4 0 0 1 0 0 5 

图书馆管理系统——模板建立

图书馆管理系统也进行了有一段时日了,前段时间一直在进行画图,直到前天才真正的把图画完,当然后期肯定还有需要完善的地方.现阶段,我们就开始了界面的搭建,这个对于我们来说既是熟悉的,同时也是具有挑战性的.为什么这么说呢? 熟悉的是我们学习BS的第一个项目就是牛腩新闻发布系统,这个项目就是从代码到界面搭建,整合等项目的全套学习,我们的图书馆管理系统基本上都是这里面所讲到过的,对于我们来说都不陌生.但是,对于自己来说,当时学习牛腩视频的时候,基本上都是看着视频进行敲的,有很多地方不太理解,虽然功能或者样

利用jsoup解析个人信息----图书馆客户端

上一篇HTTPclient模拟登陆交大图书馆解决了登陆,登陆之后便可以查看个人信息.个人信息条目较少,如图: 主要就是:姓名.电话.目前借书.积欠金额. 查看其html代码: 下面开始进行解析: 代码 package com.ali.login.spider; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; import com.ali.login.bean.Us

公益图书馆-UserController-代码学习

1.我的捐书信息 /** * @author Edwin * @description 显示捐书信息 */ public function donate() { $BookDB = D('Book'); //获取BOOK数据表对象,实例化 $id = session('user')['id']; //获取当前用户id信息,比如我的id是73 $where['contributor_id'] = $id; //contributor_id = $id为查询条件 $count = $BookDB->

JavaWeb学习入门之——图书馆管理系统开发(Hibernate学习1)

最近看了看JavaWeb的书籍,才感觉到大二时候学的JavaWeb才仅仅只是个入门.最尴尬的当初还没咋学一直在看.NET,现在看起来JavaWeb,各种框架各种头疼啊.看了几个例子之后觉得,还是自己动手做个项目试试.边做边学才能学的快一点.做的时候用博客园记录下过程,省得以后忘.之所以选图书馆管理系统呢,是因为做过几个课程设计.对它的需求还是比较了解一点.现在通用的框架模式都是MVC,我在学的时候想先从Model层开始学.于是就先选Hibernate开始. 一.数据库 先简单设计几张表,图书表,

请设计一套图书馆借书管理系统的数据库表结构

请设计一套图书馆借书管理系统的数据库表结构:可以记录基本的用户信息.图书信息.借还书信息:数据表的个数不超过6个:请画表格描述表结构(需要说明每个字段的字段名.字段类型.字段含义描述): 在数据库设计中应: 1.保证每个用户的唯一性: 2.保证每种图书的唯一性:每种图书对应不等本数的多本图书:保证每本图书的唯一性: 3.借书信息表中,应同时考虑借书行为与还书行为,考虑借书期限: 4.保证借书信息表与用户表.图书信息表之间的参照完整性: 5.限制每个用户最大可借书的本数 6.若有新用户注册或新书入

图书馆管理系统 SRS文档

图书馆管理系统 SRS文档 编写人:魏晓 日期:2015年05月27日 1介绍 1.1编写目的 图书管理系统需求规格说明书是为了让系统的涉众就该系统的需求达成一致认可,明确该系统的需求,为后续的开发工作提供依据.通常,该需求规格说明可以作为产品设计的主要依据,并作为工程师编码时了解软件实际需求的主要参考资料.同时,需求规格说明是产品实现后用于检验的主要考察依据,是测试人员编写测试用例时的主要参考文件.另外,本文档还可以为其他需要了解系统需求的人员提供产品需求的详细说明. 1.2背景 软件系统的名

图书馆 管理系统--可行性报告

1.引言 1.1编写目的     本需求的编写是为了研究利用大型数据库做基础的图书管理系统软件的开发途径和应用方法.同时它也是进行项目策划.概要设计和详细设计的基础,是维护人员进行内部维护,信息更新,验收和测试的依据. 1.2项目背景 l  开发软件的名称:图书管理系统.  l  图书管理系统这任务提出与开发者为我们小组软件工程的的课程设计,用户是学校图书馆.  l  本产品是针对电脑管理图书的需求设计的,可以完成读者登记.购入新书.读者借还书.图书注销等. 1.3参考资料 <信息系统分析与设计