第一篇:毛毛虫图书租借管理系统v1.0使用说明
毛毛虫图书租借管理系统v1.0使用说明
毛毛虫图书租借管理系统是针对中小型图书店图书租借时对图书、读者及资金进行有效管理而开发的一款实用软件。
一、软件运行要求
1、windows操作系统,显示屏分辨率800*600或以上
二、简易操作说明
软件开始运行时要求用户登陆。本软件超级管理员初始密码为空。
1、为了适用你的需要先进行系统参数设置
2、把软件中用于演示训练的数据全部清空。
3、系统中原始状态只有超级用户一个,若你有多人管理操作此软件则建议通过增加系统新用户来对系统进行更有效的管理。
4、通过图书管理增加修改你书店中的图书
5、读者要租借图书时,先增加读者再租借书。若此读者已开户则直接租借(或归还)书。
三、各功能模块说明
1、系统参数设置
此功能可设置每种读者类型相关的金额等信息以及其它与系统有关的参数。
2、清空系统数据
清空数据之后将不能恢复而且此功能一般只在软件使用初期才会使用,所以此功能最好只有超级管理员才能使用,其它用户请不要分配此功能的权限。
3、添加新书
红色部分必须增写。图书编号不能重复。其中附件为图书有没有光盘、磁带之类的附件,备注项中文字最多250个英文字母或127个汉字。
4、更改图书信息
除图书编号不能修改之外其它图书信息都可修改。其中图书状态最好不要修改,因为在图书租借、归还时图书状态会自动更改。
5、删除图书
输入图书编号若系统中有此图书则可按“删除”按钮来删除图书。若图书状态为“已借出”则最好不要删除此图书,否则系统可能在读者归还图书时出错。若读把此书遗失可在归还时勾选破损遗失,则图书状态则会设为“破损遗失”。
6、添加读者
红色部分为必填内容。若在“系统参数设置”功能中“系统自动计算出的金额可手工更新”没有勾选,则在此功能中的所有费用金额都不能手工修改。
7、更改读者信息
此功能可更改读者相关信息。
8、删除读者
此功用于删除指定编号的读者。
9、缴费充值
此功能用于对读者缴费充值。
10、所有图书查询
此功能用于根据查询条件对所有图书进行查询。
11、借出图书查询
此功能用于根据查询条件对借出的图书进行查询。
12、借阅历史记录查询
此功能用于对相关条件的借阅历史进行查询。
13、读者查询
此功能用于对读者进行查询统计。
14、资金查询
此功能用于对系统产生的资金进行查询。
15、添加系统新用户
此功能用于添加新的用户。软件初始只有超级用户一个,建议增加几个,不同的管理员用不同的帐号,其中红色的功能最好除超级管理员之外其它用户不要分配这些功能。
16、更改用户权限
此功能建议只有超级用户才有。有此功能权限就相当于超级用户。
17、更改用户密码
此功能用于系统用户密码。添加的新用户初始密码为“123456”,可用此功能更改之。
18、查看操作日志
此功能可对软件在使用过程中的关键操作进行查询。
三、其它
软件下载
地址:
第二篇:猪场管理系统使用说明
猪场管理软件
用Excel在E立方管理平台上开发的养猪场管理软件
E立方管理平台
2012年5月
一、软件操作导航.........................................................................................................................5
1.1软件导航界面.....................................................................................................................5 1.2数据中心---数据查看.......................................................................................................13
二、基础资料...............................................................................................................................16
2.1猪栏信息录入表填写说明...............................................................................................16 2.2员工信息录入表填写说明...............................................................................................16 2.3种猪信息录入表填写说明...............................................................................................17 2.4药品信息表填写说明.......................................................................................................17 2.5免疫程序基础表填写说明...............................................................................................18 2.6保健基础表填写说明.......................................................................................................18 2.7消毒基础表填写说明.......................................................................................................18
三、原始数据的录入.....................................................................................................................19
3.1种公猪免疫原始信息录入表...........................................................................................19 3.2种母猪免疫原始信息录入表...........................................................................................19 3.3猪栏消毒原始信息录入表...............................................................................................19 3.4肥猪原始信息录入表.......................................................................................................20 3.5种母猪原始信息录入表...................................................................................................20
四、种母猪管理.............................................................................................................................21
4.1登记...................................................................................................................................21 4.2提醒...................................................................................................................................25
五、仔猪管理.................................................................................................................................28
5.1提醒...................................................................................................................................28 5.2登记...................................................................................................................................30
六、种公猪管理.............................................................................................................................33
6.1种公猪免疫提醒...............................................................................................................33 6.2种公猪免疫登记...............................................................................................................34 6.3种公猪转栏登记...............................................................................................................34 6.4种公猪销售登记...............................................................................................................34 6.5种公猪死亡登记...............................................................................................................35
七、育肥猪管理.............................................................................................................................35
7.1育肥猪转栏登记...............................................................................................................35 7.2育肥猪销售登记...............................................................................................................35
八、猪栏管理.................................................................................................................................36
8.1猪栏消毒提醒...................................................................................................................36 8.2猪栏消毒登记...................................................................................................................36
九、药品管理.................................................................................................................................37
9.1药品失效提醒...................................................................................................................37 9.2药品入库单.......................................................................................................................37 9.3 药品出库单......................................................................................................................37 9.4 药品出入库统计..............................................................................................................38 9.5药品出入库明细...............................................................................................................38 9.6药品库存盘点单...............................................................................................................38
十、统计查询.................................................................................................................................39
10.1猪栏信息统计查询.........................................................................................................39
10.2员工信息统计表.............................................................................................................39 10.3猪场现存猪统计查询.....................................................................................................39 10.4种母猪履历查询.............................................................................................................40 10.5日报表.............................................................................................................................40
系统机构:
一、软件操作导航
1.1软件导航界面
1.1.1导航界面:用填报精灵输入用户名和密码以后登录系统以后,首先进入软件的导航窗口,导航界面如下图:
软件分九个模块,在导航栏左侧九个模块分别是基础资料、原始数据录入、种母猪管理、种公猪管理、仔猪管理、育肥猪管理、猪栏管理、统计查询、药品管理。
1.基础资料:员工信息表、猪栏信息表、种猪信息表、药品信息表、免疫基础表、保健基础表、消毒基础表。如下图:
2.原始数据录入:种公猪免疫原始信息、种母猪免疫原始信息、种母猪原始信息、猪栏消毒原始信息、种公猪原始信息。界面如下图:
3.种母猪管理:分登记和提醒两项,登记里包括:种母猪配种登记、种母猪B超检查登记、种母猪转栏登记、销售登记、死亡登记、免疫登记、保健登记;提醒中包括:配种提醒、B超检查提醒、免疫提醒、保健提醒、淘汰提醒,转栏提醒。界面如下图:
4.种公猪管理:分登记和提醒两项,登记包括:免疫登记、销售登记、死亡登记、转栏登记;提醒包括:免疫提醒。界面如下图:
5.仔猪管理:分登记提醒两项,登记包括:3日龄铰牙登记、28日龄称重登记、28日龄转群登记、70龄称重登记、70日龄转群登记、保健登记、免疫登记。界面如图:
6.育肥猪管理:包括:销售登记、死亡登记、转群登记。界面如图:
7.猪栏管理:包括消毒登记、消毒提醒
8.统计查询:
9.药品管理:药品入库、药品出库、药品库存查询,药品出库统计、药品盘点、药品失效提醒。界面如图:
1.2数据中心---数据查看
1.2.1进入数据中心查看数据
1.第一种方式:通过导航工具条的按钮点击进入数据中心,导航工具条数据中心按钮如下图:
点击数据中心按钮,进入数据中心界面如下图
点击需要查询的表,可以通过筛选进行数据选择,如下图:
点击筛选以后每个数据项都会出现下拉菜单,可以通过下拉菜单进行筛选,获取需要查询的数据。
也可以通过查找过滤进行分类查询和更精准的查询,下面是查找过滤方法查找数据,如下图:
在数据中心点击查找过滤,弹出数据过滤项窗口,在窗口中显示了表中的所有字段数据项,可以对每个数据项进行组合查询。
在此过滤窗口中我们可以对每个数据项进行组合查询。最后得到需要的数据。
二、基础资料
2.1猪栏信息录入表填写说明
表样如下图:
猪栏序号自动生成,猪栏类别、饲养员通过数据规范选择,猪栏编号、猪栏位置手动填写。
2.2员工信息录入表填写说明
表样如下图:
序号自动生成,性别、职位、学历、入职日期、离职日期通过数据规范选择,其它项手动填写。
2.3种猪信息录入表填写说明
表样如下图:
出生日期、父猪耳号、母猪耳号,猪栏类别、猪栏编号通过数据规范选择,其它项手动填写。
2.4药品信息表填写说明
表样图下图:
序号自动生成,类别通过下拉列表选择,其它项手动填写。
2.5免疫程序基础表填写说明
表样如下图:
猪类别通过下拉列表选择,录入对应的免疫基础信息。
2.6保健基础表填写说明
表样如下图:
猪类别通过下拉列表选择,录入对应的免疫基础信息。
2.7消毒基础表填写说明
表样如下图:
录入日期通过数据规范选择,录入消毒的基础信息。
三、原始数据的录入
3.1种公猪免疫原始信息录入表
表样如下图:
录入日期、免疫日期通过数据规范选择,公猪耳号通过数据规范选择,选择后公猪品种、猪栏编号、猪栏类别自动填充,选择疫苗种类后,疫苗其它信息自动填充。
3.2种母猪免疫原始信息录入表
表样如下图:
录入日期、免疫日期通过数据规范选择,母猪耳号通过数据规范选择,选择后母猪品种、猪栏编号、猪栏类别自动填充,选择疫苗种类后,疫苗其它信息自动填充。
3.3猪栏消毒原始信息录入表
表样如下图:
录入日期、猪栏类别、消毒日期通过数据规范选择。
3.4肥猪原始信息录入表
表样如下图:
猪栏类别数据规范选择,选择猪栏类别,自动填充猪栏编号,头数手动填写。
3.5种母猪原始信息录入表
表样如下图:
耳缺号、上次产仔日期、配种日期、一次B超日期、二次B超日期,B超状态,状态通过数据规范选择。
四、种母猪管理
4.1登记
1.种母猪配种登记
表样如下图:
配种编号自动生成,配种员通过数据规范选择,通过母猪耳号选择母猪信息,通过公猪耳号选择公猪信息,一次、二次、三次日期通过数据规范选择。填写完,点击左上角的保存按钮。
注:如果软件提供的行数不够,可以通过软件的导航工具条进行扩展行,软件工具条的扩展行按钮如下图:
可以通过插入行来增加行数。后面按钮是插入多行,点击后弹出扩展行数,输入要扩展的行数。系统默认的扩展的行数是10,可以手工输入要扩展的行数。
如果有未进行操作的数据,可以点击删除行按钮(一下表操作相同)
2.种母猪B超检查登记
表样如下图:
选择查询日期,点击查询按钮,显示需要B超检查登记的种母猪信息,选中需要登记的信息左边的复选框,选择B超检查日期和是成功。填写完,点击左上角的保存按钮。
3.种母猪转栏登记
表样如下图:
选择新栏类别、查询日期,点击查询按钮,显示序号转栏的母猪信息,填写新栏类别,转栏日期、经办人,填写完,点击左上角的保存按钮。
4.种母猪产仔登记
表样如下图:
填写母猪和仔猪信息。
5.种母猪保健登记
表样如下图:
选择查询日期,点击查询按钮,显示需要保健的母猪信息,选中左边复选框,选择保健日期,填写完,点击左上角保存按钮。
6.种母猪免疫登记
表样如下图:
选择查询日期,点击查询按钮,显示需要免疫的母猪信息,选中左边复选框,选择免疫日期,填写完,点击左上角保存按钮。
7.种母猪销售登记
表样如下图:
销售编号自动生成,母猪耳号和销售日期数据规范选择,其它手动填写,填写完点击左上角保存按钮。
8.种母猪死亡登记
表样如下图:
死亡编号自动生成,死亡日期、耳号通过数据规范选择,选择耳号后,自动填充猪栏类别和猪栏编号,其它项手动填写,填写完点击左上角保存按钮。
4.2提醒
提醒包括:种母猪配种提醒、种母猪B超检查提醒、种母猪转单体栏提醒、种母猪转产床提醒、种母猪产仔提醒、种母猪转空怀母猪栏提醒、种母猪保健提醒、种母猪保健提醒、种母猪淘汰提醒。
1.种母猪配种提醒
表样如下图:
选择起始日期和截止日期,显示这个时间段需要配种的信息。其它提醒操作相同
2.种母猪B超检查提醒
表样如下图:
3.种母猪转单体栏提醒
表样如下图:
4.种母猪转产床提醒
表样如下图:
5.种母猪产值提醒
表样如下图:
6种母猪转空怀母猪栏提醒
7种母猪保健提醒
8种母猪免疫提醒
9种母猪淘汰提醒
五、仔猪管理
5.1提醒
提醒包括:3日龄铰耳号剪牙断尾提醒、7日龄去势提醒、28日龄转群提醒、70日龄转群提醒、仔猪保健提醒、仔猪免疫提醒。
1.3日龄铰耳号剪牙断尾提醒
表样如下图:
通过起始日期和截止日期选择,提醒一个时间段内需要铰耳号剪牙断尾的仔猪信息。提醒表的操作相同。
2.7日龄去势提醒
表样如下图:
3.28日龄转群提醒
表样如下图:
4.70日龄转群提醒
表样如下图:
5.保健提醒提醒
表样如下图:
6.免疫提醒提醒
表样如下图:
5.2登记
登记包括:3日龄仔猪铰耳号登记、28日龄称重登记、28日龄转群登记、70日龄称重登记、70日龄转群登记,仔猪断奶登记、仔猪保健登记、仔猪免疫登记、仔猪销售登记、仔猪死亡登记。
1.3日龄铰耳号登记
表样如下图:
选择查询日期,显示查询日期内需要登记的信息,完成状态选择已完成,点击左上角保存按钮。
2.28日龄称重登记
表样如下图:
选择查询日期,显示查询日期内需要登记的信息,填写重量,填写完点击左上角的保存按钮。
3.28日龄转群登记
表样如下图:
选择查询日期,显示查询日期内需要登记的信息,填写新栏类别,填写完点击左上角的保存按钮。
4.70日龄称重登记
表样如下图:
选择查询日期,显示查询日期内需要登记的信息,填写重量,填写完点击左上角的保存按钮。
5.70日龄转群登记
表样如下图:
选择查询日期,显示查询日期内需要转栏登记的信息,选择新栏类别,填写转栏日期,经办人,填写完,点击左上角保存按钮。
6.仔猪保健登记
表样如下图:
选择查询日期,显示查询日期内需要保健的登记的信息,填写批号、免疫日期。
7.仔猪免疫登记
表样如下图:
选择查询日期,显示查询日期内需要免疫登记的信息,填写批号、免疫日期。
8.仔猪销售登记
销售编号自动生成,填写猪栏编号,重量、销售日期,填写完,点击左上角保存按钮。
9.仔猪死亡登记
死亡编号自动生成,填写死亡日期、猪栏类别,死亡原因、备注。
六、种公猪管理
6.1种公猪免疫提醒
通过起始日期和截止日期选择,查询一个时间段内需要免疫的公猪信息。
6.2种公猪免疫登记
填写查询日期,显示查询日期前未免疫的公猪信息,选择复选框,填写免疫日期,点击左上角保存按钮。
6.3种公猪转栏登记
选择转栏日期、经办人,公猪耳号和新栏编号通过数据规范选择,填写完,点击左上角保存按钮。
6.4种公猪销售登记
公猪耳号和销售日期通过数据规范选择,选择公猪耳号后,公猪品种、猪栏类别、猪栏编号自动生成,手动填写其它信息。填写完,点击左上角保存按钮。
6.5种公猪死亡登记
死亡编号自动生成,死亡日期和耳号通过数据规范。选择耳号后,公猪品种、猪栏类别、猪栏编号自动填写,填写死亡原因、备注。填写完点击左上角保存按钮。
七、育肥猪管理
7.1育肥猪转栏登记
转栏编号自动生成,填写转栏日期、经办人,原栏类别和新栏类别通过数据规范选择,填写转栏头数。填写完点击左上角保存按钮。
7.2育肥猪销售登记
销售编号自动生成,头数和总重量根据明细数据自动生成,填写单价和销售日期,猪栏类别通过数据规范选择,猪栏编号现存头数自动填充,填写销售头数、重量。填写完点击左上角保存按钮。
7.3育肥猪死亡登记
死亡编号自动生成,死亡日期和猪栏类别通过数据规范选择,猪栏编号和现存头数自动填充,填写死亡头数、死亡原因、备注。填写完,点击左上角保存按钮。
八、猪栏管理
8.1猪栏消毒提醒
表样如下图:
选择起始日期和截止日期,显示一个时间段内需要消毒的猪栏信息
8.2猪栏消毒登记
表样如下图:
选择查询日期,显示日期以前没有消毒的猪栏信息,选中复选框,填写消毒日期,填写完点击左上角的保存按钮。
九、药品管理
9.1药品失效提醒
选择查询日期,显示失效的药品信息
9.2药品入库单
入库编号自动生成,入库日期和保管员通过数据规范选择,先选择药品类别,药品名称对应着药品类别,选择药品名称后,规格、用途、厂家信息自动填充,填写批号、失效日期和数量,填写完点击左上角保存按钮。
9.3 药品出库单
出库编号自动生成,出库日期、保管员通过数据规范选择,选择药品名称,规格、用途等信息自动填写,填写出库数量填写完点击左上角保存按钮。
9.4 药品出入库统计
通过日期,查询药品出入库信息。
9.5药品出入库明细
通过起始日期和截止日期,查询一个时间段内药品出入库明细
9.6药品库存盘点单
月末时进行库存盘点,选择日期后,自动显示药品库存数量,填写盘点数量,填写完点击左上角保存按钮。
十、统计查询
10.1猪栏信息统计查询
通过饲养员、猪栏类别,查询猪栏信息。
10.2员工信息统计表
通过姓名、性别、职位查询员工信息。
10.3猪场现存猪统计查询
通过猪栏类别查询
10.4种母猪履历查询
表样如下图:
10.5日报表
表样如下图:
第三篇:学生管理系统使用说明
学生系统使用说明
登录
在浏览器地址栏内输入“202.195.128.108”后点击回车,弹出苏大研究生管理系统登录窗口。如图1所示。
图1 在图一所示窗口输入用户名、密码、验证码等信息后,类别选择“学生”,然后点击“
”按钮。
个人基本信息的核对
点击“其他管理—个人基本信息管理”,弹出如图2所示窗口。
图2 点击左上角的“基本”按钮,对个人基本信息进行修改。修改完成后点击“其他”按钮,对学业等基本信息进行修改。每完成一篇信息的修改都需要点击一次“
”按钮。同样,点击“学业/
”按钮。
提交培养计划
登录以后,点击“培养管理—培养计划信息管理”,显示出培养计划提交页面。如图3所示。
图3 此页面显示即为本专业培养方案信息,学生可在此制定自己的培养计划。选择框显示为灰色的课程是学生必选课程,选择框为亮色的课程是学生可选课程,学生可在要选的课程前面的方框内打“√”来选中课程。若是要选择培养方案外的课程,则可点击“
”按钮,在弹出的的对话窗口(如图4)中点击课程后对应的“
”按钮来选择方案外课程。
图4 选择完全部课程后,点击图3中右上方的“
”按钮即可完成培养计划的提交。
以上内容为本次系统开放主要工作,同学们要熟悉掌握操作方法。下面介绍的内容,同学们可先大致的了解。培养管理
1.学期注册信息管理
点击“培养—培养管理—学期注册信息管理”,弹出如图5所示页面。
图5 在图5空格中填写个人基本信息后,选择“注册学期”和“注册类型”,然后点击“
”即可。
2.培养计划信息查询
点击“培养—培养管理—培养计划信息查询”,弹出如图6所示页面。
图6 点击“打印”可打印自己的培养计划;点击“导出”可导出自己的培养计划。注:只有培养计划审核通过后,此处才会显示培养计划的内容!
课务管理
开课目录信息查询
点击“培养—课务管理—开课目录信息查询”显示如图7所示页面。
图7 在查询栏内输入查询条件,点击“查询”,查找到符合查询条件的开课课程信息。点击“课程编号”可查看课程基本信息。点击“班级名称”可查看该班级上课时间、上课地点等基本信息。课程网上选课管理
点击“培养—课务管理—课程网上选课管理”显示如图8所示页面。
图8 点击“”按钮,可以进行网上选课操作。如图9所示
图9 点击图9中课程班级后的“”按钮,即可选中该课程。选课结果信息查询
点击“培养—课务管理—选课结果信息查询”显示如图10所示页面。
图10 此处可显示审核后的选课结果,点击“打印”按钮可打印查询到的选课结果。
学期课表信息查询
点击“培养—课务管理—学期课表信息查询”显示如图11所示页面。
图11 在左上角选择相应的学期,即可查询到该学期的课表信息,点击“打印”可打印该学期课表。
本周学期课表查询
同“学期课表信息查询”。课程成绩信息查询
点击“培养—课务管理—课程成绩信息查询”显示如图12所示页面。
图12 学生登录系统后必须先进行个人基本信息的核对和完善,否则不能查看课程成绩。调停补课信息查询
点击“培养—课务管理—调停补课信息查询”显示如图13所示页面。
图13 选择学期和查询类别后,即可查看到相应的调停补课信息。
学期考试信息查询
点击“培养—课务管理—学期考试信息查询”显示如图14所示页面。
图14 选择学期,可查看选择学期的学期考试信息。课程重修申请管理
点击“培养—课务管理—课程重修申请管理”显示如图15所示页面。
图15 点击“”按钮,系统会弹出学生所有已修课程及其成绩信息。如图16所示。
图16 点击未及格课程后对应的“”即可提交该课程的重修申请。
考级管理
入学CET成绩录入
点击“培养—考级管理—入学CET成绩录入”显示如图17所示页面。
图17 在图17中输入入学前CET考试成绩,输入完成后点击“
CET外语成绩查看
点击“培养—考级管理—CET外语成绩查看”显示如图18所示页面。
”即可。
图18 在此处可查看自己的每一次CET外语考试成绩。
计算机考级报名
点击“培养—考级管理—计算机考级报名”显示如图19所示页面。
图19 在图19中填写报名信息后,点击“
计算机等级成绩
点击“培养—考级管理—计算机等级成绩”显示如图20所示页面。
”按钮即可完成报名。在此处可查看每一次的计算机等级考试成绩。
外国语考级报名
同“计算机考级报名”
外国语考级成绩
同“计算机考级成绩”
普通话考级报名
同“计算机考级报名”
图 普通话考级成绩
同“计算机考级成绩”
学位管理
学位论文
论文开题报告管理
点击“学位—学位论文—论文开题报告管理”显示如图21所示页面。
图21 点击“ ”按钮,弹出如图22所示对话框。
图22 填写完成图22中的内容后,点击“
”按钮即可。提交成功后,显示如图23所示页面。
23中的“”按钮,显示如图图23
24所示页面。点击图
图24 点击上方“基本信息”、“立题依据”、“研究内容”等菜单,分别将其中信息填写完成后,点击“
”按钮。点击“浏览”找到开题报告电子文档,点击“上传文档”可将电子版的开题报告文档上传。后面上传评审论文和答辩论文方式也是如此。点击“
论文中期报告管理
同“论文开题报告管理”
论文预备答辩管理
同“论文开题报告管理”
学位论文评审管理
同“论文开题报告管理”
学位论文答辩管理
同“论文开题报告管理”
”可导出word版的开题报告申请书。存档论文文档上传
略
论文成果
发表论文信息登记
点击“学位—论文成果—发表论文信息登记”显示如图25所示页面。
图25 点击“”按钮,弹出如图26所示页面。在图26中输入发表文章的基本信息后,点击“
科研成果信息登记
同“发表论文信息登记”
”即可。
其他
其他管理
登录密码信息修改
点击“其他—其他管理—登录密码信息修改”显示如图27所示页面。
图27 在图27中,可以对学生的登录名称和登录密码,修改完成后点击“
照片信息核对管理
点击“其他—其他管理—照片信息核对管理”显示如图28所示页面
”即可。
图28 点击“上传照片”可以上传自己的学籍照片。
培养方案信息查看
点击“其他—其他管理—培养方案信息查看”显示如图29所示页面
图29 在查询栏内输入查询条件,点击“查询”查找到符合查询条件的培养方案信息。点击“校内专业名称”下对应的专业名称,即可查看该专业的培养方案信息。
奖学金信息查看
可查看奖学金发放情况。(略)
教室借用申请管理
点击“其他—其他管理—教室借用申请管理”显示如图30所示页面
图30 点击“ ”按钮,在弹出的对话框中填写教室借用申请信息后点击“保存”即可。
互动信息
通知公告信息查询
点击“其他—互动信息—通知公告信息查询”显示如图31所示页面
图31 在查询栏输入查询起始时间,点击“查询”即可查询到该段时间内发布的通知公告信息,点击通知公告标题即可查看改通知公告的内容。
师生消息互动管理
点击“其他—互动信息—师生消息互动管理”显示如图32所示页面
图32 点击“收件箱”可查看收到的信息;点击“发件箱”可发送消息;点击“回复箱”可查看回复别人或别人回复的消息。
在发件箱内点击“
”弹出如图33所示页面
图33 首先编写信息标题和信息内容,点击“
”按钮。选择接收人员是个人时,点击“
”按钮选择信息接收人。选择接收人员是院系和专业时,首先选择接收消息的院系或专业,然后选择接收范围“学生”、“教师”或“全部”。如图34所示。
图34 选择完成后可选择立即发送,也可选择存入发件箱待确认信息无误后再发送。教学评价信息管理
略
问卷调查信息管理
点击“其他—互动信息—问卷调查信息管理”显示如图35所示页面
图35 若是调查状态为“正在进行”,则点击“”可进行问卷调查答题。若调查状态为“调查完毕”,点击“以查看问卷调查答题信息。
教学校历信息查看
可以查看某学期的教学校历信息。(略)
”可
第四篇:图书管理系统
七个文件
1.book.txt存放书籍
2.borrower.txt存放借阅信息
3.chenwen.txt 存放开始信息
4.mima.txt存放密码 5.qianyan.txt前言
6.student.txt存放学生信息
7.yuyue.txt 存放预约信息
#include
int times;
int sum;}Borr;typedef struct stus{ int numbers;char mark[40];
char name[40];
char xueyuan[40];
int sum;
struct stus *next;
struct stus *front;}Stus;typedef struct books{ struct books *front;int numbers;char name[40];char author[40];char type[40];char publisher[40];int sum;int cun;struct books *next;}Books;void chenwenxie4();void chenwen();void time();void time1();void fangkuang();void printstudent1(Stus *head);Borr* buildborrowerlist();Books* buildbookslist();Stus* buildstudentlist();Books* insertbook(Books *head1,Books *pa);Stus* insertstudent(Stus *head2,Stus *pb);Borr* insertborrower(Borr *head3,Borr *pc);Books* chenwensousou11(Books* head11,int num11);Books* chenwensousou12(Books* head12,char name12[]);Books* chenwensousou13(Books* head13,int num13);Books* chenwensousou15(Books* head22,char name22[]);Stus* chenwensousou21(Stus* head21,int num21);Stus* chenwensousou22(Stus* head22,char name22[]);Stus* chenwensousou23(Stus* head23,int num23);Borr* chenwensousou31(Borr* head31,int num31);Borr* chenwensousou32(Borr* head32,int num32);Borr* chenwensousou33(Borr* head33,int num33);Borr* chenwensousou34(Borr* head34,int num34);Books* deletebook1(Books *head,int num);Stus* deletestudent1(Stus *head,int num);Borr* deleteborrower1(Borr *head,int num);Borr* deleteborrower2(Borr *head,int num);Books* booksorting11(Books *head);Books* booksorting12(Books *head);Stus* studentsorting21(Stus *head);Stus* studentsorting22(Stus *head);Borr* borrowersorting31(Borr *head);Borr* borrowersorting32(Borr *head);Borr* borrowersorting33(Borr *head);Books* chenwensousou14(Books* head12,char type[]);void printbook(Books *head);void printborrower(Borr *head);void chenwendu1(Books *head);void chenwendu2(Stus *head);void chenwendu3(Borr *head);Books* chenwenxie1();Stus* chenwenxie2();Stus* chenwenxie22();Borr* chenwenxie3();Borr* yuyuexie();void yuyuedu(Borr *head);Books bookcreat();Stus studentcreat();Borr borrowercreat();void time2();void qingkong();void qingkong1();void qingkong2();void qingkong3();int yanzheng(Books* head,int num);int yanzheng1(Stus* head,int num);int yanzheng2(Borr* head,int num);int yanzheng3(int num);void bianli(Books *head1,Stus *head2,Borr *head3);void sousuo(Books *head1,Stus *head2,Borr *head3);void paixu(Books *head1,Stus *head2,Borr *head3);void mimadu(char a[]);void sousuo1(Borr *headborrower);char* mimaxie();void qingkong4();void tishi1();void tishi2();int main(){ int n=0,i;char choice=3,ch[40],ch1[3]=“是”,cw;printf(“████████████▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉█▉n”);time();
printf(“█┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓█n”);time();
printf(“█┃******************欢迎进入河南工业大学图书管理系统********************* ┃▉n”);time();
printf(“█┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛█n”);time();
printf(“████████████▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉██n”);
for(i=0;i<25;i++)
time();system(“cls”);chenwen();chenwenxie4();while(1){
scanf(“%s”,ch);
if(strcmp(ch,ch1)==0)
break;
else{
system(“cls”);
printf(“████████████▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉█▉n”);
printf(“█┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓█n”);
printf(“■┃〓〓〓〓〓〓〓对不起,你尚未同意该协议,不能使用该系统〓〓〓〓〓〓〓〓〓┃█n”);
printf(“█┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛█n”);
printf(“█ ▓▓▓▓▓▓▓▓▓▓我已阅读并同意该协议?(是/否)▓▓▓▓▓▓▓▓▓▓▓▓ ▉n”);
printf(“████████████▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉█▉n”);
} } getchar();system(“cls”);while(n==0){ printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);printf(“ ┃ ▼▲▼▲▼▲▼▲▼欢迎进入河南工业大学图书管理系统 ▼▲▼▲▼▲▼▲▼
┃n”);printf(“ ┣━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━┫n”);printf(“ ┃
★(0)退出
┃
★(1)管理员登录
┃
★(2)学生登录
┃n”);printf(“ ┣━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━┫n”);printf(“ ┃
▂▃▄▅▆▇█▉▊▋▌●●● 请输入选择●●●▌▋▊█▉▇▆▅▄▃▂
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%c”,&choice)&&choice>='0'&&choice<='2'){
scanf(“%c”,&cw);
if(cw!='n'){
tishi2();
while(cw!='n'){
scanf(“%c”,&cw);
}
continue;
}
switch(choice){
case '0':system(“cls”);
chenwen();
return 0;
case '1':guanliyuan();
break;
case '2':youke();
break;
}
}
else{
tishi2();
while(choice!='n'){
scanf(“%c”,&choice);
}
} } printf(“████████████▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉█▉n”);time();
printf(“█┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓█n”);time();
printf(“█┃******************谢谢使用河南工业大学图书管理系统********************* ┃▉n”);time();
printf(“█┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛█n”);time();
printf(“████████████▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉██n”);
for(i=0;i<25;i++)
time();system(“cls”);return 0;} void guanliyuan(){
char choice,choice1,choice2,cw;
int f=1;int n=0,j=3,l=0,a=0,g=0;
char *ppp=(char *)malloc(40*sizeof(char));Books *headbook=chenwenxie1(),*pa=NULL,*book;Stus *headstudent=chenwenxie2(),*pb=NULL,*stu;Borr *headborrower=chenwenxie3(),*pc=NULL,*headyuyue=yuyuexie(),*yu;char p[40];p[0]='4',p[1]='3',p[2]='1',p[3]='5',p[4]='c',p[5]='w';
ppp=mimaxie();system(“cls”);printf(“
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);printf(“
┃◆◆◆◆◆◆◆◆◆◆◆◆欢迎管理员登陆◆◆◆◆◆◆◆◆◆◆◆◆┃n”);printf(“
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);printf(“
┃▁▂▃▄▅▆▇█▉▊▋▌▌请输入密码▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);printf(“
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);printf(“
┃ ▓▓▓▓▓▓▓▓▓▓★你一共有3次机会★▓▓▓▓▓▓▓▓▓▓▓┃n”);printf(“
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
g=0;
while(n==0){
scanf(“%s”,p+6);
if(strcmp(ppp,p)==0){
getchar();
l=0;
system(“cls”);
while(1){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃*****************************您享有的操作*******************************┃n”);
printf(“ ┃************************************************************************┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃ ★(0)返回上级 ★(1)创建列表 ★(2)插入(借还)★(3)删除(借还)★(4)遍历
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★(5)排序
★(6)搜索
★(7)修改密码
★(8)保存
★(9)清空文件
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▉▉▉▉▉▉▉▉▉▉▉▉▉●●●请输入选择●●●▉▉▉▉▉▉▉▉▉▉▉▉┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%c”,&choice)&&choice>='0'&&choice<='9'){
scanf(“%c”,&cw);
if(cw!='n'){
tishi2();
while(cw!='n'){
scanf(“%c”,&cw);
}
continue;
}
switch(choice){
case '0':
system(“cls”);
break;
case '1':{
system(“cls”);
while(n==0){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃*****************************您享有的操作*******************************┃n”);
printf(“ ┃************************************************************************┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★(0)返回上级
★(1)创建图书链表 ★(2)创建学生链表 ★(3)创建借阅链表
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▉▉▉▉▉▉▉▉▉▉▉▉▉●●●请输入选择●●●▉▉▉▉▉▉▉▉▉▉▉▉┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%c”,&choice1)&&choice1>='0'&&choice1<='3'){
scanf(“%c”,&cw);
if(cw!='n'){
tishi2();
while(cw!='n'){
scanf(“%c”,&cw);
}
continue;
}
switch(choice1){
case '0':
system(“cls”);
break;
case '1':headbook=buildbookslist();
g=1;
break;
case '2':headstudent=buildstudentlist();
g=1;
break;
case '3':headborrower=buildborrowerlist();
g=1;
break;
}
}
else{
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓对不起,您的输入有误▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
while(choice1!='n'){
scanf(“%c”,&choice1);
}
}
if(choice1=='0'){
break;
}
}
}
break;
case '2': {
system(“cls”);
while(n==0){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃*****************************您享有的操作*******************************┃n”);
printf(“ ┃************************************************************************┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★(0)返回上级
★(1)插入图书信息 ★(2)插入学生信息
★(3)插入借阅信息 ┃n”);
printf(“ ┃________________________________________________________________________┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▉▉▉▉▉▉▉▉▉▉▉▉▉●●●请输入选择●●●▉▉▉▉▉▉▉▉▉▉▉▉┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%c”,&choice1)&&choice1>='0'&&choice1<='3'){
scanf(“%c”,&cw);
if(cw!='n'){
tishi2();
while(cw!='n'){
scanf(“%c”,&cw);
}
continue;
}
switch(choice1){
case '0':
system(“cls”);
break;
case '1':{
system(“cls”);
if(headbook==NULL){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓图书链表为空,请先创建图书链表〓〓〓〓〓〓〓〓〓〓┃n”);
}
else{
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃*****************************您享有的操作*******************************┃n”);
printf(“ ┃************************************************************************┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃████████████请输入你要插入的图书信息████████████┃|n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★1.编号
★2.书名
★3.作者
★4.类型
★5.出版社
★(6)库存
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▲▼●◆■★▼▲★■◆请依次输入(用空格隔开)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if((pa=(Books *)malloc(sizeof(Books)))==NULL){
printf(“Not able to allocate memory.n”);
exit(1);
}
while(scanf(“%d”,&pa->numbers)&&scanf(“%s”,pa->name)&&scanf(“%s”,pa->author)&&scanf(“%s”,pa->type)&&scanf(“%s”,pa->publisher)&&scanf(“%d”,&pa->cun)){
getchar();
system(“cls”);
headbook=insertbook(headbook,pa);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓恭喜你,插入成功▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
l=1;
break;
}
if(l==0){
tishi2();
getchar();
}
}
l=0;
break;
}
case '2':{
if(headstudent==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃
██████████学生链表为空,请先创建学生链表██████████ ┃n”);
}
else{
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃*****************************您享有的操作*******************************┃n”);
printf(“ ┃************************************************************************┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃████████████请输入你要插入的学生信息████████████┃|n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★1.学号★
★2.姓名★
★3.学院★
★4.身份证★
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▲▼●◆■★▼▲★■◆请依次输入(用空格隔开)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if((pb=(Stus *)malloc(sizeof(Stus)))==NULL){
printf(“Not able to allocate memory.n”);
exit(1);
}
while(scanf(“%d”,&pb->numbers)&&scanf(“%s”,pb->name)&&scanf(“%s”,pb->xueyuan)&&scanf(“%s”,pb->mark)){
getchar();
stu=chenwensousou21(chenwenxie2(),pb->numbers);
if(stu!=NULL){
free(pb);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓对不起,该学号已存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
l=1;
system(“pause”);
system(“cls”);
break;
}
headstudent=insertstudent(headstudent,pb);
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓恭喜你,插入成功▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
l=1;
break;
}
if(l==0){
tishi2();
getchar();
}
}
l=0;
break;
}
case '3':{
if(headborrower==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃
██████████借阅链表为空,请先创建借阅链表██████████ ┃n”);
}
else{
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃*****************************您享有的操作*******************************┃n”);
printf(“ ┃************************************************************************┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃████████████请输入你要插入的借阅信息████████████┃|n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★★1.学号★★
★★2.书编★★
★★3.时间★★
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃***********请注意:(时间格式 年月日 比如1992年08月13日为920813)**********┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▲▼●◆■★▼▲★■◆请依次输入(用空格隔开)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if((pc=(Borr *)malloc(sizeof(Borr)))==NULL){
printf(“Not able to allocate memory.n”);
exit(1);
}
while(scanf(“%d”,&pc->stu)&&scanf(“%d”,&pc->book)&&scanf(“%d”,&pc->times)){
if(yanzheng2(chenwenxie3(),pc->book)==0){
free(pc);
break;
}
stu=chenwensousou21(chenwenxie2(),pc->stu);
if(stu==NULL){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓对不起,该学号不存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
free(pc);
system(“pause”);
system(“cls”);
break;
}
if(chenwensousou11(chenwenxie1(),pc->book)==NULL){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓对不起,该书编不存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
free(pc);
system(“pause”);
system(“cls”);
break;
}
book=chenwensousou11(chenwenxie1(),pc->book);
book->cun--;
getchar();
if(headyuyue!=NULL)
yu=chenwensousou32(headyuyue,pc->book);
if(yu!=NULL&&headyuyue!=NULL){
headyuyue=deleteborrower1(yuyuexie(),pc->book);
if(headyuyue!=NULL)
yuyuedu(headyuyue);
else{
qingkong4();
}
}
headborrower=insertborrower(headborrower,pc);
if(headbook!=NULL)
chenwendu1(headbook);
if(headborrower!=NULL)
chenwendu3(headborrower);
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓恭喜你,插入成功▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
l=1;
break;
}
if(l==0){
tishi2();
getchar();
}
}
l=0;
break;
}
}
}
else{
tishi2();
while(choice1!='n'){
scanf(“%c”,&choice1);
}
}
if(choice1=='0'){
break;
}
}
}
break;
case '3':
system(“cls”);
{
while(n==0)
{
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃*****************************您享有的操作*******************************┃n”);
printf(“ ┃************************************************************************┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃████████████请输入你要删除的借阅信息████████████┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃ ★(0)返回上级
★(1)删除图书信息
★(2)删除学生信息
★(3)删除借阅信息 ┃n ”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▉▉▉▉▉▉▉▉▉▉▉▉▉●●●请输入选择●●●▉▉▉▉▉▉▉▉▉▉▉▉┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%c”,&choice2)&&choice2>='0'&&choice2<='3')
{
scanf(“%c”,&cw);
if(cw!='n'){
tishi2();
while(cw!='n'){
scanf(“%c”,&cw);
}
continue;
}
switch(choice2)
{
case '0':
system(“cls”);
break;
case '1':
{
if(headbook==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓图书链表为空,请先创建图书链表〓〓〓〓〓〓〓〓〓〓┃n”);
}
else
{
system(“cls”);
while(n==0)
{
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃*****************************您享有的操作*******************************┃n”);
printf(“ ┃************************************************************************┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃━━━━━━━━━━━请输入你要删除的图书信息的━━━━━━━━━━━━┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★0.返回上级
★1.编号
★2.书名
★3.位置
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▉▉▉▉▉▉▉▉▉▉▉▉▉●●●请输入选择●●●▉▉▉▉▉▉▉▉▉▉▉▉┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if((pa=(Books *)malloc(sizeof(Books)))==NULL)
{
printf(“Not able to allocate memory.n”);
exit(1);
}
if(scanf(“%c”,&choice1)&&choice1>='0'&&choice1<='3')
{
scanf(“%c”,&cw);
if(cw!='n'){
tishi2();
while(cw!='n'){
scanf(“%c”,&cw);
}
continue;
}
switch(choice1)
{
case '0':
system(“cls”);
break;
case '1':
if(headbook==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓链表为空,请先创建链表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
tishi1();
printf(“ ┃
输入编号●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%d”,&pa->numbers))
{
getchar();
pa=chenwensousou11(headbook,pa->numbers);
}
else
{
getchar();
pa=NULL;
}
break;
case '2':
if(headbook==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓链表为空,请先创建链表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
tishi1();
printf(“ ┃
输入书名●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%s”,pa->name))
{
getchar();
pa=chenwensousou15(headbook,pa->name);
}
else
{
getchar();
pa=NULL;
}
break;
case '3':
if(headbook==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓链表为空,请先创建链表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
tishi1();
printf(“ ┃
输入位置●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%d”,&pa->sum))
{
getchar();
pa=chenwensousou13(headbook,pa->sum);
}
else
{
getchar();
pa=NULL;
}
break;
}
if(choice1=='0')
{
break;
}
if(pa==NULL)
{
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓没有找到你想删除的信息〓〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
}
else
{
if(headbook==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓链表为空,请先创建链表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃◆◆◆◆◆◆◆◆◆◆◆◆你要删除的信息是这些嘛?◆◆◆◆◆◆◆◆◆◆◆◆┃n”);
printf(“ ┣━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┫n”);
printf(“ ┃
①编号┃
②书名┃
③作者 ┃n”);
printf(“ ┣━━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫n”);
printf(“ ┃ %21d ┃ %21s┃ %20s ┃n”,pa->numbers,pa->name,pa->author);
printf(“ ┣━━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━┳━━━━━┫n”);
printf(“ ┃
④类型┃
⑤出版社┃
⑥位置┃
⑦库存量┃n”);
printf(“ ┣━━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━╋━━━━━┫n”);
printf(“ ┃ %23s┃ %21s┃%10d┃%10d┃n”,pa->type,pa->publisher,pa->sum,pa->cun);
printf(“ ┣━━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━┻━━━━━┫n”);
printf(“ ┃
★(0)不删除,返回上级
★(1)删除
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%c”,&choice2)&&choice2=='0'){
system(“cls”);
break;
}
if(choice2!='1'){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓你的输入有误,此信息未删除〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
system(“pause”);
system(“cls”);
break;
}
headbook=deletebook1(headbook,pa->numbers);
if(headbook!=NULL)
chenwendu1(headbook);
if(headborrower!=NULL)
headborrower=deleteborrower1(headborrower,pa->numbers);
if(headborrower!=NULL)
chenwendu3(headborrower);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓恭喜你,删除成功〓〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
}
}
else
{
tishi2();
while(choice1!='n')
scanf(“%c”,&choice1);
}
}
}
break;
}
case '2':
{
if(headstudent==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓链表为空,请先创建链表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
}
else
{
system(“cls”);
while(n==0)
{
tishi1();
printf(“ ┃━━━━━━━━━━━━请输入你要删的学生信息的━━━━━━━━━━━┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★0.返回上级
★1.学号
★2.名字
★3.位置
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
请输入选择●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if((pb=(Stus *)malloc(sizeof(Stus)))==NULL)
{
printf(“Not able to allocate memory.n”);
exit(1);
}
if(scanf(“%c”,&choice1)&&choice1>='0'&&choice1<='3')
{
scanf(“%c”,&cw);
if(cw!='n'){
tishi2();
while(cw!='n'){
scanf(“%c”,&cw);
}
continue;
}
switch(choice1)
{
case '0':
system(“cls”);
break;
case '1':
if(headstudent==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓链表为空,请先创建链表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
tishi1();
printf(“ ┃
输入学号●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%d”,&pb->numbers))
{
getchar();
pb=chenwensousou21(headstudent,pb->numbers);
}
else
{
getchar();
pb=NULL;
}
break;
case '2':
if(headstudent==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓链表为空,请先创建链表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
tishi1();
printf(“ ┃
输入名字●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%s”,pb->name))
{
getchar();
pb=chenwensousou22(headstudent,pb->name);
}
else
{
getchar();
pb=NULL;
}
break;
case '3':
if(headstudent==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓链表为空,请先创建链表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
tishi1();
printf(“ ┃
输入位置●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%d”,&pb->sum))
{
getchar();
pb=chenwensousou23(headstudent,pb->sum);
}
else
{
getchar();
pb=NULL;
}
break;
}
if(choice1=='0')
{
break;
}
if(pb==NULL)
{
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓对不起,没有找到你想删除的信息▓▓▓▓▓▓▓▓▓▓▓┃n”);
}
else
{
if(headstudent==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓链表为空,请先创建链表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃◆◆◆◆◆◆◆◆◆◆◆◆你要删除的信息是这些嘛?◆◆◆◆◆◆◆◆◆◆◆◆┃n”);
printf(“ ┣━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━┫n”);
printf(“ ┃
学号
┃
姓名
┃
学院
┃
位置 ┃n”);
printf(“ ┣━━━━━━━━━╋━━━━━━━━━╋━━━━━━━━━━╋━━━━━┫n”);
printf(“ ┃%18d┃ %17s┃ %19s┃ %8d ┃n”,pb->numbers,pb->name,pb->xueyuan,pb->sum);
printf(“ ┣━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━━┻━━━━━┫n”);
printf(“ ┃
★(0)不删除,返回上级
★(1)删除
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%c”,&choice2)&&choice2=='0'){
system(“cls”);
break;
}
if(choice2!='1'){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“
┃▓▓▓▓▓▓▓▓▓▓▓你的输入有误,此信息未删除▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
system(“pause”);
system(“cls”);
break;
}
headstudent=deletestudent1(headstudent,pb->numbers);
if(headstudent!=NULL)
chenwendu2(headstudent);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓〓〓恭喜你,删除成功〓〓〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
}
}
else
{
tishi2();
while(choice1!='n')
scanf(“%c”,&choice1);
}
}
}
break;
}
case '3':
{
if(headborrower==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓链表为空,请先创建链表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
}
else
{
system(“cls”);
while(n==0)
{
tishi1();
printf(“ ┃━━━━━━━━━━━━请输入你要删的借阅信息的━━━━━━━━━━━┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★0.返回上级
★1.学号
★2.书编
★3.位置
★4.时间
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃*******请注意:(时间格式 年月日 比如1992年08月13日 为 920813)*********┃ n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
请输入选择●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if((pc=(Borr *)malloc(sizeof(Borr)))==NULL)
{
printf(“Not able to allocate memory.n”);
exit(1);
}
if(scanf(“%c”,&choice1)&&choice1>='0'&&choice1<='4')
{
scanf(“%c”,&cw);
if(cw!='n'){
tishi2();
while(cw!='n'){
scanf(“%c”,&cw);
}
continue;
}
switch(choice1)
{
case '0':
system(“cls”);
break;
case '1':
if(headborrower==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓链表为空,请先创建链表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
tishi1();
printf(“ ┃
输入学号●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%d”,&pc->stu))
{
getchar();
pc=chenwensousou31(headborrower,pc->stu);
}
else
{
getchar();
pc=NULL;
}
break;
case '2':
if(headborrower==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓链表为空,请先创建链表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
tishi1();
printf(“ ┃
输入编号●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%d”,&pc->book))
{
getchar();
pc=chenwensousou32(headborrower,pc->book);
}
else
{
getchar();
pc=NULL;
}
break;
case '3':
if(headborrower==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓链表为空,请先创建链表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
tishi1();
printf(“ ┃
输入位置●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%d”,&pc->sum))
{
getchar();
pc=chenwensousou33(headborrower,pc->sum);
}
else
{
getchar();
pc=NULL;
}
break;
case '4':
if(headborrower==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓链表为空,请先创建链表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
tishi1();
printf(“ ┃
输入时间●●●●●●
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃********请注意:(时间格式 年月日 比如1992年08月13日 为 920813)********┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%d”,&pc->times))
{
getchar();
pc=chenwensousou34(headborrower,pc->times);
}
else
{
getchar();
pc=NULL;
}
break;
}
if(choice1=='0')
{
break;
}
if(pc==NULL)
{
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓对不起,没有找到你想删除的信息▓▓▓▓▓▓▓▓▓▓▓┃n”);
}
else
{
if(headborrower==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓链表为空,请先创建链表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
if(choice1=='2'||choice1=='3'){
system(“cls”);
pb=chenwensousou21(headstudent,pc->stu);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃◆◆◆◆◆◆◆◆◆◆◆◆你要删除的信息是这些嘛?◆◆◆◆◆◆◆◆◆◆◆◆┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
姓名:”);
printf(“
%20s
┃n”,pb->name);
printf(“ ┣━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━┫n”);
printf(“ ┃
学号
┃
书编
┃
时间
┃
位置
┃n”);
printf(“ ┣━━━━━━━━━╋━━━━━━━━━╋━━━━━━━━╋━━━━━━━┫n”);
printf(“ ┃ %16d ┃ %16d ┃ %14d ┃%13d ┃n”,pc->stu,pc->book,pc->times,pc->sum);
printf(“ ┣━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━┻━━━━━━━┫n”);
pa=chenwensousou11(headbook,pc->book);
printf(“ ┃
%20s
┃n”,pa->name);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★(0)不删除,返回上级
★(1)删除
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%c”,&choice2)&&choice2=='0'){
getchar();
system(“cls”);
break;
}
if(choice2!='1'){
getchar();
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓你的输入有误,此信息未删除〓〓〓〓〓〓〓〓〓〓〓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
system(“pause”);
system(“cls”);
break;
}
getchar();
book=chenwensousou11(chenwenxie1(),pc->book);
book->cun++;
headborrower=deleteborrower2(headborrower,pc->stu);
if(headborrower!=NULL)
chenwendu3(headborrower);
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓〓〓恭喜你,删除成功〓〓〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
}
else{
pc=pc->next;
while(pc!=NULL){
headbook=chenwenxie1();
book=chenwensousou11(headbook,pc->book);
book->cun++;
system(“cls”);
pb=chenwensousou21(headstudent,pc->stu);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃◆◆◆◆◆◆◆◆◆◆◆◆你要删除的信息是这些嘛?◆◆◆◆◆◆◆◆◆◆◆◆┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
姓名:”);
printf(“
%20s
┃n”,pb->name);
printf(“ ┣━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━┫n”);
printf(“ ┃
学号
┃
书编
┃
时间
┃
位置
┃n”);
printf(“ ┣━━━━━━━━━╋━━━━━━━━━╋━━━━━━━━╋━━━━━━━┫n”);
printf(“ ┃ %16d ┃ %16d ┃ %14d ┃%13d ┃n”,pc->stu,pc->book,pc->times,pc->sum);
printf(“ ┣━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━┻━━━━━━━┫n”);
pa=chenwensousou11(headbook,pc->book);
printf(“ ┃
%20s
┃n”,pa->name);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★(0)不删除,返回上级
★(1)删除
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%c”,&choice2)&&choice2=='0'){
getchar();
system(“cls”);
pc=pc->next;
continue;
}
if(choice2!='1'){
getchar();
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓你的输入有误,此信息未删除〓〓〓〓〓〓〓〓〓〓〓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
pc=pc->next;
system(“pause”);
system(“cls”);
continue;
}
getchar();
headborrower=deleteborrower2(headborrower,pc->stu);
if(headborrower!=NULL)
chenwendu3(headborrower);
if(headbook!=NULL)
chenwendu1(headbook);
pc=pc->next;
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓〓〓恭喜你,删除成功〓〓〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
}
}
}
}
else
{
tishi2();
while(choice1!='n')
scanf(“%c”,&choice1);
}
}
}
break;
}
}
if(choice2=='0')
{
break;
}
}
else
{
tishi2();
while(choice2!='n')
scanf(“%c”,&choice2);
}
}
break;
}
case '4':
bianli(headbook,headstudent,headborrower);
break;
case '5':
paixu(headbook,headstudent,headborrower);
break;
case '6':
sousuo(headbook,headstudent,headborrower);
break;
case '7':
system(“cls”);
while(1){
tishi1();
printf(“ ┃
请输入新密码●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
scanf(“%s”,ppp);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃
请再次输入密码●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
scanf(“%s”,p);
if(strcmp(ppp,p)==0){
mimadu(p);
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓密码修改成功〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
getchar();
break;
}
else{
system(“cls”);
tishi1();
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓两次密码不同,修改失败▓▓▓▓▓▓▓▓▓▓▓▓ ┃n”);
getchar();
while(1){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃
★(0)返回上级
★(1)继续修改
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
请输入选择●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
if(scanf(“%c”,&choice2)&&choice2>='0'&&choice2<='1'){
scanf(“%c”,&cw);
if(cw!='n'){
tishi2();
while(cw!='n'){
scanf(“%c”,&cw);
}
continue;
}
switch(choice2){
case '0':
system(“cls”);
break;
case '1':
system(“cls”);
break;
}
}
else{
tishi2();
while(choice2!='n'){
scanf(“%c”,&choice2);
}
}
if(choice2=='0'||choice2=='1'){
break;
}
}
if(choice2=='0'){
break;
}
}
}
break;
case '8':
system(“cls”);
while(1)
{
tishi1();
printf(“ ┃
★(0).返回上级
★(1).保存图书信息
★(2).保存学生信息
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★(3).保存借阅信息
★(4).保存所有信息
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
请输入选择●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
if(scanf(“%c”,&choice1)&&choice1>='0'&&choice1<='4'){
scanf(“%c”,&cw);
if(cw!='n'){
tishi2();
while(cw!='n'){
scanf(“%c”,&cw);
}
continue;
}
switch(choice1){
case '0':
system(“cls”);
break;
case '1':
system(“cls”);
if(headbook==NULL){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓图书链表为空,请先创建图书链表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
break;
}
chenwendu1(headbook);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存图书链表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
system(“pause”);
system(“cls”);
break;
case '2':
system(“cls”);
if(headstudent==NULL){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓学生链表为空,请先创建学生链表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
break;
}
chenwendu2(headstudent);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存学生链表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
system(“pause”);
system(“cls”);
break;
case '3':
system(“cls”);
if(headborrower==NULL){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓借阅链表为空,请先创建借阅链表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
break;
}
chenwendu3(headborrower);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存借阅链表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
system(“pause”);
system(“cls”);
break;
case '4':
system(“cls”);
if(headbook==NULL){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓图书链表为空,请先创建图书链表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
}
else{
chenwendu1(headbook);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存图书链表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
}
if(headstudent==NULL){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓学生链表为空,请先创建学生链表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
}
else{
chenwendu2(headstudent);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存学生链表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
}
if(headborrower==NULL){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓借阅链表为空,请先创建借阅链表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
}
else{
chenwendu3(headborrower);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存借阅链表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
}
system(“pause”);
system(“cls”);
break;
}
}
else{
tishi2();
while(choice1!='n'){
scanf(“%c”,&choice1);
}
}
if(choice1=='0')
break;
}
break;
case '9':
system(“cls”);
qingkong();
break;
}
}
else{
tishi2();
while(choice!='n'){
scanf(“%c”,&choice);
}
}
if(choice=='0'){
break;
}
}
}
else{
tishi2();
j--;
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ ▓▓▓▓▓▓▓▓▓▓▓▓★你还有%3d次机会★▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃”,j);
printf(“
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
请输入密码●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
while(choice!='n'){
scanf(“%c”,&choice);
}
if(j==0){
system(“cls”);
getchar();
return;
}
}
if(choice=='0'){
break;
}
} } void youke(){ int n=0,l=0,xue=1;char choice,ppp[40],ch,pp[40],p[40],choice2,cw;Books *headbook=chenwenxie1(),*pa=NULL;Stus *headstudent=chenwenxie2(),*pb=NULL,*p1;Borr *headborrower=chenwenxie3(),*pc=NULL,*yu;Borr *headyuyue=yuyuexie();system(“cls”);if(chenwenxie2()==NULL){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓对不起,学生现在不能登录▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
return;} while(xue!=0){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃
★★(0).返回上级★★
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
请输入学号●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%d”,&xue)){
getchar();
if(xue==0){
system(“cls”);
return;
}
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃
★ ★ ★请输入登录密码(初始密码为身份证号码)
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
scanf(“%s”,ppp);
getchar();
p1=chenwensousou21(chenwenxie2(),xue);
if(p1==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓对不起,该学号不存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
continue;
}
if(p1->numbers==xue&&strcmp(ppp,p1->mark)==0){
break;
}
else{
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓★★密码错误★★▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
continue;
}
}
else{
system(“cls”);
system(“cls”);
scanf(“%c”,&ch);
while(ch!='n'){
scanf(“%c”,&ch);
}
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓★★对不起,学号不能为字符,请输入数字★★▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
} } system(“cls”);
while(n==0){
tishi1();
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃████████████████欢迎学生进入██████████████┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★(0)返回上级
★(1)遍历
★(2)搜索
★(3)排序
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★(4)借书预约
★(5)修改密码
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
请输入选择●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
l++;
if(scanf(“%c”,&choice)&&choice>='0'&&choice<='5'){
scanf(“%c”,&cw);
if(cw!='n'){
tishi2();
while(cw!='n'){
scanf(“%c”,&cw);
}
continue;
}
switch(choice)
{
case '0':
system(“cls”);
break;
case '1':
bianli(headbook,chenwenxie22(),headborrower);
break;
case '2':
sousuo(headbook,headstudent,headborrower);
break;
case '3':
paixu(headbook,headstudent,headborrower);
break;
case '4':
if(headyuyue==NULL){
yu=(Borr *)malloc(sizeof(Borr));
headyuyue=yu,yu->sum=0,yu->front=NULL,yu->next=NULL;
}
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃*****************************您享有的操作*******************************┃n”);
printf(“ ┃************************************************************************┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃█████████████请输入你要预约的信息█████████████┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★★1.书编★★
★★2.时间★★
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃***********请注意:(时间格式 年月日 比如1992年08月13日为920813)**********┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▲▼●◆■★▼▲★■◆请依次输入(用空格隔开)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if((yu=(Borr *)malloc(sizeof(Borr)))==NULL){
printf(“Not able to allocate memory.n”);
exit(1);
}
yu=(Borr *)malloc(sizeof(Borr));
yu->stu=xue,yu->sum=headyuyue->sum+1;
while(scanf(“%d”,&yu->book)&&scanf(“%d”,&yu->times)){
if(chenwensousou11(chenwenxie1(),yu->book)==NULL){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓对不起,该书编不存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
free(pc);
system(“pause”);
system(“cls”);
break;
}
getchar();
headyuyue=insertborrower(headyuyue,yu);
yuyuedu(headyuyue);
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓恭喜你,预约成功▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
l=1;
break;
}
if(l==0){
tishi2();
getchar();
}
l=0;
break;
case '5':
system(“cls”);
while(1){
tishi1();
printf(“ ┃
请输入新密码●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
scanf(“%s”,pp);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃
请再次输入密码●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
scanf(“%s”,p);
if(strcmp(pp,p)==0){
pb=chenwensousou21(headstudent,xue);
strcpy(pb->mark,p);
chenwendu2(headstudent);
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓密码修改成功〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
getchar();
break;
}
else{
system(“cls”);
tishi1();
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓两次密码不同,修改失败▓▓▓▓▓▓▓▓▓▓▓▓ ┃n”);
getchar();
while(1){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃
★(0)返回上级
★(1)继续修改
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
请输入选择●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
if(scanf(“%c”,&choice2)&&choice2>='0'&&choice2<='1'){
}
break;
}
}
else{
scanf(“%c”,&cw);
if(cw!='n'){
tishi2();
while(cw!='n'){
scanf(“%c”,&cw);
}
continue;
}
switch(choice2){
case '0':
system(“cls”);
break;
case '1':
system(“cls”);
break;
}
}
else{
tishi2();
while(choice2!='n'){
scanf(“%c”,&choice2);
}
}
if(choice2=='0'||choice2=='1'){
break;
} } if(choice2=='0'){
break;} }
tishi2();
while(choice!='n'){
scanf(“%c”,&choice);
}
}
if(choice=='0'){
break;
} } } Books* buildbookslist(){ Books *head=NULL,*p,*tail,*begin;int n=sizeof(Books),num;if((begin=(Books *)malloc(n))==NULL){
printf(“Not able to allocate memory.n”);
exit(1);} head=begin,begin->front=NULL,begin->sum=0;if((p=(Books *)malloc(n))==NULL){
printf(“Not able to allocate memory.n”);
exit(1);} begin->next=p,p->front=begin, p->next=NULL;head=begin;p->sum=1;while(1){
system(“cls”);
tishi1();
printf(“ ┃
★0.返回上级
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★1.编号
★2.书名
★3.作者
★4.类型
★5.出版社
★(6)库存
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▲▼●◆■★▼▲★■◆请依次输入(用空格隔开)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
while(scanf(“%d”,&num)==0){
getchar();
system(“cls”);
tishi2();
tishi1();
printf(“ ┃
★0.返回上级
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★1.编号
★2.书名
★3.作者
★4.类型
★5.出版社
★(6)库存
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▲▼●◆■★▼▲★■◆请依次输入(用空格隔开)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
}
if(num==0){
p->front->next=NULL,tail=p->front;
system(“cls”);
getchar();
free(p);
return head;
}
if(yanzheng(head,num)){
if(scanf(“%s%s%s%s%d”,p->name,p->author,p->type,p->publisher,&p->cun)){
p->numbers=num;
begin->sum++;
getchar();
tail=p;
if((p=(Books *)malloc(n))==NULL){
printf(“Not able to allocate memory.n”);
exit(0);
}
tail->next=p,p->front=tail,p->next=NULL,p->sum=p->front->sum+1;
}
else{
tishi2();
getchar();
}
} } getchar();return head;} Stus* buildstudentlist(){ Stus *head,*tail,*p,*begin;int num;int n=sizeof(Stus);if((begin=(Stus *)malloc(n))==NULL){
printf(“Not able to allocate memory.n”);
exit(1);} head=begin;
if((p=(Stus *)malloc(n))==NULL){
printf(“Not able to allocate memory.n”);
exit(1);} begin->sum=0,begin->front=NULL;begin->next=p,tail=p,p->next=NULL,p->front=begin;head=begin;
p->sum=1;while(1){
system(“cls”);
tishi1();
printf(“ ┃
★0.返回上级★
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★1.学号★
★2.姓名★
★3.学院★
★4.身份证 ★
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▲▼●◆■★▼▲★■◆请依次输入(用空格隔开)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
while(scanf(“%d”,&num)==0){
getchar();
system(“cls”);
tishi2();
tishi1();
printf(“ ┃
★0.返回上级★
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★★1.学号★★
★★2.姓名★★
★★3.学院★★
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▲▼●◆■★▼▲★■◆请依次输入(用空格隔开)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
}
if(num==0){
p->front->next=NULL,tail=p->front;
free(p);
getchar();
system(“cls”);
return head;
}
if(yanzheng1(head,num)){
if(scanf(“%s%s%s”,p->name,p->xueyuan,p->mark)){
p->numbers=num;
begin->sum++;
getchar();
tail=p;
if((p=(Stus *)malloc(n))==NULL){
printf(“Not able to allocate memory.n”);
exit(1);
}
tail->next=p,p->front=tail,tail=p,p->next=NULL,p->sum=p->front->sum+1;
}
else{
tishi2();
getchar();
}
} } getchar();return head;} Borr* buildborrowerlist(){ Borr *head,*tail,*p,*begin;Stus *stu;Books *book;int n=sizeof(Borr),num;if((begin=(Borr *)malloc(n))==NULL){
printf(“Not able to allocate memory.n”);
exit(1);
第五篇:图书管理系统
图书管理系统
背景:当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大提高了其安全性。
随着图书馆的藏书、管理人员、读者数量的不断增多,如何对书籍以及读者信息、读者借阅信息进行管理成为一个难题。图书涉及大量的数据处理,如果用手工来完成庞大的数据处理,不仅费时费力,还容易出错。为了满足图书管理的需要,急需要一套图书管理系统来完成这项工作。作为计算机应用的一部分,使用计算机对图书信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书管理的效率,也是图书馆信息的科学化、正规化管理的重要条件。因此将详细分析一个图书馆系统地实现过程。从需求分析、架构设计、系统建模、详细设计、代码实现逐步展开分析,整个过程按照软件实际流程进行。
意义:通过学习JAVA语言,又加深对面向对象分析,确定问题域中的对象及对象间关系,并建立起问题域的对象模型。面向对象的设计方法是一种进行程序设计的新方法,它吸取了结构化程序设计的先进思想,为解决程序结构过于复杂而产生。它的思想是在进行程序设计时,把整个问题分成由相关部分组成的组,每个组考虑和组相关的代码和数据,同时这些分组将按层次关系组织起来,每个分组转换为对象的独立单元。面向对象的程序设计语言都具有多态性、继承性、封装性等特点。学习以后对JAVA程序设计有了深入的了解,JAVA语言程序设计要求结构紧凑,概念准确。
实践项目:图书管理系统。
主要完成这个项目的,可以实现图书系统的系统化和自动化,帮助图书管理人员更好更高效地完成图书管理工作。需求分析:图书管理系统需要满足三方面的需求,这三个方面分别是图书借阅者、图书馆工作人员和图书馆管理人员。图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书记录;图书馆管理人员的功能最复杂,包括对图书借阅者、图书进行管理和维护,及系统状态的查看、维护。
图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询并维护部分个人信息。一般情况下,图书借阅者只应该查询和维护本人的借书情况和信息,若查询和维护其他借阅者的借书情况和信息,就要知道其他图书借阅者的借书证号和密码。这些是很难得到的,特别是密码,所以不但满足了图书借阅者的要求,还保护了图书借阅者的个人隐私。
图书馆工作人员有修改图书借阅者借书和还书记录的权限,在此模块中,图书馆工作人员可以为图书借阅者加入借书记录或是还书记录。
图书馆管理人员功能的信息量大,数据安全性和保密性要求最高。本功能实现对图书信息、借阅者信息、总体借阅情况信息的管理和信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改图书的基本信息;浏览、查询、添加、删除和修改图书借阅者的基本信息,但不能添加、删除和修改借阅信息,这部分功能应该由图书馆工作人员执行,但是,删除某条图书借阅者基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。
功能如下:⑴书籍管理部分:主要包括读者类别和书籍信息管理两部分。其中,书籍类别管理包括添加书籍类别、修改书籍类别等;书籍信息管理包括书籍信息的添加、书籍信息的修改、书籍信息的查询、书籍信息的删除等。
⑵读者管理部分:主要包括读者类别管理和读者信息管理两部分。其中,读者类别管理包括添加读者类
别、修改读者类别等;读者信息管理包括添加读者信息、修改读者信息、删除读者信息、查询读者信息等。
⑶借阅管理部分:主要包括借书信息管理和还书信息管理两部分。其中,借书信息管理包括借书信息的添加、借书信息的修改、借书信息的查询等;还书信息管理部分包括还书信息的添加、还书信息的修改、还书信息的查询等。
⑷系统管理部分:包括修改系统用户密码、增加新用户以及退出系统等
所以,该图书管理系统能够是图书管理员方便地管理图书馆内的多种事务,让图书馆工作人员更有效地
为读者提供借阅、归还书籍的服务,也能够为读者提供查询书籍信息、个人借阅信息。
数据库流程分析:
1.数据处理流程
数据库或数据表结构确定之后,在实际的数据处理程序设计之前需要对所处理的数据处理流程作必要的分析。所谓对数据处理流程作必要的分析是指找出各数据之间的主要关系,数据存取的主要走向。另外,在实际的数据处理过程中还会有些细节问题。在遇到这些细节问题时,及时处理即可。并且,有些细节问题不是在做数据处理流程分析时事先都能预料的。对于现在这个数据处理系统来说,最主要的工作实际就是三项:
1)读者信息的基本情况及时录入数据库;
2)要将读者查询情况及时录入数据库;
3)对读者操作情况进行汇总。
整体数据流:管理员通过密码进入系统,分别对上述几大功能逐一实现。
在数据关系简单的情况下对数据处理,可以在将数据库设计好之后直接设计程序。但是按正规的数据库管理系统的设计程序,无论要处理的数据关系复杂与否都应在做程序设计之前做好数据的流程分析。
2.管理窗体
创建该窗体,根据相关操作可以完成个人信息、图书信息、管理操作、系统设置等功能实现,在图书信息里可以进行图书查询、图书借阅、图书归还、图书续借等功能。
总结:图书管理系统可以有效的省去很多的认为登记错误,并且能够节省广大的师生宝贵时间。另一方面,图书
馆里系统具有界面清晰,操作方便,功能少而使用,实现图书馆工作的自动化,减少手工劳动量带来的数据遗漏,误报等人为因素,提高工作效率,也增强系统的通用性。但是完善的系统也会有所弊处,有计算机操控的系统,一旦系统出现问题,整个图书馆的借阅系统也会跟着瘫痪,带来不便。所以,也要经常的去维护系统,这样才能给我们提供一个安全的信息处理方法。
管理信息系统创建,首先数据库在一个管理系统中占有非常重要的地位,数据库设计的好坏将直接对应用系
统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,以确保数据的完整性和一致性。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:数据库需求分析;数据库逻辑结构设计;数据库概念结构设计;数据库物理设计。设计中详细的总结了该系统的系统设计部分,包括功能模块设计、数据库结构设计等。系统设计为整个程序构建了骨架,各个功能模块实现各个细节部分。通过本次课程设计知道了各种数据之间的相互关系,并在操作中用适当的SQL语句和存储过程实现。本系统还实现了VB通过ODBC对SQL的数据库快递、高效访问和更新功能。
通过这次课程设计懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。
在程序设计与代码编写阶段我们遇到了很多的问题,由于我们组中的人大部分都是第一次开发数据库系统,所以对数据库开发的流程不熟息,而且在数据库的与编程系统的连接方面也遇到了很多的问题。