欢迎来到中博奥技术有限公司官网

java简易图书管理系统

时间:2023-02-01 作者:老师 来源:网络 点击量:

java简易图书管理系统

从零开始学Java,本来利用数组只在一个界面就可以实现增删改查功能,学到接口后觉得实现分离效果会更好一些!所以进行了尝试,将管理员和用户中的图书查询,登录,图书出库合并在一起写了一个接口,用户类和管理员类实现这个接口!图书类写了一个抽象类里面都是一些图书的属性,用户类管理员类对图书类进行操作。

具体实现如下:

java简易图书管理系统

接口:存在三种方法  用户类和管理员类去实现这个接口,并实现着里面的方法

[java] view plain copy

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;i<h;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;i<h;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;i<M;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;i<M;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;i<M;i++)
{k=i;
for(j=i+1;j<M;j++)
if(go[k].price>go[j].price)k=j;
t=go[i];go[i]=go[k];go[k]=t;
}
print();
for(i=0;i<M;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;flag&&i<M;i++)
{if(strcmp(name,go[i].name)==0)
{for(j=i;j<M-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;i<M;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语言编写 图书馆管理系统

工程量比较大!主要是数据库设计、用户介面设计。数据库连接建议使用JDBC纯JAVA驱动。

用java编写一个,图书管理系统

可以使用Baiduhi告诉我你的题目
有空能搞定你无法解决的题目
如果你有类似的要求也能联系我

ES:\\F3BE205E98C61E3942B3CDFC44D10E6F
交易提醒:预付定金有风险
交易提醒:用户名中包含联系方式勿轻信

JAVA做一个简单的图书管理系统,不需要用图形状编程,直接在MAIN里面写就可以了,数据库用SQLSERVER!~

你哪部分不会,我们可以帮你做下。这么大的一个项目,做一下太费时间了。

用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("**************************");
}

}

----------------------------------------------------

标签

相关资讯

我是中博奥客服:小奥
中博奥技术有限公司& 版权所有工信部备案号:豫ICP备11015869号-8 Copyright © 2023-2024

档案整理档案数字化

档案扫描档案管理软件系统

TEL:18937133779

To Top