「图书信息管理java」图书信息管理系统c语言程序设计

博主:adminadmin 2023-01-13 06:24:07 296

今天给各位分享图书信息管理java的知识,其中也会对图书信息管理系统c语言程序设计进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

用JAVA编写图书信息管理系统,进行可行性分析.300-400字。需要原创

技术可行性:前面我们已经学习过java的编程知识,会用java进行小的程序项目的编写,开发。并且图书信息管理系统通过java的界面编程来实现还是比价简单。通过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怎么做

先考虑软件环境问题,确定好开发工具和数据库。图书馆管理系统,我的理解就是一个档案管理而已,数据库用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的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于图书信息管理系统c语言程序设计、图书信息管理java的信息别忘了在本站进行查找喔。