图书管理系统

#import <Foundation/Foundation.h>

@interface Book : NSObject

@property (nonatomic, copy) NSString *bookName;
@property (nonatomic) NSInteger price;

- (id)initWithBookName:(NSString *)bookName price:(NSInteger)price;

@end

#import "Book.h"

@implementation Book

- (id)initWithBookName:(NSString *)bookName price:(NSInteger)price{
self = [super init];
if (self) {
self.bookName = bookName;
self.price = price;
}
return self;
}

- (void)setBookName:(NSString *)bookName{
if (_bookName != bookName) {
[_bookName release];
_bookName = [bookName retain];
}
}

//重写NSLog方法
- (NSString *)description{
return [NSString stringWithFormat:@"书名是:%@, 价格是:%ld", _bookName, _price];
}

- (void)dealloc{
[_bookName release];
[super dealloc];
}

@end

#import <Foundation/Foundation.h>

@class Book;

@interface Library : NSObject

//2添加某本书
- (BOOL)addBook:(Book *)book;

//3删除某本书
- (void)removeBook:(NSString *)name;

//4查找某本书并且修改价格
- (void)lookForBook:(NSString *)name;

//5展示所有书籍
- (void)showAllBooks;

//6将书本按照价格从高到低进行排序
- (void)sortBookByPrice;

//7对书籍根据书名升序排序
- (void)sortBookByName;

//8记录图书馆中书名一样的书籍个数
- (void)repeatBook:(NSString *)book;

@end

#import "Library.h"
#import "Book.h"

@interface Library ()

@property (nonatomic, retain) NSMutableArray *array;

@end

@implementation Library

- (void)dealloc{
[_array release];
[super dealloc];
}

//初始化
- (instancetype)init {
if(self = [super init]) {
self.array = [NSMutableArray arrayWithCapacity:0];
}
return self;
}

//添加某本书
- (BOOL)addBook:(Book *)book {
if (book.bookName.length == 0) {
return NO;
} else {
[_array addObject:book];
return YES;
}
}

//删除某本书
- (void)removeBook:(NSString *)name {
if (name.length == 0) {
NSLog(@"请输入正确的书名");
return;
}

for (NSInteger i = 0; i < _array.count; i++) {
Book *book = [_array objectAtIndex:i];
if ([book.bookName isEqualToString:name]) {
NSLog(@"成功删除了%@", name);
[_array removeObjectAtIndex:i];
}
}
}

//查找某本书且修改价格
- (void)lookForBook:(NSString *)name {
if (name.length == 0) {
NSLog(@"请输入正确的书名");
return;
}

for (int i = 0; i < [_array count]; i++) {
Book *book = [_array objectAtIndex:i];
if ([book.bookName isEqualToString:name]) {
NSLog(@"找到了这本书%@", [_array objectAtIndex:i]);
book.price = 1000;
NSLog(@"更改之后的书:%@", [_array objectAtIndex:i]);
}
}
}

//展示所有书籍
- (void)showAllBooks {
for (Book *book in _array) {
NSLog(@"%@", book);
}
}

//对书本排序
- (void)sortBookByPrice {
BOOL flag = YES;
for (NSInteger i = 0; i < _array.count - 1 || flag; i++) {
flag = NO;
for (NSInteger j = 0; j < _array.count - 1 - i; j++) {
if ([_array[j] price] > [_array[j + 1] price]) {
[_array exchangeObjectAtIndex:j withObjectAtIndex:j + 1];
flag = YES;
}
}
}
}

- (void)sortBookByName {
NSSortDescriptor *descriptor = [NSSortDescriptor sortDescriptorWithKey:@"bookName" ascending:YES];
[_array sortUsingDescriptors:@[descriptor]];
}

- (void)repeatBook:(NSString *)bookName{
int count = 0;
for (Book *book in _array) {
if ([book.bookName isEqualToString:bookName]) {
count++;
}
}
NSLog(@"%d", count);
}




@end

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

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

Library *libary = [[Library alloc]init];

Book *book = [[Book alloc]initWithBookName:@"C语言基础" price:100];
Book *book1 = [[Book alloc]initWithBookName:@"OC之如何与水杯相处" price:1000];
Book *book2 = [[Book alloc]initWithBookName:@"UI之东游记白骨精的爱情故事" price:400];
Book *book3 = [[Book alloc]initWithBookName:@"Java之为为何你还是单身" price:30];

//1添加某本书
[libary addBook:book];
[libary addBook:book1];
[libary addBook:book2];
[libary addBook:book3];
[libary showAllBooks];
NSLog(@"----------华丽的分割线------------");
/*
//2删除某本书
char str[100];
NSLog(@"请输入书名:");
scanf("%s",str);
NSString *str1 = [[NSString alloc]initWithUTF8String:str];
[libary removeBook:str1];
[libary showAllBooks];
NSLog(@"----------华丽的分割线------------");

//3查找某本书并且修改价格
NSLog(@"请输入书名:");
scanf("%s",str);
NSString *str2 = [[NSString alloc]initWithUTF8String:str];
[libary lookForBook:str2];
NSLog(@"----------华丽的分割线------------");
*/
//4展示所有书籍
[libary showAllBooks];
NSLog(@"----------华丽的分割线------------");

