图书管理系统VC程序设计Word下载.doc

上传人:wj 文档编号:1492423 上传时间:2023-04-30 格式:DOC 页数:47 大小:773KB
下载 相关 举报
图书管理系统VC程序设计Word下载.doc_第1页
第1页 / 共47页
图书管理系统VC程序设计Word下载.doc_第2页
第2页 / 共47页
图书管理系统VC程序设计Word下载.doc_第3页
第3页 / 共47页
图书管理系统VC程序设计Word下载.doc_第4页
第4页 / 共47页
图书管理系统VC程序设计Word下载.doc_第5页
第5页 / 共47页
图书管理系统VC程序设计Word下载.doc_第6页
第6页 / 共47页
图书管理系统VC程序设计Word下载.doc_第7页
第7页 / 共47页
图书管理系统VC程序设计Word下载.doc_第8页
第8页 / 共47页
图书管理系统VC程序设计Word下载.doc_第9页
第9页 / 共47页
图书管理系统VC程序设计Word下载.doc_第10页
第10页 / 共47页
图书管理系统VC程序设计Word下载.doc_第11页
第11页 / 共47页
图书管理系统VC程序设计Word下载.doc_第12页
第12页 / 共47页
图书管理系统VC程序设计Word下载.doc_第13页
第13页 / 共47页
图书管理系统VC程序设计Word下载.doc_第14页
第14页 / 共47页
图书管理系统VC程序设计Word下载.doc_第15页
第15页 / 共47页
图书管理系统VC程序设计Word下载.doc_第16页
第16页 / 共47页
图书管理系统VC程序设计Word下载.doc_第17页
第17页 / 共47页
图书管理系统VC程序设计Word下载.doc_第18页
第18页 / 共47页
图书管理系统VC程序设计Word下载.doc_第19页
第19页 / 共47页
图书管理系统VC程序设计Word下载.doc_第20页
第20页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

图书管理系统VC程序设计Word下载.doc

《图书管理系统VC程序设计Word下载.doc》由会员分享,可在线阅读,更多相关《图书管理系统VC程序设计Word下载.doc(47页珍藏版)》请在冰点文库上搜索。

图书管理系统VC程序设计Word下载.doc

47

两图书管理系统

1.了解并掌握C语言的程序设计方法,具备初步的独立分析和设计能力;

2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;

3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;

4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风;

1.了解并掌握C语言程序设计的一般方法,具备初步的独立分析和设计能力;

个人电脑

硬件环境:

PC机,软件环境:

vc6.0

五、算法的思想

本程序用文件来储存图书信息和读者信息。

·

Step1:

程序运行预处理,读取图书库文件和读者库文件信息,获取系统时间。

读取文件的方法:

通过函数fread()每次读取一个结点的信息,同时储存进链表的结点中,然后每读取一个结点,就依次在链表后面添加一个结点。

Step2:

弹出菜单

oStep2.1:

1. 

浏览图书信息 

 

Step2.2:

2. 

浏览读者信息

oStep2.3:

3. 

图书登记入库 

 

Step2.4:

4. 

读者证件办理

oStep2.5:

5. 

读者图书借阅 

Step2.6:

6. 

读者图书归还

oStep2.7:

7. 

读者信息查询 

Step2.8:

8. 

读者信息修改

oStep2.9:

9. 

图书信息修改 

Step2.10:

10. 

图书资源搜索

Step3:

浏览图书信息

o通过遍历单链表来实现打印所有的图书信息

Step4:

o通过遍历单链表来实现打印所有读者信息,浏览前验证管理员权限

Step5:

图书登记入库

o图书登记入库相当于单链表结点的添加,每登记一本图书,就插入一个结点。

Step6:

o读者证件办理相当于往读者链表里头添加结点,新增一个读者信息,就在读者链表尾部添加一个结点。

办理证件前先验证管理员权限。

Step7:

读者信息查询

o先读者登录,登录相当于在读者链表中找与之登录匹配的信息,匹配成功则登录成功,登录完成后,打印出读者的所有注册和借书信息。

Step8:

o先登录,完成后,进行读者信息修改。

Step9:

图书信息修改

o同读者信息修改一样的实现方法。

