图书馆管理系统文档含源代码免费
- 格式:doc
- 大小:256.50 KB
- 文档页数:41
程序设计综合训练<图书馆管理系统>
设计报告
院系:材料科学与工程学院
专业班级:材料成型一班
*名:***
学号: ***********
指导老师:肖老师
一、程序功能简介
图书排序功能
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");