图书馆信息管理系统

  • 格式:doc
  • 大小:114.00 KB
  • 文档页数:6

1、需求分析

系统以菜单方式工作,提供键盘式选择菜单以实现功能选择;图书信息采用文件保存,因而要提供文件的输入输出操作;要实现图书信息的浏览功能,则要提供信息显示操作;要实现图书信息查询功能,则要提供查找操作(提供按书名、作者名查询两种查询方式);要实现图书信息删除、修改功能则要提供文件记录的删除、修改操作。

2、总体设计

整个系统被设计为图书信息输入模块、图书信息浏览模块、图书信息查询模块和图书信息删除与修改模块。

3、详细设计

数据结构采用结构体,设计图书信息结构体:

Struct

{

Char loginNo[10]; //登录号

Char name[20]; //书名

Char author[20]; //作者名

Char classNo[10]; //分类号

Char publisher[10]; //出版单位

Char pubTime[20]; //出版时间

Float price; //价格

}bookInfo; //图书信息结构体

(1)图书信息输入模块

采用fwrite或fprintf把图书信息写入图书信息文件。

(2)图书信息浏览模块

分屏显示图书信息,每屏10条记录,按任意键显示下一屏。读文件(采用fread或fscanf)然后显示即可。

(3)图书信息查询模块

通过菜单选择查询方式,提供按书名查询和按作者名查询两种查询方式。采用基本查找算法即可。

(4)图书信息删除与修改模块

通过菜单选择删除操作,由于C语言没有提供直接删除文件记录的函数,因而需要自己实现:读记录,判断是否要删除(与输入的要删除的记录比较),如果要删除,则舍弃;否则重新写入文件。修改操作于删除操作类似,只是判断是否是要修改的记录,如果是,则把修改后的记录写入文件,否则直接写入文件。

急用!!!谢谢了!!!

发我邮箱:SunshineL1205@

积极投票可以增加您的经验值,每票1分,每天上限20分

投票备选答案 共3条

不难,就是些基本操作,写了也没什么意义,比较枯燥

20分?算了,200分可能会给你写

追问

你要是能按我们的要求做出来,给你200分又何妨???传我邮箱就好了。

能帮帮忙做出来吗????????谢谢啦!!!

回答者: jiakyonline | 六级 | 2011-5-31 11:57

投他一票

#include

#include

#include

const n=100;

int m=0;

class Book

{

private:

unsigned long no;

char name[35]; //书名

char author[20];//作者

char cbs[20]; //出版社

char key[5][20];//关键词

int onshelf; //是否再架 1:再架 2:已借

char lender[20];

unsigned long phone;

int y,m,d;

public:

void init();//初始化

friend void output();

friend void output_lend();

friend void way_1();

friend void way_2();

friend void way_3();

friend void loan();

friend void send();

};

Book p[n];

Book *k=p;

void Book::init()//初始化

{cout<<"Input the book NO!"<

cin>>no;

cout<<"Input the book name!"<

gets(name);

cout<<"Input the author!"<

gets(author);

cout<<"Input the publishing house!"<

gets(cbs);

for(int i=0;i<5;i++)

{cout<<"The "<

gets(key[i]);

cout<

}

cout<<"Iuput the status!(0 or 1)"<

cin>>onshelf;

}

void demand()//查询图书

{int choose;

cout<<"Choose which kind of inquires the way?"<

cout<<"[1]Readers can provide the book name by queries!"<

cout<<"[2]Readers can by asking book NO query!"<

cout<<"[3]Readers can provide the keyword by queries!"<

cout<<"[4] EXIT!"<

cin>>choose;

if(choose==1) way_1();

else if(choose==2) way_2();

else if(choose==3) way_3();

else return;

}

void addbook()

{char y;

for(;;)

{m++;

k->init();

k++;

cout<<"------------Are you continue?---------"<

cin>>y;

if(y=='n') break;

}

}

void output()//输出信息

{

cout<<"-----------Output the DATE!---------"<

for(int i=0;i

{cout<<"BOOK NO:"<

cout<<"BOOK NAME:"<

cout<<"AUTHOR:"<

cout<<"publishing house:"<

}

void output_lend()

{cout<<"----------Output the book had been lend!---------"<

for(int i=0;i

{if(p[i].onshelf==1)

{cout<<"BOOK NO:"<

cout<<"BOOK NAME:"<

cout<<"AUTHOR:"<

cout<<"publishing house:"<

cout<<"KEYWORD:"<

"<

cout<<"LENDER:"<

cout<<"PHONE:"<

cout<<"LEND DATE:"<

}}

void way_1()

{ char nam[35];

cout<<"-----------Input the book name !---------"<

gets(nam);

for(int i=0;i

{if(strcmp(p[i].name,nam)==0)

if(p[i].onshelf==0)

{cout<<"BOOK NO:"<

cout<<"BOOK NAME:"<

cout<<"AUTHOR:"<

cout<<"publishing house:"<

}

}

cout<<"NOT FIND!"<

}

void way_2()

{unsigned long na;

cout<<"Input the book NO !"<

cin>>na;

for(int i=0;i

{if(p[i].no==na)

if(p[i].onshelf==0)

{cout<<"BOOK NO:"<

cout<<"BOOK NAME:"<

cout<<"AUTHOR:"<

cout<<"publishing house:"<

}

}

cout<<"Input error!"<

}

void way_3()

{char keyword[30];

cout<<"------------Input the keyword !-------------"<