资源简介
数据结构课程设计
图书管理系统
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++哈希表的方法实现电话号码查
- c语言电子商务系统
- 学校超市选址问题(数据结构C语言版
- 数据结构,迷宫问题C语言版源代码
- DSDEMO-C演示(数据结构C语言版 严蔚敏
- 数据结构 图的遍历源代码
- 数据结构实验源代码集
- 实验报告:数据结构长整数四则运算
- 宠物管理系统课程设计(源码+数据库
- 数据结构教程李春葆第五版书中例题
- c语言课程设计:客房登记系统源码
- 吕鑫vc6c++数据结构视频源码
- 数据结构教程李春葆第五版课后答案
- 李春葆课后习题答案(数据结构教材
- 8位竞赛抢答器的课程设计报告.docx
- 数据结构1800题 题+答案(全)
- 数据结构(C语言版)ppt课件,清华,
- c++常用游戏算法及数据结构设计
- 数据结构超全面复习导图
- VC++MFC课程设计的学生成绩管理系统
- 《Data Structures and Algorithm Analysis in C
- 数据结构C语言版教学笔记严蔚敏
- C++实现21点游戏
- c++课程设计学生管理系统浙工大源码
- 数据结构C语言版期末考试试题(有答
- 多功能计算器实现C++代码以及代码详
- C语言数据结构银行客户排队
- C语言实现栈操作
- 课程设计: MFC 学生信息管理系统
川公网安备 51152502000135号
评论
共有 条评论