资源简介
数据结构课程设计
图书管理系统
C语言编写
代码片段和文件信息
#include
#include
#include
//#include
#include
//#include
#include
//函数名: atoi 功能: 把字符串转换成长整型数
//******** 定义一些全局变量 *********
#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-树的阶,设为3
//************ 借阅者的存储结构体 ************
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]; //关键字向量,0 号单元未用
struct BTNode *ptr[m + 1]; //子树指针向量
}BTNode*BTree;
//************ 查找结果的存储结构体 ***********
typedef struct{
BTNode *pt; //指向找到的结点
int i; //1……m,在结点中的关键字序号
int tag; //B- 树的查找结果类型
}Result;
BTree root = NULL; //树根
//************* 函数声明部分 *******************
//输入书的具体信息
void InBookMess(KeyType &book);
//输入书的关键字
void InBookKey(KeyType &book);
//显示书的具体信息如果书存在就显示
void ShowBookMess(Book book);
//显示一个结点中所包含的全部信息显示单个结点
void ShowBTNode(BTree p);
//显示以层次的方法显示树的结点
void display(BTree T);
//复制关键字的信息
void KeyTypeCopy(KeyType &bakKeyType k);
//查找在某个结点中的位置
int Search(BTree p KeyType K);
//查找
Result SearchBTree(BTree T KeyType K);
//插入
void Insert(BTree &q int i KeyType x BTree ap);
//分裂结点
void split(BTree &q int s BTree &ap);
//生成一个新的结点
void NewRoot(BTree &T BTree p KeyType x BTree ap);
//将书的信息插入到 B- 树中
Status InsertBTree(BTree &T KeyType K);
//删除结点通过关键字 k 删除
Status DeleteBTree(BTree &TKeyType k);
//删除树结点
Status DeleteBT(BTree &TKeyType k);
//与右最左结点交换
void exchange(BTree &Tint i);
//用户借阅
Status BorrowBook(BTree TKeyType k);
//注销对借阅者的登记,改变该书的显存量
Status ReturnBook(BTree TKeyType k);
//查找作者的全部书籍
Status searchAuthorB(BTree T);
void temp(BTree T);
void save(BTree p);
/******************************************************************************************************************************/
void save(BTree p)//保存模块程序
{
FILE *fp;//定义文件指针
if ((fp=fopen(“book.txt““wb“))==NULL )//判断文件的存在,若非空,将fp指向filename中记载的文件名的文件
{
printf(“创建文件失败!\n\n“);//打印出错提示
getchar();
return;
}
for(int i = 1; i <= p->keynum; i++){
fprintf(fp“%d %s %s %d %d \n“p->key[i].keyp->key[i].bnamep->key[i].writterp->key[i].leftp->key[i].total);
}
fclose(fp);//关闭文件
}
void temp(BTree T)
{
int i;
if(T) {
save(T); //保存这个结点的全部值
for(i=0; i<=T->keynum; i++){
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 0 2010-01-11 09:43 图书管理系统\图书管理系统\book.txt
文件 229454 2010-01-10 21:45 图书管理系统\图书管理系统\Debug\libraly.exe
文件 259780 2010-01-10 21:45 图书管理系统\图书管理系统\Debug\libraly.ilk
文件 53181 2010-01-10 21:45 图书管理系统\图书管理系统\Debug\libraly.obj
文件 231280 2010-01-10 21:45 图书管理系统\图书管理系统\Debug\libraly.pch
文件 484352 2010-01-10 21:45 图书管理系统\图书管理系统\Debug\libraly.pdb
文件 33792 2010-01-10 21:45 图书管理系统\图书管理系统\Debug\vc60.idb
文件 45056 2010-01-10 21:45 图书管理系统\图书管理系统\Debug\vc60.pdb
文件 24387 2008-12-31 10:45 图书管理系统\图书管理系统\libraly.cpp
文件 3413 2010-01-10 21:45 图书管理系统\图书管理系统\libraly.dsp
文件 522 2010-01-10 21:46 图书管理系统\图书管理系统\libraly.dsw
文件 33792 2010-01-10 21:46 图书管理系统\图书管理系统\libraly.ncb
文件 48640 2010-01-10 21:46 图书管理系统\图书管理系统\libraly.opt
文件 749 2010-01-10 21:45 图书管理系统\图书管理系统\libraly.plg
目录 0 2010-01-10 21:45 图书管理系统\图书管理系统\Debug
目录 0 2010-01-10 21:46 图书管理系统\图书管理系统
目录 0 2010-01-11 21:45 图书管理系统
----------- --------- ---------- ----- ----
1448398 17
- 上一篇:求众数的两种方法
- 下一篇:fcgi头文件及lib库
相关资源
- 课程表排课源代码四川大学数据结构
- 图书管理系统c++版
- c++课程设计论文-三子连珠游戏
- VC++课程设计一 福彩游戏(代码和报告
- 数据结构的迷宫问题 C语言
- C++程序基础课程设计——求取平均分
- 数据结构图的邻接矩阵功能实现
- 稀疏矩阵的三元组顺序表存储表示及
- 航班订票系统课程设计源代码
- 数据结构课程设计c++排序算法的比较
- 数据结构课程设计c++图书管理系统源
- 操作系统课程设计SPOOLING技术C语言版
- 清华大学数据结构上机考试试题(C
- C++ 数据结构 算法B+树实现
- 数据结构十字链表C++
- 数据结构(c语言版)代码实现
- 无向图用邻接矩阵的深度优先遍历程
- C语言系统课程设计报告
- c++课程设计之图书管理系统
- 基于C++数据结构编写的航空订票系统
- 八皇后问题课程设计C++版
- 数据结构c语言实现求最短路径
- C语言课程设计之繁华曲线
- C语言课程设计之波形显示
- C语言 学生信息管理系统 课程设计实
- C语言版文件相似度对比,文本对比,
- c++_图书信息管理系统(
- c++学籍管理系统 课程设计报告
- C语言课程设计小学生四则运算
- 数据结构c语言一元多项式的表示相加
评论
共有 条评论