图书馆管理系统文档含源代码免费

  • 格式:doc
  • 大小:256.50 KB
  • 文档页数:41

下载文档原格式

  / 41
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序设计综合训练<图书馆管理系统>

设计报告

院系:材料科学与工程学院

专业班级:材料成型一班

*名:***

学号: ***********

指导老师:肖老师

一、程序功能简介

图书排序功能

1)按图书编号排序

可以按图书编号的大小排序,显示到屏幕上。(从小到大)

2)按图书出版时间排序

可以按图书出版时间的前后排序,显示到屏幕上。(从近到远)

3)按图书价格排序

可以按图书价格的贵宜排序,显示到屏幕上。(从便宜到贵)

4)按图书书名排序

可以按图书书名字符的大小排序,显示到屏幕上。(从小到大)

5)按图书作者名排序

可以按图书作者名字符的大小排序,显示到屏幕上。(从小到大)

二、本人完成的主要工作

图书排序功能(排序比较简单只要做出来一个,其他都和它雷同。)

三、设计方案

1.设计分析;

1)序功能简介:

s

2)各个功能流程图1、按图书编号排序

2、按图书出版时间排序

3、按图书价格排序

4、按图书书名排序

5、按图书作者名排序

2.操作方法简介;

1)主面板

输入密码9进入系统。

2)主菜单

按4进入排序功能。

2)排序功能目录

3)选择功能(比如3)

按价格的大小排序

3.实验结果(包括输入数据和输出结果)

四、设计体会

在期末课程设计中,我们所选择的是设计一个图书管理系统,这对我们来说是一次尝试与创新的过

程,也可以说是一个挑战的过程,毕竟以前没有作过,缺少经验。现在利用自己学到的知识设计并制作一个图书管理系统,这本身就是一个知识转化为生产力的过程,所以大家都很兴奋,不同程度的投入了很高的热情与努力。在具体的设计与实施中,我们看到并感受到了一个管理系统从无到有的过程,对具体的设计步骤、思路、方法、技巧都有了进一步的了解,并感受深刻。

在设计中我们基本能按照规范的方法和步骤进行,首先对现有的系统进行调查,并查阅有关资料,最后确定设计方案,然后设计并制作,实施过程中我们深刻的认识到认真执行管理系统软件标准的重要性,我们由于对管理系统软件相关的标准和规范不太了解,缺少行为操作准则,所以在设计中手法比较生硬,主与次也没能很好把握住,这些方面通过这次我们都要加强了解。

在这次课程设计中,我们被分配以小组为单位去完成图书管理系统的设计与制作,所以小组内的分工和相互协调很重要,大家可以在分工中扬长避短,个及所长,这样可以很好的提高大家的积极性,和合作意识,并有效的缩短开发时间。在其中我掌握了结构体的应用、链表的建立文件的操作、还有一个小的地方就是case'n'的应用。

五、参考资料

C/c++语言程序设计教程——从模块化到面向对象

六、附录

1.程序中主要变量、自定义函数的功能说明

void paixu(struct book *head); //对图书进行排序void num_paixu(struct book *head); //按图书编号排序void time_paixu(struct book *head); //按图书出版时间排序void price_paixu(struct book *head); //按图书价格排序void bname_paixu(struct book *head); //按图书名排序

void wname_paixu(struct book *head); //按作者名排序

While()循环提供可连续的选择操作

Switch()分支选择进行的操作。

system("cls"); 清空输入缓冲区,通常是为了确保不影响后面的数据读取。输入0即可返回或停止输入。

主要数据

int num; 编号;

char bname[50]; 书名;

char wname[20]; 作者名;

char press[50]; 出版社;

char sort[50]; 图书类别;

int time; 出版时间;

float price; 图书价格;

2.源程序代码

#include

#include

#include

struct book{

int num;

char bname[50];

char wname[20];

char press[50];

char sort[50];

int time;

float price;

struct book *next;

};

struct book *creatbook(); //创建链表

struct book *addbook(struct book *head); //添加图书

int yanzheng(struct book *head,int m); //验证新添加的图书编码是否已存在

void deletebook(struct book *head); //删除图书

void fprint(struct book *head); //将链表写入文件

struct book *load(); //从文件中读取信息并建成链表

void print_book(struct book *head); //将链表信息输出

void chaxun(struct book *head); //查询图书信息

void num_chaxun(struct book *head); //按图书编号查询图书

void wname_chaxun(struct book *head); //按作者名查询图书

void sort_chaxun(struct book *head); //按类别查询图书

void time_chaxun(struct book *head); //按出版时间查询图书

void bname_chaxun(struct book *head); //按图书名查询图书

void xiugai(struct book *head); //修改图书信息

void paixu(struct book *head); //对图书进行排序

void num_paixu(struct book *head); //按图书编号排序

void time_paixu(struct book *head); //按图书出版时间排序

void price_paixu(struct book *head); //按图书价格排序

void bname_paixu(struct book *head); //按图书名排序

void wname_paixu(struct book *head); //按作者名排序

int main()

{

int choice,n,x,y=1,c,c1=1234;

char a,d,b[10],b1[10]="yjk";

struct book *head=NULL;

while(y){

system("cls");

printf("\n\n\n\n\n\n\n");

printf(" ********** 欢迎光临**********\n\n");

printf(" ********************** 图书信息管理系统************************\n\n\n");

printf("\n\n");

printf(" ============1-用户登录===========\n");

printf(" ============0-退出系统===========\n");

printf(" 请输入您的选择:");

scanf("%d",&n);

printf("\n");

getchar();

switch(n){

case 0:

y=0;

break;

case 1:

printf(" 请输入您的用户名:");

gets(b);

printf("\n");

printf(" 请输入您的密码:");

scanf("%d",&c);

printf("\n");