不过在修改前先验证管理员权限。

Step10:

图书信息搜索

o这里支持图书名搜索,图书作者搜索,索书号搜索。

实现原理:

遍历图书链表。

Step11:

退出图书系统

o退出前调用图书信息保存函数和读者信息保存函数。

将链表信息储存进文件中。

然后调用退出函数exit(0)。

六、设计流程图

//图书管理系统

#include<

stdio.h>

stdlib.h>

string.h>

windows.h>

conio.h>

time.h>

/*定义图书有关的数据结构*/

structbook

{

intBookNum;

/*图书编号*/

charBookName[20];

/*图书名字*/

charBookAuthor[15];

/*图书作者*/

intnowCount;

/*图书现存量*/

intallCount;

/*图书库存量*/

};

/*定义与读者有关的数据结构*/

structreader

intReaderNum;

/*读者编号*/

charReaderName[20];

/*读者的姓名*/

charReaderSex[8];

/*读者的性别*/

intReaderAge;

/*读者的年龄*/

charReaderTel[15];

/*读者的电话*/

intReaderCount;

/*读者目前已经借阅的数目*/

charpassword[16];

/*读者证件密码*/

chardate[10][100];

/*读者借阅日期*/

intReaderBorrow[10];

/*当前已经借阅的图书编号*/

charBorrowName[10][40];

/*已经借阅的图书名字*/

/*定义与每条图书纪录有关的数据结构*/

typedefstructbooknode

structbookdata;

/*数据域*/

structbooknode*next;

/*指针域*/

}BookNode;

/*定义与每条读者纪录有关的数据结构*/

typedefstructreadernode

structreaderdata;

/*数据域*/

structreadernode*next;

/*指针域*/

}ReaderNode;

/*定义图书馆中读者和藏书的总数目*/

structrbnum

intrnum;

/*读者总个数*/

intbnum;

/*书籍总本数*/

}allRBnum;

/*******************************************/

/*函数声明*/

BookNode*OpenBook();

/*打开图书库文件*/

ReaderNode*OpenReader();

/*打开读者库文件*/

voidInBook(BookNode*pbook);

/*图书录入*/

voidSaveBook(BookNode*pbook);

/*图书信息保存*/

voidSaveReader(ReaderNode*preader);

/*读者信息保存*/

voidBorrowBook(BookNode*pbook,ReaderNode*preader);

/*图书借阅*/

voidReturnBook(BookNode*pbook,ReaderNode*preader);

/*图书归还*/

voidLookBook(BookNode*pbook);

/*浏览图书库*/

voidLookReader(ReaderNode*preader);

/*浏览读者库*/

voidInReader(ReaderNode*preader);

/*借书证办理*/

voidFindReaderAll(ReaderNode*preader);

/*读者信息查询*/

ReaderNode*LoginReader(ReaderNode*preader);

/*读者登陆验证*/

intLoginAdmin();

/*管理员登陆验证*/

voidModifyReader(ReaderNode*preader);

/*修改读者信息*/

voidModifyBook(BookNode*pbook);

/*修改图书信息*/

voidGotoXY(intx,inty);

/*光标定位*/

voiderase(intn);

/*擦除菜单选项*/

voidmenu(intn);

/*菜单选项*/

voidFindBook(BookNode*pbook);

/*图书搜索*/

voidLocalTime(char*strTime);

/*获取系统本地时间*/

/*打开图书文件book,将其存入链表中*/

BookNode*OpenBook()

FILE*fpbook;

BookNode*pb=NULL,*rb=NULL;

allRBnum.bnum=0;

/*初始化藏书0本*/

BookNode*pbook=(BookNode*)malloc(sizeof(BookNode));

/*头指针*/

if(!

pbook)

{

printf("

空间申请失败\n"

);

exit(0);

}

pbook->

next=NULL;

rb=pbook;

fpbook=fopen("

.\\book.txt"

"

a+"

/*追加的方式打开一个二进制文件*/

fpbook)

文件打开失败\n"

while(!

feof(fpbook))

pb=(BookNode*)malloc(sizeof(BookNode));

/*申请空间*/

if(!

pb)

