图书管理登记系统Word格式文档下载.docx
- 文档编号:3753465
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:39
- 大小:342.88KB
图书管理登记系统Word格式文档下载.docx
《图书管理登记系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图书管理登记系统Word格式文档下载.docx(39页珍藏版)》请在冰点文库上搜索。
(5)所有的信息存储在一个文件或多个中,并实现文件读写操作。
(6)程序中用链表存放图书信息并实现增删减功能。
3、提示
(1)图书信息可以设计一个结构体类型
(2)自己构思并增加的除规定功能之外的新功能,酌情加分。
解题思路
1.要用链表来存放图书信息,首先要有一个函数,去读取文件内容,然后放在链表中,这样就可以对链表操作进行增删功能。
处理完链表信息后,再放回文件。
..........
2.采取函数处理,实现模块化,同时能对程序进行简化。
3.在功能完善的同时,设计简洁的界面,给用户一个舒适的使用环境。
4.增加比较适合使用的回收站功能,使用户避免出现误删的情况。
5.增加一些小功能,如备份,密码,音乐。
各种函数和功能(太多不一一列出)
实用功能:
1.函数save()//读取文件资料,形成可操作的链表
2.函数increase()//新添加图书
3.函数display()//显示图书
4.函数correct()//修改图书
5.函数cut()//删除图书
6.函数search()//查找图书
7.函数all()//统计图书
8.函数copy()//备份图书
9.函数recycle()//回收站
10.函数password()//密码功能
美化功能:
1.函数music()//放音乐
2.函数colorful()//改变界面颜色
3.函数welcome()//美化操作界面
4.函数welcome2()//美化操作界面
1.界面函数(用来丰富界面,营造一种轻松的环境~)
voidwelcome2(structbook*head)
{inti;
printf("
\n\n\n,'
'
╭⌒╮⌒╮.'
'
,'
.'
.世界太大,还是遇见了你\n"
);
╱◥██◣'
o'
.'
.______________\n"
|田|田田│'
/\n"
╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬/\n"
------------------------------------------ \n"
|☆1.录入新图书☆| \\\\\\\||///\n"
|☆2.显示图书信息☆| \\\\.(*^__^*).//\n"
|☆3.修改图书信息☆|+-----oOOo-----(_)-----oOOo---+\n"
|☆4.删除图书信息☆|| 软件4班 |\n"
|☆5.搜查所需图书☆||陈家辉|\n"
|☆6.统计全部图书☆|| 201131000403 |\n"
|☆7.备份全部图书☆|+|\n"
|☆8.回收站☆|+---------------------Oooo----+\n"
------------------------------------------\n"
按9退出程序\n"
\n"
输入你所需求服务的编号(以回车键结束):
"
scanf("
%d"
&
i);
if(i==1)increase(head);
elseif(i==2)display(head);
elseif(i==3)correct(head);
elseif(i==4)cut(head);
elseif(i==5)search(head);
elseif(i==6)all(head);
elseif(i==7)copy(head);
elseif(i==8)banana(head);
elseif(i==9){printf("
\no(≧v≦)o~~感谢你的使用\n"
exit(0);
}
else{printf("
错误操作,请重新输入"
welcome2(head);
2.密码函数
!
防止不法用户窃取资料,再说,密码文件也加密了。
voidpassword()
{
voidwelcome1();
FILE*fp;
charch[4],a[4],b[4];
if((fp=fopen("
1.txt"
"
r"
))==NULL)
{
printf("
暂无密码,请输入新密码,密码要求3位:
ch[0]=getch();
*"
ch[1]=getch();
ch[2]=getch();
ch[3]='
\0'
;
getchar();
\n请重新输入一次:
a[0]=getch();
a[1]=getch();
a[2]=getch();
printf("
a[3]='
if(strcmp(ch,a)==0)
{printf("
\n请牢记密码,否则你也别想再进了\n按任意键继续"
fp=fopen("
w"
getchar();
fputc('
a'
fp);
fprintf(fp,"
%c"
a[0]);
a[1]);
1'
a[2]);
system("
cls"
fclose(fp);
password();
else{printf("
两次密码都不一样,你这个白痴,滚蛋去"
}
else
{printf("
请输入密码(以回车键结束):
b[0]=getch();
b[1]=getch();
b[2]=getch();
b[3]='
fgetc(fp);
a[0]=fgetc(fp);
a[1]=fgetc(fp);
fgetc(fp);
a[2]=fgetc(fp);
a[3]='
if(strcmp(b,a)!
=0)
\n密码错误,88......"
}
}
3.读取文件函数
没有了这个函数,一切的功能都是枉谈!
因为主要通过这个函数来读取文档的资料,把资料放进链表然后操作,其他函数都要调用它的头指针,牛吧~。
structbook*save()
charch;
structbook*p1,*p2,*head;
book.txt"
fp=fopen("
head=p1=(structbook*)malloc(len);
if(getc(fp)==EOF){head=NULL;
return(head);
else
{ch=fgetc(fp);
if(ch!
=EOF)
fseek(fp,0,0);
fscanf(fp,"
%s"
p1->
ISBN);
name);
writer);
publish);
date);
%f"
price);
p1->
next=NULL;
while(fgetc(fp)!
{
p2=(structbook*)malloc(len);
next=p2;
p1=p2;
fseek(fp,-1,1);
fclose(fp);
return(head);
系统测试
2.显示图书
3.统计图书
流程图
回收站功能演示:
通过显示图书,我们知道书库里有一本ISBN号为5的书
我们把它删除了·
·
我们再显示一次图书,当然,不存在了
我们去回收站看看吧,图书在回收站呢
我们要回这本书,用回收站的还原功能吧!
我们再一次去显示这本书·
OK,还原了图书啦。
编程心得:
这次的编程,难是不难,就是比较烦。
因为我学的关于指针和链表的知识比较薄弱,所以把文件内容放进链表的时候花了我大量的时间,一开始读内容读错了位置,弄了几个小时才正确把内容都读好了,然后又经常由于编程时候考虑问题少,经常出错,比如打开文件忘记关闭,没有及时把空指针赋值,一大堆的问题,显示了我的基础的薄弱。
好不容易把基本内容都做出了,然后开始想些新功能,一开始简单做了美化,使操作界面更美观,后面慢慢加入了音乐,背景色等等。
后来我想,应该加入一些更实用化的功能,功能才是核心。
于是我加入了密码功能,在用户进入时要验证,同时对密码文件进行加密,使文件保密性提高;
我又增加了一个回收站的功能,用来对用户删除的图书进行回收。
编程的路还有很远走,我明白到,要解决一个问题,应该先想想怎样做,怎样才能做完,然后再想怎么做才好。
同时,对编程过程中应该注重细节,应该养成良好的编程习惯。
比如对内容有一定的格式编写,方便检查和别人浏览。
我会继续努力,写出更好简洁高效的程序的~!
编程代码
#include<
stdio.h>
string.h>
stdlib.h>
conio.h>
#include<
Windows.h>
#pragmacomment(lib,"
winmm.lib"
)
#definelensizeof(structbook)
structbook
charISBN[20];
charname[30];
charwriter[20];
charpublish[30];
chardate[20];
floatprice;
structbook*next;
};
voidmusic()
{inti;
\n\n\n\n是否播放音乐:
1.playthemusic.\n2.closethemusic\n\n"
请输入你要的服务号:
scanf("
if(i==1)
PlaySoundA("
t.wav"
NULL,SND_ASYNC|SND_LOOP);
elseif(i==2);
错误操作,请重新输入\n"
music();
voidcolorful()
\n\n\n你可以从以下选一种你喜欢的背景颜色\n"
______________________________\n"
|1.黑色|\n"
|2.蓝色|\n"
|3.红色|\n"
|4.黄色|\n"
☆请输入你要的服务号:
"
if(i==1)system("
color07"
elseif(i==2)system("
color17"
elseif(i==3)system("
color47"
elseif(i==4)system("
color67"
colorful();
ch[1]=getch();
ch[2]=getch();
ch[3]='
a[1]=getch();
a[2]=getch();
intmain()
{voidcopy(structbook*head);
voidall(structbook*head);
voidsearch(structbook*head);
voidcut(structbook*head);
voidcorrect(structbook*head);
voiddisplay(structbook*head);
voidrecycle(structbook*head);
voidincrease();
voidwelcome2();
structbook*save();
password();
music();
colorful();
welcome1();
welcome2(save());
voidwelcome1()
{inti,j;
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n"
☆欢迎进入☆\n"
☆华南农业大学☆\n"
☆图书管理登记系统☆\n"
请稍等,马上进入该系统"
for(i=0;
i<
7;
i++)
."
for(j=0;
j<
99999999;
j++);
elseif(i==8)recycle(head);
voidincrease(structbook*head)
{FILE*fp;
structbook*p1,*p2,*p3;
p1=(structbook*)malloc(len);
p2=head;
a+"
请输入该书的ISBN号:
p3=head;
while(p3!
=NULL)
if(strcmp(p3->
ISBN,p1->
ISBN)==0)
{printf("
此ISBN编码已经被占用,按回车键重新返回操作界面"
system("
elsep3=p3->
next;
请输入书名:
请输入作者姓名:
请输入出版社名字:
请输入出版时间:
请输入该书售价:
fprintf(fp,"
%s\n"
writer)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 登记 系统
![提示](https://static.bingdoc.com/images/bang_tan.gif)