//5对书籍根据价格排序
[libary sortBookByPrice];
[libary showAllBooks];
NSLog(@"----------华丽的分割线------------");

//6 对书籍根据名字升序排序
[libary sortBookByName];
[libary showAllBooks];

//7 记录同名书籍数
[libary repeatBook:@"C语言基础"];

return 0;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<br> 书 馆 管 理 系 统<br><br><br><br><br><br>摘  要<br>随着新世纪的到来,科学技术的突飞猛进,知识经济的日益发展,许多图书管理系统已经慢慢走向了老化。本系统正是针对这一现象设计了适应学校管理的图书管理系统。<br>本系统使用了Visual Basic6.0开发工具,结合ACCESS数据库,VB的coolbar,toolbar控件,tabstrip控件,VB的DAO数据访问对象等来实现数据库的操作。<br>图书管理系统主要对书馆管理日常工作中遇到的实际问题,例如书信息、读者的信息、管理员信息、借阅者信息进行管理,能够实现以下任务:<br>1.管理员管理操作<br>2.借还书的操作<br>3.了解读者的信息<br>4.了解书籍的信息<br><br><br>关键词:Visual Basic6.0 ACCESS数据库 DAO数据访问对象<br><br> <br>目 录<br><br>摘  要 I<br>第1章 概 述 1<br>1.1 开发背景 1<br>1.2 系统的功能 1<br>1.3本文所做的工作 2<br>第2章 开发工具及其相关技术 3<br>2.1 开发工具 3<br>2.1.1 VB的介绍 3<br>2.1.2 VB的特点 3<br>2.2 数据库基础与Access的应用 5<br>2.2.1.数据库的概念和术语 5<br>2.2.2. Microsoft Access简介 5<br>第3章 系统分析 7<br>3.1 确定系统目标 7<br>3.2系统需求分析 7<br>3.3系统功能分析 9<br>3.3.1功能分析 9<br>3.3.2功能分析 9<br>3.4与其他系统的关系 10<br>第4章 书借阅信息管理模块的实现 11<br>4.1 “借书信息”窗体的实现 11<br>4.2 ““借书信息”窗体的加载 13<br>4.3“借书信息”窗体的卸载 13<br>4.4“借书信息管理”窗体功能的实现 13<br>第5章 系统调试 16<br>5.1系统的测试 16<br>第6章 使用说明 17<br>6.1系统的运行 17<br>6.1.1 系统的安装 17<br>6.1.2 系统的登陆 17<br>总 结 18<br>参 考 文 献 19<br>附录A 代码 20<br>致  谢 24<br> <br>第1章 概 述<br>1.1 开发背景<br>当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大提高了其安全性。<br>尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。<br>一个现代化的书馆在正常运营中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息,还书信息。面对书馆数以万几计的书,纷繁复杂的读者信息,频繁更替的借还书信息,传统的直接方法不但管理出现漏洞,造成损失。<br>因此有一个智能化、系统化、信息化的图书管理系统十分重要的。充分利用计算机的功能实现对读者管理、书籍管理,借阅管理等自动化控制,将会使书馆的工作大大减弱。方便友好的形界面、简便的操作、完善的数据库管理。将会使得书馆系统极大限度的应用于现代化书管理中。<br>书馆作为一种信息资源的集散地,书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。<br>他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。<br>总的来说,缺乏系统,规范的信息管理手段。尽管有的书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。<br>1.2 系统的功能<br>校园书馆系统,是书管理员的最佳助手。其功能如下:<br>1. 方便学生和老师借书、还书、查找、导出、统计等操作。<br>2. 可以自定义书类别,读者类别,方便添加书、管理书、添加读者、管理读者。<br>3. 提供完善的借书和还书操作,拥有完全独立的数据库系统,使书室的数据安全得到了保障,数据管理为书管理员提供:书管理,读者管理。<br>4.数据查询为您提供:借阅情况,书库查询,读者查询。<br>5. 还又就是本具有安全的数据库备份方案,简单易用。<br>1.3本文所做的工作<br>第一章 主要介绍的是图书管理系统开发的背景,以及图书管理系统的重要功能。<br>第二章 介绍的是开发的工具(VB),VB的特点 ,VB的介绍。利用VB开发的优势。以及运用到的SQL数据库。简单的介绍了一下数据库。<br>第三章 图书管理系统的总体设计,划出了系统的功能层次。在设计图书管理系统钱,所要做的基本工作。<br>第四章 本人所完成的“借阅信息管理模块”。功能是如何实现的 。在这一章里,有窗体的设计,窗体功能的实现。这一章也是本问的重点。<br>第五章 系统调试<br>第六章 使用说明。<br><br><br>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值