项目分析实现功能列表
实现查看图书信息
使用for循环,遍历每个数组元素信息,并进行显示。
(1)使用循环遍历名称数组,状态数组,借出日期数组和借出次数数组
(2)使用”数组名[i]”标示第i+1个图书信息,并行输出.
(3)点击返回主菜单,回到功能选择页面
实现新增图书信息
新增图书只需要将信息加入每个数组即可。
(1)需要用户输入新增图书名称,并把状态至于可借,借出次数为0
(2)向每个数组新增一条图书信息,实现新增图书信息,并在图书列表中可显示
(3)在新增数据前,先判断name在数组中是否存在,若存在给予用户提示重新输入图书名称。
实现批量添加图书信息
新增图书只需要将信息加入每个数组即可。
(1)需要用户输入新增图书名称,并把状态至于可借,借出次数为0
(2)向每个数组新增一条图书信息,实现新增图书信息,并在图书列表中可显示
(3)在新增数据前,先判断name在数组中是否存在,若存在给予用户提示重新输入图书名称。
实现批量添加图书信息
新增图书只需要将信息加入每个数组即可。
(1)需要用户输入新增图书名称,多个图书之间用;分隔。
(2)使用;将字符串分割为数组,循环添加图书;并把没本书的状态至于可借,借出次数为0
(2)添加完成之后,显示所有的图书信息。
(3)在新增数据前,先判断name在数组中是否存在,若存在不予添加
实现删除图书信息
(1)用户输入要删除图书的名称
(2) if判断当前图书的状态是否为“可借”如果是借出,则不能被删除
(3) If判断输入的图书名称如果找不到,提示相应信息
实现借出图书业务处理
用户可输入图书名称,根据图书名称找到该图书对应的数组位置。在状态数组去看状态是否为’true’,为true说明可借,反之则已借出,不能在借,并提示信息
(1)if判断输入图书名称是否存在在数组中,如果不存在,需提示用户
(2)如果为可借状态,那么完成借出操作后,更新状态为false(已借出),及借出次数+1,和填充借出日期
实现归还图书业务处理
找到该图书对应的数组位置,在状态数组将值置为true;
清空借出时间
(1)if判断输入图书名称是否存在在数组中,如果不存在,需提示用户
(2)如果归还成功,则把该图书的状态置为true(可借状态)
(3)清空借出时间
上代码:
<script>
var arr=[{id:1,name:"红楼梦",state:"可借",time:"",sum:0},
{id:2,name:"三国演义",state:"可借",time:"",sum:0},
{id:3,name:"水浒传",state:"可借",time:"",sum:0}];
function showMenu(){
document.close();//执行之前将所有的内容先清屏;
document.write("<h1>*******欢迎使用图书管理系统*******</h1>");
document.write("<ol>");
document.write("<li onclick='showBook()'>查看</li>");
document.write("<li onclick='addBook()'>新增</li>");
document.write("<li onclick='batchaddBook()'>批量添加书籍</li>");
document.write("<li onclick='lendBook()''>借出</li>");
document.write("<li onclick='backBook()'>归还</li>");
document.write("<li onclick='deleteBook()'>删除</li>");
document.write("</ol>");
document.write("<h2>点击以上选项选择功能</h2>");
document.write("<h1>**********************************</h1>");
}
showMenu();
//1.实现查看图书功能 定义一个可以显示所有图书的办法; 需要遍历数组
function showBook(){
document.write("<table border='1' cellspacing=0>");
document.write("<tr>");
document.write("<td>序号</td>");
document.write("<td>名称</td>");
document.write("<td>状态</td>");
document.write("<td>借出日期</td>");
document.write("<td>借出次数</td>");
document.write("</tr>");
for(var n=0;n<arr.length;n++){//写一个for循环,显示所有的图书
document.write("<tr>");
document.write("<td>"+arr[n].id+"</td>");
document.write("<td>"+arr[n].name+"</td>");
document.write("<td>"+arr[n].state+"</td>");
document.write("<td>"+arr[n].time+"</td>");
document.write("<td>"+arr[n].sum+"</td>");
document.write("</tr>");
}
document.write("</table>");
document.write("<button onclick='showMenu()'>返回主菜单</button>")
}
//2.实现新增图书功能
function addBook(){
var bookName=prompt("请输入你要添加的书名");//新增书的名字
for(var n=0;n<arr.length;n++){
if (arr[n].name==bookName) {//先判断这本书是否存在
alert("这本书已经存在了");
return;//如果这本书已经存在了,函数直接停止;
}
}
if (index==false) {
//如果书名不存在,新建一个对象,保存书的所有属性,然后放入数组中,
var obj=new Object();
obj.id=arr.length+1;
obj.name=bookName;
obj.state="可借";
obj.time="";
obj.sum=0;
arr.push(obj);
}
}
//3.实现批量添加图书功能
function batchaddBook(){
var bookName=prompt("请输入书名,书名之间用分号;隔开");
var bookarr=bookName.split(";");//先通过;将其分割成数组
for(var n=0;n<bookarr.length;n++){//拿到数组中不同的书名
//需要判断该书名是否存在于数组中,如果存在,则不放入,如果不存在,则放入数组中。
var index=false;//利用变量假定这个书名不存在于数组中
for(var j=0;j<arr.length;j++){
if (arr[j].name==bookarr[n]) {//如果相等,证明该书存在于数组中
alert("该书已经存在");
index=true;
}
}
if (index==false) {//如果index==false,证明书没存在,则放入对应的数组中
var obj=new Object();
obj.id=arr.length+1;
obj.name=bookarr[n];
obj.state="可借";
obj.time="";
obj.sum=0;
arr.push(obj);
}
}
}
//4.实现借出功能
function lendBook(){
var index=false;
var bookName=prompt("请输入要借的书名");
for(var n=0;n<arr.length;n++){
if (arr[n].name==bookName) {
index=true;//如果这本书是存在的,需要判定这本书是否已经被借出;
if (arr[n].state=="可借") {//如果没有被借出,则更改属性;
arr[n].state="已借出";
var D=new Date();
arr[n].time=D.getFullYear()+"-"+(D.getMonth()+1)+
"-"+D.getDate();
arr[n].sum++;
}else{
alert("该书已经被借出");
}
}
}
if (index==false) {
alert("对不起,没有这本书");
}
}
//5.实现归还图书功能
function backBook(){
var bookName=prompt("请输入你要归还的书的名字");
var index=false;
for(var n=0;n<arr.length;n++){
if (arr[n].name==bookName) {
index=true;
arr[n].state="可借";
arr[n].time="";
}
}
if (!index) {
alert("不是该馆的书");
}
}
//6.实现删除图书功能
function deleteBook(){
var bookName=prompt("请输入你要删除的书名");
var index=false;
for(var n=0;n<arr.length;n++){
if (arr[n].name==bookName) {
index=true;
if (arr[n].state=="可借") {
arr.splice(n,1);
return;//不需要执行下边的代码,直接结束函数。
}else{
alert("该书已经被借出,不能被删除");
}
}
}
if (!index) {
alert("对不起,找不到这本书");
}
}
</script>