JAVA版的图书管理系统

1. 读者管理功能
读者信息的添加、删除、修改、查询。
2. 读者查询功能
包括读者查询自己当前的借阅信息和读者对图书信息的查询。
3. 书籍管理功能
对图书的增、删、改、查。
4. 读者借阅功能
借书和还书
5. 打印报表功能
完成各种报表的打印
用户分两类,管理员和普通读者,用管理员登陆可使用所有功能,用普通读者登陆只能使用读者查询功能。

建立3张表 :读者表,图书表,借阅表。
读者表:读者编号,读者名称,读者密码,读者所在院系,读者所属年级,读者类型
图书表:图书编号,图书名称,出版社,ISBN,作者,出版日期,定价
借阅表:读者编号,图书编号,借阅日期,应还日期,实际归还日期,罚款额

30RMB+100积分! 谁做? 要自己做的 不要网上下载的~
只是一个小作业 大家不要想复杂了~~~~

送你一份代码,结构大致按照你的需求了,自己增加一些小功能,不会的话请教你同学。
分给我,钱就不用了。

#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();}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-29
java做,还有报表,这个系统不小啊。报表什么格式?
本地系统还是需要远程访问(网页)?
第2个回答  2013-03-24
1. 读者管理功能读者信息的添加、删除、修改、查询。
2. 读者查询功能包括读者查询自己当前的借阅信息和读者对图书信息的查询。
3. 书籍管理功能对图书的增、删、改、查。
4. 读者借阅功能借书和还书
5.打印报表功能完成各种报表的打印用户分两类,管理员和普通读者,用管理员登陆可使用所有功能,用普通读者登陆只能使用读者查询功能。
建立3 张表:(用户数组或者容器代替)
读者表,图书表,借阅表。
读者表:读者编号,读者名称,读者密码,读者所在院系,读者所属年级,读者类型
图书表:图书编号,图书名称,出版社,作者,出版日期,定价
借阅表:读者编号,图书编号,借阅日期,应还日期,实际归还日期,罚款额

速求!!用java编写的,并用对象数组,简单的可实现功能就行。谁有的,发给我一份
第3个回答  2009-10-29
30?? 你后面再加三个零吧~
第4个回答  2009-10-29
WEB/ or
SWING?
数据库用MySQL?
相似回答