图书管理系统

本文介绍了一个简单的图书管理系统的设计与实现过程,系统使用Objective-C语言开发,包括图书类和图书馆类的定义,实现了添加、删除、查找并修改图书价格等功能,并通过示例展示了如何使用该系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#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;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值