图书管理系统链表课设完美版Word文档下载推荐.docx

上传人:wj 文档编号:412359 上传时间:2023-04-28 格式:DOCX 页数:18 大小:87.90KB
下载 相关 举报
图书管理系统链表课设完美版Word文档下载推荐.docx_第1页
第1页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第2页
第2页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第3页
第3页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第4页
第4页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第5页
第5页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第6页
第6页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第7页
第7页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第8页
第8页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第9页
第9页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第10页
第10页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第11页
第11页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第12页
第12页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第13页
第13页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第14页
第14页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第15页
第15页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第16页
第16页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第17页
第17页 / 共18页
图书管理系统链表课设完美版Word文档下载推荐.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

图书管理系统链表课设完美版Word文档下载推荐.docx

《图书管理系统链表课设完美版Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《图书管理系统链表课设完美版Word文档下载推荐.docx(18页珍藏版)》请在冰点文库上搜索。

图书管理系统链表课设完美版Word文档下载推荐.docx

二、设计正文

一、课程设计题目

进行文件的链表操作,包括读取、创建、修改、删除等

二、需求分析

本系统主要实现了图书馆内管理的一般功能,包括查询、添加、删除、修改图书信息等。

所设计的系统以菜单方式工作,为用户提供清楚的利用提示,依据用户的选择来进行各类处置,图书信息包括编号、书名、作者、出版社、价钱等。

录入的图书信息用文件形式保留,并能够对其进行阅读、查询、修改、删除等大体操作。

3、概要设计

本程序包括9个函数:

①主函数main()

②初始化单链表函数LINKcreat(),LINKlinkc()

③显示操作菜单函数menu()

④显示单链表内容函数voidshow(LINKhead);

⑤插入元素函数voidadd(LINKhead);

⑥删除元素函数voiddele(LINKhead);

⑦查找元素函数intcheckn(LINKhead);

⑧保留函数voidsave(LINKhead);

⑨修改函数voidchange(LINKhead);

包括关系如下

main

save

creat

linkc

show

change

check

menu

4、详细设计

结点类型和指针类型

typedefstructbook

{

charshuhao[31];

charname[31];

charwriter[31];

charpublisher[31];

floatprice;

intremain;

}BOOK;

typedefstructlink

BOOKa;

structlink*next;

}NODE,*LINK;

单链表的大体操作

LINKcreat(),LINKlinkc()

voidshow(LINKhead);

voidadd(LINKhead);

voiddele(LINKhead);

intcheckn(LINKhead);

voidsave(LINKhead);

voidchange(LINKhead);

五、调试分析

一、菜单界面

二、显示

3、保留

4、修改

五、查询

一、按出版社查询

二、按书名查询

3、按作者查询

三、课程设计总结或结论

回顾这次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,能够学到很多很多的东西,同时不仅能够巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我知道了理论与实际相结合是很重要的,只有理论和知识是远远不够的,只有把所学的理论知识与实际相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立试探能力。

在设计的进程中碰到的问题,这毕竟独立做的,不免会碰到各类各样的问题,同时在设计的进程中发觉自己的不足的地方,对以前所学的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计以后,必然把以前所学过的知识从头温故。

这次课设终于顺利完成了,在设计中碰到了很多编程问题做完那个课程设计,我的自信一下子提高了,最后真心谢谢林老师的付出。

四、参考文献

[1]林碧英等.新编C语言程序设计.中国电力出版社.

[2]郑玲等.C语言程序设计.中国电力出版社.

附录(程序、测试数据等)

#include<

>

bookstr[30];

intmenu();

intcheckp(LINKhead);

intcheckw(LINKhead);

intnum=0;

LINKcreat();

LINKlinkc();

voidmain()

intm,k;

LINKhead=NULL;

FILE*fp;

fp=fopen("

"

"

r"

);

if(fp==NULL)

