本文目錄一覽:
- 1、JAVA版的圖書管理系統
- 2、用java編寫一個 圖書館圖書借閱管理系統
- 3、圖書館管理系統java怎麼做
- 4、java做一個簡單的圖書管理系統,大一新生,用基礎做,軟體能調試就行
- 5、Java使用面向對象編程思維編寫圖書管理系統:增加,查詢,修改,刪除,退出,怎麼寫?
JAVA版的圖書管理系統
送你一份代碼,結構大致按照你的需求了,自己增加一些小功能,不會的話請教你同學。
分給我,錢就不用了。
#include string.h
#define FORMAT “\n%-8d%-8d%-7d%-8d%-7d%-8d%-10s%-9s%-9s\n”
#include stdio.h
#include conio.h
#include malloc.h
#define NULL 0
#define N 100
#define LEN sizeof(struct book)
int M;
struct book
{int Enum;
int Cnum;
char name[10];
char author[10];
char publishor[30];
struct date
{int year;
int month;
int day;}time;
int price;
struct book*next;
}go[N];
void print()
{printf(“—————————————————————————\n”);
printf(“Enum Cnum year month day price name author publishor\n”);
printf(“—————————————————————————\n”);
}
void load()
{FILE *fp;
int i;
if((fp=fopen(“book_list”,”rb”))==NULL)
{printf(“cannot open file\n”);
return;
}
i=0;
while((fread(go[i],sizeof(struct book),1,fp))!=NULL)
{i++;}
M=i;
fclose(fp);
}
void save(int h)
{FILE *fp;
int i;
if ((fp=fopen(“BOOK_LIS”,”wb”))==NULL)
{printf(“cannot open file\n”);
return;
}
for (i=0;ih;i++)
if(fwrite(go[i],sizeof(struct book),1,fp)!=1)
printf(“file write error\n”);
fclose(fp);
}
void f1()
{FILE *fp;
int i=0;
fp=fopen(“book_list”,”rb”);
print();
while((fread(go[i],sizeof(struct book),1,fp))!=NULL)
{printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor);
i++;
}
fclose(fp);
getch();
}
void f2(int h)
{int i;
printf(“please input %d book’s information\n”,h);
printf(“Enum Cnum year month day price name author publishor\n”);
for(i=0;ih;i++)
{printf(“Enum:\n”);
scanf(“%d”,go[i].Enum);
printf(“Cnum:\n”);
scanf(“%d”,go[i].Cnum);
printf(“please input year month day\n”);
scanf(“%d%d%d”,go[i].time.year,go[i].time.month,go[i].time.day);
printf(“price:\n”);
scanf(“%d”,go[i].price);
printf(“name:\n”);
scanf(“%s”,go[i].name);
printf(“author:\n”);
scanf(“%s”,go[i].author);
printf(“publishor:\n”);
scanf(“%s”,go[i].publishor);
}
save(h);
return;
}
void f3()
{int i;
struct book;
char a[20],b[20],c[20];
load();
printf(“please input ‘name’ or ‘author’:\n”);
scanf(“%s”,a);
if(strcmp(a,”name”)==0)
{printf(“please input the book’s name:\n”);
scanf(“%s”,b);
for(i=0;iM;i++)
if(strcmp(b,go[i].name)==0)
{print();
printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor);
}
}
else
{printf(“please input the book’s author:\n”);
scanf(“%s”,c);
for(i=0;iM;i++)
if(strcmp(c,go[i].author)==0)
{print();
printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor);
}
}
return;
}
void f4()
{int i,j,k;
struct book t;
load();
for(i=0;iM;i++)
{k=i;
for(j=i+1;jM;j++)
if(go[k].pricego[j].price)k=j;
t=go[i];go[i]=go[k];go[k]=t;
}
print();
for(i=0;iM;i++)
printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor);
}
void f5()
{FILE *fp;
int i,j,M,flag;
char name[10];
if((fp=fopen(“book_list”,”rb”))==NULL)
{printf(“cannot open file\n”);
return;
}
printf(“\norriginal data:\n”);
print();
for(i=0;fread(go[i],sizeof(struct book),1,fp)!=0;i++)
printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor);
M=i;
printf(“\n input the deleted name:\n”);
scanf(“%s”,name);
for(flag=1,i=0;flagiM;i++)
{if(strcmp(name,go[i].name)==0)
{for(j=i;jM-1;j++)
{go[j].Enum=go[j+1].Enum;
go[j].Enum=go[j+1].Enum;
strcpy(go[j].name,go[j+1].name);
strcpy(go[j].author,go[j+1].author);
strcpy(go[j].publishor,go[j+1].publishor);
go[j].time.year=go[j+1].time.year;
go[j].time.month=go[j+1].time.month;
go[j].time.day=go[j+1].time.day;
go[j].price=go[j+1].price;
}
flag=0;
}
}
if(!flag)
M=M-1;
else
printf(“not found!\n”);
printf(“\nNow,the content of file:\n”);
fp=fopen(“book_list”,”wb”);
for(i=0;iM;i++)
fwrite(go[i],sizeof(struct book),1,fp);
fclose(fp);
fp=fopen(“book_list”,”wb”);
for(i=0;fread(go[i],sizeof(struct book),1,fp)!=0;i++);
printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor);
fclose(fp);
}
main()
{int i,h;
clrscr();
while(1)
{printf (“\n 1 is a project that can output all information.\n”);
printf (“\n 2 is a project that can add any book’s information.\n”);
printf (“\n 3 is a project that can search information.\n”);
printf (“\n 4 is a project that can sort.\n”);
printf (“\n 5 is a project that can del.\n”);
printf (“\n 6 is a project that can leave.\n”);
printf(“please input number:1 or 2 or 3 or 4 or 5 or 6\n”);
scanf(“%d”,i);
switch (i)
{case 1:f1();break;
case 2:
{printf (“if you want to add book’s information,please input a data:h=”);
scanf(“%d”,h);
f2(h);}break;
case 3:
{f3();getch();}break;
case 4:{f4();getch();}break;
case 5:{f5();getch();}break;
case 6:exit (1);
}
clrscr();}
}
用java編寫一個 圖書館圖書借閱管理系統
—————————————————
給你修改了三個地方:
1.borrowBooks方法中,將System.out.println(“你要借嗎?”); 改為:
System.out.println(“你要借嗎?輸入1表示借,其他數字表示不借。”);
保證輸入的時候輸入的數字,否則會報出異常。
2.borrowBooks方法中,將self[score] = all[9]; 改為:self[score] = all[i];
如果是all[9],那麼就始終是最後一本書籍信息了。
3.have方法中,你是想將所借的書籍信息都列印出來。修改的比較多,下面注釋代碼是原來的。
void have(Books[] self) {
// for (int i = 0; i 2; i++) {
// self[i].showBookInfo();
// }
for (int i = 0; i 3; i++) {
if(self[i]!=null)
self[i].showBookInfo();
}
}
****************** 附上所有代碼:*************************
import java.util.Scanner;
public class TestBook {
public static void main(String[] args) {
Books all[] = new Books[10];
Books self[] = new Books[3];
all[0] = new Books(“java”, 1, “12345”, “tom”, 34.0f, “人民出版社”);
all[1] = new Books(“c”, 2, “12346”, “tnn”, 31.0f, “人民出版社”);
all[2] = new Books(“c++”, 3, “12445”, “mm”, 35.0f, “人民出版社”);
all[3] = new Books(“c#”, 4, “12365”, “tt”, 38.0f, “人民出版社”);
all[4] = new Books(“j2se”, 5, “13345”, “tosm”, 31.1f, “人民出版社”);
all[5] = new Books(“j2ee”, 6, “18345”, “ttm”, 32.0f, “人民出版社”);
all[6] = new Books(“jsp”, 7, “12335”, “cc”, 33.0f, “人民出版社”);
all[7] = new Books(“net”, 8, “12341”, “bb”, 36.0f, “人民出版社”);
all[8] = new Books(“ip”, 9, “12343”, “aa”, 37.0f, “人民出版社”);
all[9] = new Books(“tcp”, 10, “22345”, “jj”, 39.0f, “人民出版社”);
Readers r = new Readers(“xiaoming”, 101, “1”, 3);
r.searchAllBooks(all);
r.borrowBooks(all, self);
r.have(self);
r.give(all, self);
}
}
class Readers {
Scanner scan = new Scanner(System.in);
String names;
int nums;
String classes;
int grade;
int score = 0;
// Books self[]=new Books[3];
Readers(String n, int u, String c, int g) {
names = n;
nums = u;
classes = c;
grade = g;
}
void searchAllBooks(Books[] all) {// 查書
for (int i = 0; i 10; i++)
all[i].showBookInfo();
// self[score]=all[0];
}
void give(Books[] all, Books[] self) {// 還書
System.out.println(“請輸入您要還的書的書號”);
int n = scan.nextInt();
for (int i = 0; i 10; i++) {
if (n == all[i].num) {
for (int j = 0; j 3; j++) {
if (self[j] == all[i]) {
self[j] = null;
System.out.println(“還書成功”);
}
}
}
}
}
void have(Books[] self) {
// for (int i = 0; i 2; i++) {
// self[i].showBookInfo();
// }
for (int i = 0; i 3; i++) {
if(self[i]!=null)
self[i].showBookInfo();
}
}
void giveMoney() {
}
void borrowBooks(Books[] all, Books[] self) {
System.out.println(“請輸入您要查找的書名:”);
String n = scan.next();
int i;
for (i = 0; i 10; i++) {
if (n.equals(all[i].name)) {
all[i].showBookInfo();
break;
}
}
//System.out.println(“你要借嗎?”);
System.out.println(“你要借嗎?輸入1表示借,其他數字表示不借。”);
int j;
j = scan.nextInt();
if (j == 1) {
System.out.println(“借閱成功”);
//self[score] = all[9];
self[score] = all[i];
score += 1;
}
if (score 4) {
System.out.println(“您還可以借閱” + (3 – score) + “本”);
} else {
System.out.println(“對不起,一個人只能借3本”);
}
}
}
class Books {
String name;
int num;
String ISBN;
String writer;
float price;
String publisher;
Books(String n, int u, String i, String w, float p, String l) {
name = n;
num = u;
ISBN = i;
writer = w;
price = p;
publisher = l;
}
void showBookInfo() {
System.out.println(“**************************”);
System.out.println(“書名:” + name);
System.out.println(“索書號:” + num);
System.out.println(“ISBN號:” + ISBN);
System.out.println(“價格:” + price);
System.out.println(“出版社:” + publisher);
System.out.println(“**************************”);
}
}
—————————————————-
圖書館管理系統java怎麼做
先考慮軟體環境問題,確定好開發工具和資料庫。圖書館管理系統,我的理解就是一個檔案管理而已,資料庫用sql
server;然後最好設計一個資料庫模型和功能模型,把你的系統的主要功能和需要的資料庫表有一個雛形。你需要用戶登錄,則至少有一個用戶管理的功能,如果更複雜一點,應該有一個許可權管理,日誌管理。如果還要分角色,則需要角色管理。然後肯定得有一個圖書入庫,圖書借出,圖書歸還等等功能;然後就是詳細設計了,每個功能模塊大概需要哪些更詳細的功能點;做好前面幾部非常關鍵,不然後面才發現設計跟需求出現大的偏差,後果就非常嚴重了;後面就是代碼編寫測試,純技術問題,一般問題不大。
java做一個簡單的圖書管理系統,大一新生,用基礎做,軟體能調試就行
從零開始學Java,本來利用數組只在一個界面就可以實現增刪改查功能,學到介面後覺得實現分離效果會更好一些!所以進行了嘗試,將管理員和用戶中的圖書查詢,登錄,圖書出庫合併在一起寫了一個介面,用戶類和管理員類實現這個介面!圖書類寫了一個抽象類裡面都是一些圖書的屬性,用戶類管理員類對圖書類進行操作。
具體實現如下:
介面:存在三種方法 用戶類和管理員類去實現這個介面,並實現著裡面的方法
[java] view plain copy
public interface Person {
public boolean login(String user,String pwd); //登錄方法
public void search(); //查詢方法
public void reduce(String s,int i); // 圖書出庫
}
用戶類: 實現介面,裡面都是用戶的方法,在測試類里調用這些方法實現其功能
[java] view plain copy
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class User implements Person{
private final String user = “user”;
private final String pwd = “user”;
List list = new ArrayList();
public void addBook(Book book){ //增加圖書
list.add(book);
}
public boolean login(String user, String pwd) { //登錄方法
if(this.user.equals(user) this.pwd.equals(pwd)){
return true;
}
return false;
}
@Override
public void reduce(String s, int i) { //結賬
Iterator it = list.iterator();
while(it.hasNext()){
Book b = (Book)it.next();
if(b.getNum().equals(s)){
if(b.getCount() = i){
int m = b.getCount()-i;
b.setCount(m);
System.out.println(“你的圖書總價為:”+(b.getPrice()*i));
}else
System.out.println(“你輸入的書本數目超出了當前庫存!”);
}else{
System.out.println(“沒找到,你要加入的圖書!”);
}
}
}
@Override
public void search() { //查詢圖書當前情況
Iterator it = list.iterator();
while(it.hasNext()){
Book b = (Book)it.next();
System.out.println(b.getNum()+”\t”+b.getName()+”\t”
+b.getAnthor()+”\t”+b.getFromTime()
+”\t”+b.getPrice()+”\t”+b.getCount());
}
}
}
[java] view plain copy
/prepre name=”code” class=”java”span style=”font-size:18px;”管理員類: 實現介面,裡面都是管理員的方法,在測試類里調用這些方法實現其功能/spanspan style=”font-size:18px;”/span
[java] view plain copy
span style=”font-size:18px;”
/span
[java] view plain copy
package com.pv1;
import java.util.*;
public class Admin implements Person {
private final String user = “admin”;
private final String pws = “admin”;
List list = new ArrayList();
public boolean login(String user, String pwd) { // 登錄方法
if (this.user.equals(user) this.pws.equals(pwd)) {
return true;
}
return false;
}
public void addBook(Book book) { // 增加圖書
list.add(book);
}
public void search() { // 查詢方法
Iterator it = list.iterator();
while (it.hasNext()) {
Book b = (Book) it.next();
System.out.println(b.getNum() + “\t” + b.getName() + “\t”
+ b.getAnthor() + “\t” + b.getFromTime() + “\t”
+ b.getPrice() + “\t” + b.getCount());
}
}
public void reduce(String num, int i) { // 圖書出庫
for (int j = 0; j list.size(); j++) {
Book b = (Book) list.get(j);
if (b.getNum().equals(num)) {
if (b.getCount() = i) {
int m = b.getCount() – i;
b.setCount(m);
System.out.println(“取出成功!現在此書庫存為:” + m);
j–;
break;
} else
System.out.println(“你輸入的書本數目超出了當前庫存!”);
}
if (j == list.size()) {
System.out.println(“沒找到,你要加入的圖書!”);
}
}
}
public void increase(String num, int i) { // 圖書入庫
for (int j = 0; j list.size(); j++) {
Book b = (Book) list.get(j);
if (b.getNum().equals(num)) {
if (i 0) {
System.out.println(“你加入的圖書數目不合法!”);
} else {
int m = b.getCount() + i;
b.setCount(m);
}
}
if (j == list.size()) {
System.out.println(“沒找到,你要加入的圖書!”);
}
}
}
public void delete(String num) { //刪除提供編號的圖書
int j = 0;
for (j = 0; j list.size(); j++) {
Book b = (Book) list.get(j);
if (b.getNum().equals(num)) {
list.remove(b);
System.out.println(“刪除成功!”);
j–;
break;
}
}
if (j == list.size()) {
System.out.println(“未找到你要刪除的圖書!請確認編號後再刪”);
}
}
public boolean guanSearch(String num){
for (int j = 0; j list.size(); j++) {
Book b = (Book) list.get(j);
if (b.getNum().equals(num)) {
return true;
}
}
return false;
}
public void guan(String num, String name, String auther, String date,
double price, int count) { // 修改提供編號的圖書
int j = 0;
for ( j = 0; j list.size(); j++) {
Book b = (Book) list.get(j);
if (b.getNum().equals(num)) {
b.setAnthor(auther);
b.setCount(count);
b.setFromTime(date);
b.setName(name);
b.setPrice(price);
break;
}
}
}
}
圖書類:抽象類,裡面全部是屬性,方便用戶管理員對其操作。
[java] view plain copy
package com.pv1;
import java.util.*;
public class Book {
private String num ;
private String name;
private String anthor;
private String fromTime;
private double price;
private int count;
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAnthor() {
return anthor;
}
public void setAnthor(String anthor) {
this.anthor = anthor;
}
public String getFromTime() {
return fromTime;
}
public void setFromTime(String fromTime) {
this.fromTime = fromTime;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
測試類:
[java] view plain copy
package com.pv1;
import java.util.*;
public class BookTest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Book bo = new Book(); //在開始時加入一本圖書,所用對象
Book bo1 = null; //循環加入圖書建立的對象,開始設成空,防止加入圖書時被覆蓋
List list = new ArrayList(); //建立一個集合,存儲管理員要添加的圖書信息的對象
Admin ad = new Admin(); //建立管理員對象,管理員操作時調用管理員類中對象
User us = new User(); //建立用戶對象,管理員操作時調用用戶類中對象
boolean ad1 = true; //接受進入管理員操作界面的返回值
boolean us1 = true; //接受進入用戶操作界面的返回值
bo.setAnthor(“劉冰”); //書籍為空,加入一本圖書
bo.setCount(20);
bo.setNum(“1001”);
bo.setName(“一本道”);
bo.setFromTime(“2015-2-50”);
bo.setPrice(250.0);
ad.addBook(bo); //通過對象傳遞在管理員類中加入一本圖書
us.addBook(bo);
System.out.print(“請輸入用戶名:”); //用戶輸入 用戶名 密碼
String user = input.next();
System.out.print(“請輸入密碼:”);//
String pwd = input.next();
ad1 = ad.login(user, pwd); //將 用戶名 密碼 傳入管理員類中進行判斷返回Boolean類型接受
us1 = us.login(user, pwd); //將 用戶名 密碼 傳入用戶類中進行判斷返回Boolean類型接受
if (ad1) { //如果管理員類返回true進入 管理員操作界面
System.out.println(“圖書編號\t” + “書名\t” + “作者\t” + “出版日期\t” + “\t價格\t”
+ “庫存”);
ad.search();
while (true) {
bo1 = new Book();
System.out.println(“1.查詢 2.圖書入庫 3.圖書出庫 “
+ “4.新增圖書 5.修改 6.刪除 7.退出\t請輸入您的選擇:”);
int xuan = input.nextInt();
switch (xuan) {
case 1:
System.out.println(“圖書編號\t” + “書名\t” + “作者\t” + “出版日期\t”
+ “價格\t” + “庫存”);
ad.search();
break;
case 2:
System.out.print(“請輸入你想入庫的圖書編號:”);
String num = input.next();
System.out.print(“請輸入你想添加本圖書的數量:”);
int cou = input.nextInt();
ad.increase(num, cou);
break;
case 3:
System.out.print(“請輸入你想取出的圖書編號:”);
num = input.next();
System.out.print(“請輸入你想取出圖書的數量:”);
cou = input.nextInt();
ad.reduce(num, cou);
break;
Java使用面向對象編程思維編寫圖書管理系統:增加,查詢,修改,刪除,退出,怎麼寫?
package com.bms;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
// book對象
public class Book {
private String bId; // 編號
private String bName; // 書名
// getset方法
public String getbId() {
return bId;
}
public void setbId(String bId) {
this.bId = bId;
}
public String getbName() {
return bName;
}
public void setbName(String bName) {
this.bName = bName;
}
//構造方法
public Book() {
}
public Book(String bId, String bName) {
this.bId = bId;
this.bName = bName;
}
/*
* 增加
* */
public static ListBook add(ListBook list) {
Scanner sn = new Scanner(System.in);
System.out.print(“請輸入編號:”);
String bid = sn.next();
System.out.print(“請輸入名稱:”);
String bName = sn.next();
Book book = new Book(bid, bName);
for (Book b : list) {
if (b.bId.equals(book.bId)) {
System.out.println(“編號重複,請重新輸入!”);
return list;
}
}
list.add(book);
System.out.println(“添加成功!”);
return list;
}
/*
* 查詢
* */
public static void query(ListBook list) {
System.out.println(“編號\t書名”);
for (Book b : list) {
System.out.println(b.getbId() + “\t” + b.getbName());
}
}
/*
* 修改
* */
public static void update(ListBook list) {
query(list);
Scanner sc = new Scanner(System.in); // 鍵盤輸入的對象
System.out.print(“請輸入編號:”);
String s = sc.next();
Integer id = null;
for (int i = 0; i list.size(); i++) {
id = list.get(i).getbId().equals(s) ? i : null;
}
if (id == null) {
System.out.println(“輸入的編號不存在,請重新選擇!”);
return;
}
System.out.print(“請輸入新的書名:”);
String newName = sc.next();
list.get(id).setbName(newName);
System.out.print(“修改成功!”);
}
/*
* 刪除
* */
public static void del(ListBook list) {
query(list);
Scanner sc = new Scanner(System.in); // 鍵盤輸入的對象
System.out.print(“請輸入編號:”);
String s = sc.next();
for (int i = 0; i list.size(); i++) {
if (list.get(i).getbId().equals(s)) {
list.remove(i);
return;
}
}
System.out.println(“輸入的編號不存在,請重新選擇!”);
}
}
/*
* 測試*/
class Test {
public static void main(String[] args) {
ListBook bookList = new ArrayList(); // 存放所有圖書的列表
bookList.add(new Book(“1”, “Java 基礎”)); // 圖書的列表添加一本圖書
System.out.print(“歡迎進入圖書管理系統,”);
boolean b = true;
while (b) {
System.out.print(“請選擇:\n1.增加\n2.查詢\n3.修改\n4.刪除\n5.退出\n(輸入序號):”);
Scanner sn = new Scanner(System.in); // 鍵盤輸入的對象
String select = sn.next();
switch (select) {
case “1”:
System.out.println(“您選擇了增加”);
Book.add(bookList);
break;
case “2”:
System.out.println(“您選擇了查詢:”);
Book.query(bookList);
break;
case “3”:
System.out.println(“您選擇了修改”);
Book.update(bookList);
break;
case “4”:
System.out.println(“您選擇了刪除”);
Book.del(bookList);
break;
case “5”:
System.out.println(“您選擇了退出”);
b = false;
System.out.println(“退出程序!”);
break;
default:
System.out.println(“輸入錯誤的序號,請重新輸入”);
break;
}
}
}
}
原創文章,作者:KVVLS,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/316687.html