{

printf("

exit(0);

}

if(fread(pb,sizeof(BookNode),1,fpbook)==1)

pb->

next=NULL;

rb->

next=pb;

rb=pb;

/*rb指针向后移一位*/

allRBnum.bnum+=pb->

data.allCount;

/*总图书数目统计*/

fclose(fpbook);

/*关闭文件*/

//printf("

打开文件成功!

图书馆总共藏书:

%d本\n"

allRBnum.bnum);

returnpbook;

}

/*打开读者文件reader,将其存入链表中*/

ReaderNode*OpenReader()

FILE*fpreader;

ReaderNode*pr=NULL,*rr=NULL;

allRBnum.rnum=0;

/*初始化读者人数0位*/

ReaderNode*preader=(ReaderNode*)malloc(sizeof(ReaderNode));

/*头指针*/

preader)

preader->

rr=preader;

fpreader=fopen("

.\\reader.txt"

/*追加的方式打开一个二进制文件*/

fpreader)

while(!

feof(fpreader))

pr=(ReaderNode*)malloc(sizeof(ReaderNode));

pr)

if(fread(pr,sizeof(ReaderNode),1,fpreader)==1)

pr->

rr->

next=pr;

rr=pr;

/*rr指针向后移一位*/

++allRBnum.rnum;

/*读者数目+1*/

fclose(fpreader);

拥有有所读者数:

%d位\n"

allRBnum.rnum);

returnpreader;

/*图书录入*/

voidInBook(BookNode*pbook)

printf("

>

图书登记入库<

<

\n"

BookNode*pb=pbook;

BookNode*pt=pbook;

/*pt临时指针用于遍历整个图书库*/

BookNode*pr=(BookNode*)malloc(sizeof(BookNode));

while(pb->

next!

=NULL)/*找到链表的尾部开始添加书目*/

pb=pb->

next;

inti=1;

/*用于临时报号*/

提示:

当书号为0时,结束图书录入!

________________________________________________________________\n"

现在正在进行第%d本书登记.\n"

i++);

书号:

"

scanf("

%d"

&

(pr->

data.BookNum));

/*书号*/

while(pr->

data.BookNum!

=0)

书名:

scanf("

%s"

pr->

data.BookName);

/*书名*/

作者名:

data.BookAuthor);

/*作者名*/

pr->

data.nowCount=1;

/*现存量初始化为1*/

data.allCount=1;

/*总存储量初始化为1*/

while(pt->

next!

=NULL)

if(pr->

=pt->

data.BookNum)

pt=pt->

else/*说明该图书已经存在*/

{

pt->

data.nowCount+=1;

/*现存书目+1*/

data.allCount+=1;

/*总数目+1*/

break;

}

if(pt->

next==NULL)/*图书还未入库则入库*/

pr->

next=NULL;

pb->

next=pr;

/*将新建的结点插入链表尾部*/

pb=pr;

else

操作成功.\n"

pr=(BookNode*)malloc(sizeof(BookNode));

/*申请下一个空间*/

pt=pbook;

/*pt临时指针移动到头指针位置*/

SaveBook(pbook);

/*图书信息保存*/

\n>

图书入库完毕<

--按任意键回主菜单>

getch();

system("

cls"

return;

/*图书保存*/

voidSaveBook(BookNode*pbook)

BookNode*pb=pbook->

w"

/*只写的方式打开文件*/

while(pb!

if(fwrite(pb,sizeof(BookNode),1,fpbook)==1)/*每次写一条记录*/

pb=pb->

/*读者信息保存*/

voidSaveReader(ReaderNode*preader)

ReaderNode*pr=preader->

while(pr!

if(fwrite(pr,sizeof(ReaderNode),1,fpreader)==1)/*每次写一条记录*/

pr=pr->

/*图书借阅*/

voidBorrowBook(BookNode*pbook,ReaderNode*preader)

读者图书借阅<

intbooknum=0,flag=0,time=3,i=2;

/*图书临时指针*/

ReaderNode*rt=NULL;

/*读者临时指针*/

ReaderNode*rr=(ReaderNode*)malloc(sizeof(ReaderNode));

/*读者登陆临时节点*/

/*********

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2