XX学院计算机科学技术系
信息理信息系统专业
程序设计综合课程设计报告
(20102011学年 第学期)
学生姓名:
学生班级: 信息理信息系统
学生学号:
指导教师:
2010年 月 日
目 录
课程设计目 3
课程设计实务容3
课程设计求3
系统功模块图3
详细设计说明4
部分函数流程图 6
程序调试7
课程设计心体会11
附录:源程序代码12
课程设计目
加深C语言课程学知识理解进步巩固C语言算法规学会编制结构清晰风格良数结构适C程序具备解决综合性问题力
二 课程设计实务容图书馆
图书理基业务活动包括:书采编入库清库存阅等等试设计图书理系统述业务活动助计算机系统完成
三 课程设计求
(1)种书登记容少包括书号书名著者现存量总库量等五项
(2)作演示系统必文件全部数存存放述四项基业务活动通书号(关键码)进行B树(23阶数)书号建立索引获高效率
(3)系统应实现操作定义:
A采编入库:新购入种书分类确定书号登记图书帐目中果种书帐中已总库存量增加
B清库存:某种书已保留价值图书帐目中注销
C阅:果种书现存量零出登记阅者图书证号期限
D:注销阅者登记改变该书现存量
E显示:凹入表形式显示B树
四 系统功模块图
五 详细设计说明
书籍结构体(Book)
①私数
char bnum[10] 书号
char bname[20] 书名
char bauthor[10] 作者
char rname[10] 阅
②公数公函数
int tag 状态标记判断指标(已架)
Book() 构造函数初始化信息
void set_bnum(char *no) 设置书号
char *get_bnum() 获书号
void set_bname(char *n) 设置书名
char *get_bname() 获书名
void set_bauthor(char *a) 设置作者
char * get_bauthor() 获作者姓名
void set_tag(int t) 状态设置
void set_rname(char *rn) 设置阅
char *get_rname() 获阅姓名
void show_tag() 显示图书状态
void copy(Book m) Book结构体copy函数
书籍理结构体(BookManage)
① 私数函数
Book books[100] 定义Book书籍结构体数组象容量100
int length 计数
void saveFile() 保存书籍文件
void readFile() 读取书籍文件
②公数函数
BookManage() 构造函数读取磁盘文件
~BookManage() 析构函数保存磁盘文件
bool add(Book book) 添加图书资料
int bnu_search(char *bnu) 书号查找书籍
int bna_search(char *bna) 书名查找书籍
int bau_search(char *bau) 作者查找书籍
int rn_search(char *rn) 阅查找书籍
void revise(Book bookint i)带参修改书籍函数
void deleteBook(int index)带参删书籍资料函数
void show_book()带参显示书籍函数
void show_book(int i)带参显示书籍函数
void br_book()读者书功函数
bool in(int i) 判断图书否架函数
读者结构体(Reader)
①私数函数
char rname[10] 读者姓名
char rclass[10] 班级
char rtel[10] 电话
②公数函数
Reader() 构造函数实现数初始化
void set_rname(char *rn) 设置读者姓名
char * get_rname() 获读者姓名
void set_rclass(char *rc) 设置班级
char *get_rclass() 获班级
void set_rtel(char *rt) 设置电话
char *get_rtel() 获电话
void copy(Reader m) 读者Reader结构体copy函数
读者理结构体(ReaderManage)
①私数函数
Reader readers[50] 定义读者结构体数组象50位
int length 计数
void readFile() 读取读者文件函数
void saveFile() 保存读者文件
②公数函数
ReaderManage() 构造函数读取读者文件
~ReaderManage() 析构函数保存读者文件
void add_reader(Reader r) 添加读者户函数
int search(char *rn) 姓名查找读者函数
bool revise(Reader readerint i) 修改读者资料函数
void delete_reader(int index) 删读者函数
bool log_reader(Reader r) 登录时判断读者户否存函数
void reg_reader() 注册户函数
void show_reader() 带参显示读者信息函数
void show_reader(int i) 带参显示读者信息函数
菜单结构体(Menu)
①私数函数
BookManage bm 定义书籍理结构体象bm
ReaderManage rm 定义读者理结构体象rm
Reader r 定义读者结构体象r
int choice 菜单序号选择
int key 理员密码
②公数函数
void header() 页眉
void log_menu() 界面登录菜单
void admin_menu() 理员理菜单
void reader_menu() 读者服务菜单
void bsearch_menu() 读者查找书籍菜单
void absearch_menu() 理员查找书籍菜单
void reader_lr() 读者登录注册菜单
void log_admin() 理员登录
void rn_search() 书号查找函数
void bnu_search() 书号查找函数
void bna_search() 书名查找函数
void bau_search() 作者查找函数
void addBook() 新增书籍函数
void reviseBook() 修改书籍函数
void delBook() 删书籍函数
void reviseReader()修改读者户函数
void delReader() 删读者户函数
函数(main)
int main()
六 部分函数流程图
①理员登录
②读者登录
③读者阅图书
④理员读者书名查找图书
七 程序调试
界面菜单显示
①登录界面
②系统理界面
③读者登录界面
④读者服务界面
⑤书籍查找界面
登录验证
①理员登录
A 输入错误密码 B输入正确密码
②读者登录
A 输入已注册姓名 B输入未注册姓名
注册新读者户
添加新图书资料
①输入已存图书书号 ②输入未存图书书号
修改已图书资料
①输入存图书书号 ②输入已存图书书号
删已图书资料
①输入存图书书号 ②输入已存图书书号
查找已图书资料(书号查找例)
①输入存图书书号
②输入已存图书书号
248显示图书资料
八 课程设计心体会
三星期努力前修修改改调试调试C++图书理系统终诞生程中发现知识没学例子时候简单机操作问题调试时候系统总报错警告添加函数调试久时候仅仅少括号花半时找问题瓶颈系统然完成运行基功够实现知道足外发现帮助文件真例子懂时候帮助文件搜索果里面信息够完整利网站搜索引擎寻找答案更改背景颜色问题前试次行偶然发现MSDOS命令全然网搜索color命令语法原复杂代码需句system(color fd)问题迎刃解会课程设计定吸取次教训知识知识学透学精够真正做
九 附录
#include
#include
#include
#include
#include
#define BookFile booktxt 字符串BookFile换原文件中宏名称book
#define ReaderFile readertxt
using namespace std
**********读者结构体存放读者基信息**********
class Reader
{
private
char rname[10]
char rclass[10]
char rtel[10]
public
Reader() 构造函数实现数初始化
{strcpy(rname)strcpy(rclass)strcpy(rtel)}
void set_rname(char *rn) 设置读者姓名
{strcpy(rnamern)} rn字符复制rname
char * get_rname() 获读者姓名
{return rname} 返回rname值
void set_rclass(char *rc) 设置班级
{strcpy(rclassrc)}
char *get_rclass() 获班级
{return rclass}
void set_rtel(char *rt) 设置电话
{strcpy(rtelrt)}
char *get_rtel() 获电话
{return rtel}
void copy(Reader m) 读者Reader结构体copy函数
{strcpy(rnamemget_rname())strcpy(rclassmget_rclass())strcpy(rtelmget_rtel())}
}
*********读者理结构体实现读者户理*********
class ReaderManage
{
Reader readers[50] 定义读者结构体数组象50位
int length
void readFile() 读取读者文件函数
{
ifstream fread 定义输入文件流象fread
length0 计数
if(fread)
{cout<<读取磁盘文件失败<
int i0
while((freadread((char *)&readers[i]sizeof(Reader))))计算返回占字节数
i++
lengthi
freadclose()关闭磁盘文件
}
void saveFile() 保存读者文件
{
ofstream fwrite 定义输出文件流象fwrite
if(fwrite)
{cout<<文件保存失败\n exit(1) }
fwriteopen(ReaderFileiosbinary)文件流文件关联二进制方式开
fwritewrite((char *)readerslength*sizeof(Reader))计算返回占字节数
fwriteclose() 关闭磁盘文件
}
public
ReaderManage() 构造函数读取读者文件
{readFile()}
~ReaderManage() 析构函数保存读者文件
{saveFile()}
void add_reader(Reader r) 添加读者户函数
{
if(length>50)
{cout<<起注册数已满\nreturn }
readers[length]copy(r) 调读者结构体copy函数
length++
}
int search(char *rn) 姓名查找读者函数
{
for(int i0i
return i
return 1
}
bool revise(Reader readerint i) 修改读者资料函数
{
readers[i]copy(reader) 调读者结构体cpoy函数
return true
}
void delete_reader(int index) 删读者函数
{
for(int iindexi
length
}
bool log_reader(Reader r) 登录时判断读者户否存函数
{
for(int i0i
return true
return false
}
void reg_reader() 注册户函数
{
char n[10] 姓名name
char c[10] 班级class
char t[10] 电话tel
Reader reader
cout<<\n\t请输入您姓名
cin>>n
cout<<\n\t请输入您班级
cin>>c
cout<<\n\t请输入您联系电话
cin>>t
readerset_rname(n) 调读者结构体设置读者姓名函数
readerset_rclass(c) 调读者结构体设置读者班级函数
readerset_rtel(t) 调读者结构体设置联系电话函数
add_reader(reader) 调读者结构体添加读者函数
cout<<\n\t注册成功
}
void show_reader() 带参显示读者信息函数
{
cout<<\n **********************读****者****信****息****列****表**********************\n\n
cout<<姓名\t\t\t班级\t\t\t电话\n
for(int i0i
cout<
}
void show_reader(int i) 带参显示读者信息函数
{
cout<<\n **********************读****者****信****息****列****表**********************\n\n
cout<<姓名\t\t\t班级\t\t\t电话\n
cout<
}
********书籍结构体存放书籍基信息********
class Book
{
private
char bnum[10] 书号
char bname[20] 书名
char bauthor[10] 作者
char rname[10] 阅
public
int tag 状态标记判断指标(已架)
Book() 构造函数初始化信息
{strcpy(bnum)strcpy(bname)strcpy(bauthor)strcpy(rname)tag0}
void set_bnum(char *no) 设置书号
{strcpy(bnumno)} 字符串no中字符复制字符串bnum中
char *get_bnum() 获书号
{ return bnum} 返回值bnum
void set_bname(char *n) 设置书名
{strcpy(bnamen)}
char *get_bname() 获书名
{return bname}
void set_bauthor(char *a) 设置作者
{strcpy(bauthora)}
char * get_bauthor() 获作者姓名
{return bauthor}
void set_tag(int t) 状态设置
{tagt}
void set_rname(char *rn) 设置阅
{strcpy(rnamern)}
char *get_rname() 获阅姓名
{return rname}
void show_tag() 显示图书状态
{
if(tag1)
{cout<<已}
else
{cout<<架}
}
void copy(Book m) Book结构体copy函数
{
strcpy(bnummget_bnum()) 获书号函数里返回值里字符复制bnum
strcpy(bnamemget_bname())
strcpy(bauthormget_bauthor())
tag0
}
}
**********书籍理结构体实现理书籍功**********
class BookManage
{
private
Book books[100] 定义Book书籍结构体数组象容量100
int length
void saveFile() 保存书籍文件
{
ofstream fwrite 定义输出文件流ofstream结构体象fwrite
if(fwrite)
{cout<<文件保存失败\n exit(1) }
fwriteopen(BookFileiosbinary)文件流文件建立关联二进制方式开
fwritewrite((char *)bookslength*sizeof(Book)) 计算返回占字节数
fwriteclose() 关闭磁盘文件
}
void readFile() 读取书籍文件
{
ifstream fread 定义输入文件流象fread
length0
if(fread)
{cout<<文件读取失败<
int i0
freadopen(BookFile iosbinary)文件流文件建立关联二进制方式开
while((freadread((char *)&books[i]sizeof(Book))))
i++ 读完次指针移位直读出正确结果止
lengthi
freadclose()
}
public
BookManage() 构造函数读取磁盘文件
{
length0 头读起计数100
readFile() 调读取文件函数
}
~BookManage() 析构函数保存磁盘文件
{
saveFile() 调保存文件函数
}
bool add(Book book) 添加图书资料
{
if(length>100)
{
cout<<起储存已满您法继续添加\n
return 1
}
else
{
books[length]copy(book) 调书籍结构体copy函数
length++
return (length1)
}
}
int bnu_search(char *bnu) 书号查找书籍
{
for(int i0i
return i
return 1
}
int bna_search(char *bna) 书名查找书籍
{
for(int i0i
return i
return 1
}
int bau_search(char *bau) 作者查找书籍
{
for(int i0i
return i
return 1
}
int rn_search(char *rn) 阅查找书籍
{
for(int i0i
return i
return 1
}
void revise(Book bookint i)带参修改书籍函数
{books[i]copy(book)} 调Book结构体copy函数
void deleteBook(int index)带参删书籍资料函数
{
for(int iindexi
length
}
void show_book()带参显示书籍函数
{
cout<< **********************书****籍****信****息****列****表**********************\n\n
cout<<书号
coutwidth(10)
cout<<书名
coutwidth(20)
cout<<作者
coutwidth(10)
cout<<状态
coutwidth(10)
cout<<阅\n
for(int i0i
cout<
cout<
cout<
books[i]show_tag()
coutwidth(10)
cout<
}
void show_book(int i)带参显示书籍函数
{
cout<< **********************书****籍****信****息****列****表**********************\n\n
cout<<书号
coutwidth(10)
cout<<书名
coutwidth(20)
cout<<作者
coutwidth(10)
cout<<状态
coutwidth(10)
cout<<阅\n
cout<
cout<
cout<
books[i]show_tag()
coutwidth(10)
cout<
void br_book()读者书功函数
{
ReaderManage reader
int choi 选择
int a 图书状态指标(1已2架)
char sh[10] 需书书号
char dz[10] 读者姓名
cin>>sh
int indexbnu_search(sh) 定义变量等查找书号
if(index>0)
{
if(books[index]tag1) 已
a1
if(books[index]tag0) 架
a2
switch(a)
{
case 1
cout<<\n\t该书目前状态<已出>\n
cout<<\n\t请选择您需服务:1书 0返回\n
cin>>choi
cinignore() 清回车结束输入缓区容消次输入次输入影响
if(choi1&&choi0)
{
cout<<\n\t操作误请重新选择(01)\n
return
}
else if(choi1)
{
cout<<\n\t请输入您姓名:
cin>>dz
cinignore()
int index1readersearch(dz)
if(index11)
{
cout<<\n\t起系统该读者记录新户请先注册
return
}
else
{
strcpy(dz)读者姓名已空白代
books[index]set_rname(dz)阅项变空白
books[index]set_tag(0)图书状态变架
cout<<\n\t书成功<
}break
case 2
cout<<\n\t该书目前状态<馆>\n
cout<<\n\t请您需服务:1书 0返回\n
cin>>choi
cinignore()
if(choi1&&choi0)
{
cout<<\n\t操作误请重新选择(01)\n
return
}
else if(choi1)
{
cout<<\n\t请输入您姓名:
cin>>dz
int index1readersearch(dz)
if(index11)
{
cout<<\n\t起系统改读者记录新户请先注册
return
}
else
{
books[index]set_rname(dz)
books[index]set_tag(1)
cout<<\n\t书成功<
}break
}
}
else
{
cout<<\n\t起系统该书记录}
}
bool in(int i) 判断图书否架函数
{
if(books[i]tag1)
return false
return true
}
}
**********菜单结构体实现界面引导**********
class Menu
{
BookManage bm 定义书籍理结构体象bm
ReaderManage rm 定义读者理结构体象rm
Reader r 定义读者结构体象r
private
int choice 菜单序号选择
int key 理员密码
public
void header() 页眉
{
system(color fd)
cout<<\t ※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n
cout<<\t ※ ※\n
cout<<\t ※ ※\n
cout<<\t ※ 图 书 阅 理 系 统 ※\n
cout<<\t ※ ※\n
cout<<\t ※ ※\n
cout<<\t ※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n
}
void log_menu() 界面登录菜单
{
system(color fd)
header()
cout<<\n\t\t\t< 请 选 择 登 录 身 份 >\n
cout<<\n\t\t\t\t1 理员\n\n\t\t\t\t2 读 者\n\n\t\t\t\t0 退 出\n\t您选择:
choice cin>>choice
cinignore() 清回车结束输入缓区容消次输入次输入影响
switch(choice)
{
case 1
log_admin() 理员登录需密码验证
break
case 2
reader_lr() 读者登录注册
break
case 0
exit(1) 退出系统
break
default
cout<<\n\t您操作误请重新选择(0→2)
goto choice
}
}
void admin_menu() 理员理菜单
{
system(cls)
system(color f9)
cout<<\t ※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n
cout<<\t ※ ※\n
cout<<\t ※****************系**统****理**界**面**************※\n
cout<<\t ※ ※\n
cout<<\t ※ 1 添加新图书资料 2 修改已图书资料 ※\n
cout<<\t ※ ※\n
cout<<\t ※ 3 删已图书资料 4 查找已图书资料 ※\n
cout<<\t ※ ※\n
cout<<\t ※ 5 查图书资料 6 修改读者户信息 ※\n
cout<<\t ※ ※\n
cout<<\t ※ 7 删读者户信息 8 查读者信息 ※\n
cout<<\t ※ ※\n
cout<<\t ※ 9 返回系统登录界面 0 退出图书理系统 ※\n
cout<<\t ※ ※\n
cout<<\t ※ ※\n
cout<<\t ※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n
cout<<\n\t请选择您需服务序号:
choice cin>>choice
cinignore()
switch(choice)
{
case 1 添加图书
addBook()
bm~BookManage()
break
case 2 修改图书
reviseBook()
bm~BookManage()
break
case 3 删图书
delBook()
bm~BookManage()
break
case 4 查找图书
absearch_menu()
break
case 5 查全部图书
bmshow_book()
cout<<\n\t显示完毕
system(pause)
admin_menu()
break
case 6 修改读者
reviseReader()
rm~ReaderManage()
break
case 7 删读者
delReader()
rm~ReaderManage()
break
case 8 查读者
rmshow_reader()
cout<<\n\t显示完毕
system(pause)
admin_menu()
break
case 9 返回系统登录界面
system(cls)
log_menu()
case 0 退出系统
exit(1)
break
default
cout<<\n\t您操作误请重新选择(0→7)
goto choice
}
}
void reader_menu() 读者服务菜单
{
system(cls)
system(color f9)
cout<<\t ※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n
cout<<\t ※ ※\n
cout<<\t ※****************读**者**服**务**界**面**************※\n
cout<<\t ※ ※\n
cout<<\t ※ 1 阅 图 书 2 图 书 ※\n
cout<<\t ※ ※\n
cout<<\t ※ 3 查 找 图 书 4 阅 情 况 ※\n
cout<<\t ※ ※\n
cout<<\t ※ 5 返 级 0 退 出 系 统 ※\n
cout<<\t ※ ※\n
cout<<\t ※ ※\n
cout<<\t ※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n
cout<<\n\t请选择您需服务序号:
choice cin>>choice
cinignore()
switch(choice)
{
case 1
cout<<\n\t请输入您欲阅图书书号
bmbr_book()
bm~BookManage()
break
case 2
cout<<\n\t请输入您欲图书书号
bmbr_book()
bm~BookManage()
break
case 3
bsearch_menu()
break
case 4
rn_search()
break
case 5
system(cls)
reader_lr()
break
case 0
exit(1)
break
default
cout<<\n\t您操作误请重新选择(0→5)
goto choice
}
}
void bsearch_menu() 读者查找书籍菜单
{
system(cls)
system(color f2)
cout<<\t\t\t※※※※※※※※※※※※※※※※※\n
cout<<\t\t\t※ ※\n
cout<<\t\t\t※****书**籍**查**找**界**面****※\n
cout<<\t\t\t※ ※\n
cout<<\t\t\t※ 1 书号查找 ※\n
cout<<\t\t\t※ ※\n
cout<<\t\t\t※ 2 书名查找 ※\n
cout<<\t\t\t※ ※\n
cout<<\t\t\t※ 3 作者查找 ※\n
cout<<\t\t\t※ ※\n
cout<<\t\t\t※ 4 返 回 级 ※\n
cout<<\t\t\t※ ※\n
cout<<\t\t\t※ 0 退 出 系 统 ※\n
cout<<\t\t\t※ ※\n
cout<<\t\t\t※※※※※※※※※※※※※※※※※\n
int bsc book search choice
cout<<\n\t请输入您需服务序号:
cin>>bsc
cinignore()
switch(bsc)
{
case 1
bnu_search()
break
case 2
bna_search()
break
case 3
bau_search()
break
case 4
reader_menu()
break
case 5
exit(1)
default
cout<<\n\t操作误请重新选择<0→4>
break
}
}
void absearch_menu() 理员查找书籍菜单
{
system(cls)
system(color f2)
cout<<\t\t\t※※※※※※※※※※※※※※※※※\n
cout<<\t\t\t※ ※\n
cout<<\t\t\t※****书**籍**查**找**界**面****※\n
cout<<\t\t\t※ ※\n
cout<<\t\t\t※ 1 书号查找 ※\n
cout<<\t\t\t※ ※\n
cout<<\t\t\t※ 2 书名查找 ※\n
cout<<\t\t\t※ ※\n
cout<<\t\t\t※ 3 作者查找 ※\n
cout<<\t\t\t※ ※\n
cout<<\t\t\t※ 4 返 回 级 ※\n
cout<<\t\t\t※ ※\n
cout<<\t\t\t※ 0 退 出 系 统 ※\n
cout<<\t\t\t※ ※\n
cout<<\t\t\t※※※※※※※※※※※※※※※※※\n
int bsc book search choice
cout<<\n\t请输入您需服务序号:
cin>>bsc
cinignore()
switch(bsc)
{
case 1
bnu_search()
break
case 2
bna_search()
break
case 3
bau_search()
break
case 4
admin_menu()
break
case 5
exit(1)
default
cout<<\n\t操作误请重新选择<0→4>
break
}
}
void reader_lr() 读者登录注册菜单
{
system(cls)
header()
system(color f1)
cout<<\n\t\t\t< 读 者 登 录 界 面 >\n
cout<<\n\t\t\t 1 登 录\t2 注 册\n\n\t\t\t 3 返 回\t0 退 出\n\t您选择:
int rlc reader login choice
choice cin>>rlc
cinignore()
switch(rlc)
{
case 1 已注册读者登录
cout<<\n\t请输入您姓名
char rn[10] reader name
cin>>rn
rset_rname(rn)
if(rmlog_reader(r))
{
cout<<\n\t登录成功
system(pause)
reader_menu()
}
else
cout<<\n\t登录失败新户请先注册
system(pause)
reader_lr()
break
case 2 新户注册
rmreg_reader()
rm~ReaderManage()
system(pause)
reader_lr()
break
case 3
system(cls)
log_menu()
case 0
exit(1)
break
default
cout<<\n\t您操作误请重新选择(0→2)
goto choice
}
}
void log_admin() 理员登录
{
cout<<\n\t请输入理员密码
int key
cin>>key
if(key2009)
{
cout<<\n\t登录成功\n\n\t
system(pause)
admin_menu() 理员操作菜单
}
else
{cout<<\n\t登录失败原密码错误\n
cout<<\n\t请选择 <1返回级菜单 0退出系统>
cin>>choice
cinignore()
switch(choice)
{
case 1
system(cls)
log_menu()
break
case 0
exit(1)
break
default
cout<<\n\t操作误请重新选择(01)
}
}
}
void rn_search() 书号查找函数
{
char rn[10] reader name
cout<<\n\t请输入您姓名:
cin>>rn
int indexbmrn_search(rn)
if(index>0)
bmshow_book(index)
else
cout<<\n\t起系统您阅记录
cout<<\n\t
system(pause)
reader_menu()
}
void bnu_search() 书号查找函数
{
char bnu[10]
cout<<\n\t请输入您查找书号:
cin>>bnu
int indexbmbnu_search(bnu)
if(index>0)
bmshow_book(index)
else
cout<<\n\t起系统该书籍记录
cout<<\n\t
system(pause)
bsearch_menu()
}
void bna_search() 书名查找函数
{
cout<<\n\t请输入您查找书名:<
cin>>bna
int indexbmbna_search(bna)
if(index>0)
bmshow_book(index)
else
cout<<\n\t起系统该书籍记录
cout<<\n\t
system(pause)
bsearch_menu()
}
void bau_search() 作者查找函数
{
cout<<\n\t请输入您查找作者:<
cin>>bau
int indexbmbau_search(bau)
if(index>0)
bmshow_book(index)
else
cout<<\n\t起系统该书籍记录
cout<<\n\t
system(pause)
bsearch_menu()
}
void addBook() 新增书籍函数
{
char numb[10] 书号
char nameb[20] 书名
char authorb[10] 作者
Book book 书籍结构体象book
int tag1
input1cout<<\n\t请输入新书书号
cin>>numb
int indexbmbnu_search(numb)
if(index1)
{
cout<<\n\t系统目前尚该书记录您继续操作\n
cout<<\n\t请输入新书书名:
cin>>nameb
cout<<\n\t请输入新书作者:
cin>>authorb
tag10
bookset_bnum(numb)
bookset_bname(nameb)
bookset_bauthor(authorb)
bookset_tag(tag1)
bmadd(book)
cout<<\n\t恭喜您新书资料录入成功
}
else
{
cout<<\n\t起该书号纪录已存请重新输入
goto input1
}
system(pause)
admin_menu()
}
void reviseBook() 修改书籍函数
{
char numb[10]
char nameb[20]
char authorb[10]
Book book
int index1
input2 cout<<\n\t请输入您修改书籍书号
cin>>numb
indexbmbnu_search(numb)
if(index1)
{
cout<<\n\t起您输入书号存请重新输入<
return
}
bool stabmin(index) 判断否馆
if(sta)
{
cout<<\n\t该书目前处<架>状态您继续操作
cout<<\n\t请输入更改书名:
cin>>nameb
cout<<\n\t请输入更改作者:
cin>>authorb
bookset_bnum(numb)
bookset_bname(nameb)
bookset_bauthor(authorb)
bmrevise(bookindex)
cout<<\n\t恭喜您书籍资料修改成功}
else
cout<<\n\t该书已出请读者进行相关操作<
admin_menu()
}
void delBook() 删书籍函数
{
char numb[10]
cout<<\n\t请输入您删书籍书号:
cin>>numb
int indexbmbnu_search(numb)
if(index>0)
{
cout<<\n\t您确定删该书记录(yn)
char y
cin>>y
if(y'y'||y'Y')
{
bmdeleteBook(index)
cout<<\n\t删成功
}
else
cout<<\n\t删取消
}
else
cout<<\n\t起系统没该图书记录
system(pause)
admin_menu()
}
void reviseReader()修改读者户函数
{
char namer[10]
Reader reader
get1 cout<<\n\t请输入修改读者户姓名
cin>>namer
int indexrmsearch(namer)
if(index1)
{
cout<<\n\t起系统改读者记录重新输入请1返回请0
int a
cin>>a
get2 cinignore()
switch(a)
{
case 1
goto get1
break
case 0
system(pause)
admin_menu()
break
default
cout<<\n\t您操作误请重新选择(01)
goto get2
}
return
}
else
{
char namer[10]
char classr[10]
char telr[10]
Reader reader
cout<<\n\t请输入更改读者姓名:
cin>>namer
cout<<\n\t请输入更改班级名称:
cin>>classr
cout<<\n\t请输入更改联系电话:
cin>>telr
readerset_rname(namer)
readerset_rclass(classr)
readerset_rtel(telr)
cout<<\n\t否真修改该记录(yn)
char y
cin>>y
if(y'y'||y'Y')
{
rmrevise(readerindex)
cout<<\n\t修改成功\n
}
else
cout<<\n\t操作取消\n
}
system(pause)
admin_menu()
}
void delReader() 删读者户函数
{
cout<<\n\t请输入您删读者户姓名:<
cin>>namer
int indexrmsearch(namer)
if(index>0)
{
cout<<\n\t否真删该记录(yn)
char y
cin>>y
if(y'y'||y'Y')
{
rmdelete_reader(index)
cout<<\n\t删成功\n
}
else
cout<<\n\t操作取消\n
}
else
cout<<\n\t起系统尚该读者记录
system(pause)
admin_menu()
}
}
********函数********
int main()
{
system(color fd)
Menu menu 定义菜单结构体象menu
cout<<\t\t\t 前日期:system(DATE [T])
cout<<\t\t\t 前时间: system(TIME [T])
cout<<\n\t\t\t ★ 欢 _sleep(600)cout<<★ 迎 _sleep(600)
cout<<★ 进 _sleep(600)cout<<★ 入 ★\n\n
menulog_menu()
return 0
}
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档