{

printf("

文件不存在,请创建\n"

head=creat();

}

else

head=linkc();

\n请按任意键继续\n"

getch();

m=1;

while(m)

k=menu();

switch(k)

{

case1:

add(head);

break;

case2:

dele(head);

case3:

change(head);

case4:

checkp(head);

case5:

checkn(head);

case6:

checkw(head);

case7:

save(head);

case8:

show(head);

case0:

printf("

确认退出吗?

\n肯定--0,返回---1\n"

scanf("

%d"

&

m);

if(m==0)

exit

(1);

}

继续吗?

\n继续--1,结束--0\n"

scanf("

}

intmenu()

intchoice;

while

(1)

system("

cls"

1--新添图书\n"

2--删除图书\n"

3--修改图书\n"

printf("

4--按出版社查询\n"

5--按书名查询\n"

6--按作者查询\n"

7--保留图书信息\n"

8--显示\n"

0--退出\n"

请选择:

choice);

if(choice>

=0&

&

choice<

10)break;

returnchoice;

LINKcreat()

intn,i,k=0,f=0;

if((fp=fopen("

wb"

))==NULL)

printf("

打开文件失败\n"

printf("

请输入将要创建的图书的种类数"

scanf("

n);

for(i=0;

i<

n;

i++)

请输入第%d本书的信息\n"

i+1);

书号\n"

%s"

str[i].shuhao);

书名\n"

scanf("

str[i].name);

作者\n"

str[i].writer);

出版社\n"

str[i].publisher);

单价\n"

%f"

str[i].price);

printf("

库存量\n"

str[i].remain);

fprintf(fp,"

%s%s%s%s%f%d\n"

str[i].shuhao,str[i].name,str[i].writer,str[i].publisher,str[i].price,str[i].remain);

录入成功\n"

fclose(fp);

return(linkc());

LINKlinkc()

intk=0;

FILE*fp;

LINKnewp,head,p;

head=p=(LINK)malloc(sizeof(NODE));

head->

next=NULL;

if((fp=fopen("

rb"

{printf("

文件不存在\n"

exit(0);

while(!

feof(fp))

newp=(LINK)malloc(sizeof(NODE));

fscanf(fp,"

%s%s%s%s%f%d\n"

newp->

newp->

;

k++;

newp->

next=p->

next;

p->

next=newp;

p=p->

读取成功!

\n"

fclose(fp);

return(head);

voidshow(LINKhead)

%7s%7s%7s%7s%7s%7s\n"

书号"

书名"

作者"

出版社"

单价"

库存数"

LINKp;

p=head;

while(p->

next!

=NULL)

printf("

%7s%7s%7s%7s%%7d\n"

p->

next->

p=p->

}

voidadd(LINKhead)

intnumb,i;

LINKnewp,p;

p=(LINK)malloc(sizeof(NODE));

请输入你要增加的图书的本数\n"

numb);

while(p->

next)

p=p->

for(i=0;

numb;

newp=(LINK)malloc(sizeof(NODE));

scanf("

价钱\n"

newp->

p->

p=p->

p->

添加成功!

voidsave(LINKhead)

if((fp=fopen("

{

保留成功\n"

voiddele(LINKhead)

intflag=0;

LINKpt,pa;

chartemp[31];

请输入你要删除的书的书名\n"

temp);

pa=pt=(LINK)malloc(sizeof(NODE));

pa=head;

while(pa->

{if(strcmp(pa->

temp)==0){flag=1;

}pa=pa->

if(flag==1)

pt=pa->

pa->

next=pt->

free(pt);

删除成功!

else

没有这本书\n"

intcheckp(LINKhead)

chartemp[30];

intk=0;

LINKp;

请输入你要查找的图书的出版社\n"

{k++;

if(strcmp(p->

temp)==0)break;

p=p->

if(p->

next==NULL)

没有这本图书\n"

else

{

printf("

return(k);

intcheckw(LINKhead)

请输入你要查找的图书的作者\n"

intcheckn(LINKhead)

请输入你要查找的图书的书名\n"

voidchange(LINKhead)

intflag=0;

请输入你要修改的书的书名\n"

请输入这本书修改后的信息\n"

pa->

pa->

修改成功\n"

 

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

当前位置:首页 > 工程科技 > 电子电路

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

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