数据结构课程设计-图书管理系统 作者:彭子竹

题目:图书管理系统

作者:彭子竹

学号:201458506131

班级:计146-1

头文件:

<span style="font-size:14px;">#include<stdio.h>
#include<iostream>
#include<string.h>
#include<malloc.h>
#include<string.h>
typedef struct
{
    int year, month,day;
} DATE;

typedef struct book
{
    DATE date;                                                        //购买日期
    char name[20];                                                    //书名
    char author[8];                                                   //作者
    int type;                                                         //书籍类别编号
    int price;                                                        //价格
} BOOK;
BOOK book[200];

//个人图书管理系统的主要功能
void   Interface();                                                            //主界面
void   f_new();                                                                //新建图书文件操作
void   edit();                                                                 //对图书的显示删除
void   e_insert();                                                             //图书的插入
void   e_delete();                                                             //图书的删除
void   display();                                                              //图书的显示
void   sort();                                                                 //排序
void   all();                                                                  //统计图书
void    swatch(BOOK  *p,BOOK  *q);                                             //交换日期函数
void    select()                                                               //选择函数</span>
源文件:

<span style="font-size:14px;">{
    int    i;
    printf("        请选择你要执行的操作:1主界面   2退出系统\n");
    scanf("%d",&i);
    switch(i)
    {
    case  1:
        system("cls");//清屏
        Interface();
        break;
    case  2:
        exit(0);
        break;
    default :
        printf("输入有误");
    }
}    //选择函数
/************************************************************************
*  功能描述:选择返回主界面或者退出系统
*  输入参数:1或2
*  输出参数;无
*  返回值:无
*  其他说明:无
*************************************************************************/

void    swatch(BOOK  *p,BOOK  *q)
{
    BOOK   temp;
    temp=*p;
    *p=*q;
    *p=temp;
}//交换日期函数
/************************************************************************
*  功能描述:交换日期
*  输入参数:无
*  输出参数;无
*  返回值:无
*  其他说明:无
*************************************************************************/

void    Interface()
{
    int    i;
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
    printf("                       ****个人图书管理系统主界面****     \n");
    printf("                       &      1新建文件操作&  \n");
    printf("                       &      2编辑图书信息&  \n");
    printf("                       &      3显示图书信息&  \n");
    printf("                       &      4图书排序&  \n");
    printf("                       &      5统计图书&  \n");
    printf("                       ^^^^^^^^^^^^^^^^^^
  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
用C++语言实现图书管理系统 摘 要 图书管理系统主要是对图书的录入、读者借阅、读者归还等功能进行实现。本课程设计 的系统开发平台为Windows XP,程序设计语言为C++,程序运行平台为Windws98/2000/XP/Seven。在程序设计中采用 了B-树方法提高书籍的查找速度。 关键词 程序设计;图书管理系统; C++;数据结构;B-树 1 索引 1.1课程设计目的 设计一个小型的图书管理系统,可以实现新增图书,读者借阅,读者归还等功能。 1.2.系统性能要求 能较快的查到所要查找的图书;能准确统计当前每种书的库存,以确定此书是否可以外 借;并且对外借的图书进行管理,记录借出时间、应还时间等。 1.3.功能的实现 1) 新书入库:确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加; 2) 借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变 现存量; 3)归还:注销对借阅者的登记,改变该书的现存量。 2 系统详细设计及实现 1.所用的知识体系 在整个程序的设计过程当中,用到了C++的一些基础知识,面向对象的思想和结构化 的程序设计思想。数据结构的B-树建立索引,用索引提高查找的效率等。 2.系统功能组成框图 3 . 系统功能模块划分 " " 摸块保称 "功能说明 " "1 "系统管理 "显示库存,借阅,归还 " "2 "图书管理 "图书的添加,查询等操作 " "3 "借还书管理 "对每次借书信息的添加,删除等操作 " 4.流程图 4.1录入图书信息 4.2借阅图书 4.3归还图书 5 功能实现 5.1 运行程序的主界面 图5—1 操作界面 5.2 新书入库功能的操作界面 图5-2新书入库 5.3 查询数据的界面 图5-3查询书籍 5.4 查询所有书籍的界面 图 5-4显示库存 5.5 图书借阅的界面 图5-5借阅书籍 5.6 还书的界面 图5-6还书 3 参考文献 [1] 谭浩强 C语言设计(第三版)清华大学出版社 [2] 严蔚敏 吴伟民 数据结构(C语言版) 清华大学出版社 [3] 谭浩强 C++ 程序设计清华大学出版社 [4]参考网址http://www.php.net/manual/zh/function.fopen.php [5]参考网址http://hi.baidu.com/%B3%D5%B3%D5%B5%C4145/blog/item/48f2b1ed1d99d 1d2b21cb15c.html 附录 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> #include<time.h> //定义局变量 #define N 10000 //表示状态的字段 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 typedef int Status; typedef char *string ; #define m 3 //B-树的阶,设为 // 借阅者的结构体 typedef struct User{ unsigned int number; //借书证号码 int year; int month; int day; //借书时间 int dyear; //截至日期的年 int dmonth; //截至日期的月 int dday; //截至日期的日 struct User *next; //下一个借阅者 }User; //定义用户的的信息 //书的结构体 struct Book{ unsigned int key; //图书的书号 char bname[20]; // 书名 char writter[20]; // 著者 unsigned int left; // 现存量 unsigned int total; // 总存量 User *user; //借阅该书的人 }b[N]; //定义书的信息 //B- 树的存储结构 typedef Book KeyType; typedef struct BTNode{ int keynum; //结点中关键字个数,即结点的大小 struct BTNode *parent; //指向双亲结点 KeyType key[m + 1]; //关键字向量,号单元未用 struct BTNode *ptr[m + 1]; //子树指针向量 }BTNode,*BTree; //查找结果的存储结构体 typedef struct{ BTNode *pt; //指向找到的结点 int i; //1……m,在结

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值