资源简介
C语言的小型通用数据库
代码片段和文件信息
/*
* Copyright (c) 2006华中科技大学Dian团队
* All rights reserved.
*
* 文件名称:LiuDatabase
* 摘 要:模拟交互式的SOL的基本功能:动态建表组合查询删除添加更新
* 支持的数据类型为:char(字符型) int(整数型) double(浮点型) string(字符串型)
*
* 当前版本:清级(后继版本依次为明级元级....)
* 作 者:刘焱
* 完成日期:
* 修改日期:
* 修改内容:
*
*/
/***************************************************************************************************************/
/*头文件部分*/
#include
#include
#include
/***************************************************************************************************************/
/*宏定义部分*/
#define TABLE_LENTH 20 //定义表的长度
#define MAX_DATA_LEN 20 //定义最大字段数
#define MAX_NAME_LENTH 20 //定义字段名的最大长度
#define MAX_LEN_FILE_NANE 127 //定义文件名的最大长度
#define MAX_STRING_LENGTH 127 //定义字符串的最大长度
#define OK 1 //操作成功
#define ERROR 0 //操作失败
#define INITSTATUS -1 //初始状态
#define SUPER_MARKET_MODEL 0//超市模式
#define OFFICE_MODEL 1//办公模式
int nModel=SUPER_MARKET_MODEL;//唯一的全局变量记录系统模式
/***************************************************************************************************************/
/*数据结构定义部分*/
//定义元素类型
union Elemtype
{
char CHAR; //字符型
char STRINR[MAX_STRING_LENGTH]; //字符串型
int INT;//整数型
double DOUBLE;//浮点型
};
//定义元素节点类型
struct Node
{
union Elemtype arr[MAX_DATA_LEN];
struct Node *next;
};
//字段基本信息结构体
struct Data
{
char strName[MAX_NAME_LENTH]; //字段名
int nLen; //字段长度
char cType; //字段类型
};
//记录字段基本信息的节点结构体
struct DataNode
{
struct Data data;//字段基本信息结构体
struct DataNode *pNext;//指针
};
//记录所有字段信息的表结构体
struct Table
{
int nLen;//表的长度
struct Data Head[MAX_NAME_LENTH];//记录字段全部信息的数组
int nCount;//记录数据容量
};
//定义文件结构
struct File
{
struct Table *pTable;//表头指针
struct Node *pHead;//数据区指针
int nCount;//数据区容量
};
/***************************************************************************************************************/
/*函数定义部分*/
void SubMenu(struct File *file);
void AddData(struct File *file);
void Read(struct File *filechar *strFileName);
void MyUpdateData(struct Node *pCurstruct File *file);
void Update( struct File *file);
void ShowTable(struct Table *pTable);
void ShowData( union Elemtype *arr struct File *file );
void AddData(struct File *file);
void Add(struct File *file);
void CheckChar( struct File *file int *bIsOK int nIndex );
void CheckDouble( struct File *file int *bIsOK int nIndex );
void CheckInt( struct File *file int *bIsOK int nIndex );
void CheckString( struct File *file int *bIsOK int nIndex );
void CreateTable(struct Table *pTable);
void Delete(struct File *file);
void DelteFile( struct File *file );
void Driver();
void Find(struct File *file);
void GetChar(char *pChar);
void GetString(char *str);
int GetStrName(char *str);
void Help();
void InitFile(struct File *fil
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 927 2009-06-30 16:38 downcode.com\downcode.com.txt
文件 189 2008-07-26 17:09 downcode.com\中国源码下载站.url
文件 492032 2006-04-21 23:38 downcode.com\预备队C语言与数据结构组-刘焱-通用数据库(清级)\060422周六例会.ppt
文件 927 2009-06-30 16:38 downcode.com\预备队C语言与数据结构组-刘焱-通用数据库(清级)\downcode.com.txt
文件 927 2009-06-30 16:38 downcode.com\预备队C语言与数据结构组-刘焱-通用数据库(清级)\Liuba
文件 4291 2006-04-07 22:55 downcode.com\预备队C语言与数据结构组-刘焱-通用数据库(清级)\Liuba
文件 522 2006-04-07 22:55 downcode.com\预备队C语言与数据结构组-刘焱-通用数据库(清级)\Liuba
文件 74752 2009-04-05 11:52 downcode.com\预备队C语言与数据结构组-刘焱-通用数据库(清级)\Liuba
文件 54784 2009-04-05 11:52 downcode.com\预备队C语言与数据结构组-刘焱-通用数据库(清级)\Liuba
文件 4021 2009-04-05 11:51 downcode.com\预备队C语言与数据结构组-刘焱-通用数据库(清级)\Liuba
文件 5688 2006-04-23 06:34 downcode.com\预备队C语言与数据结构组-刘焱-通用数据库(清级)\Liuba
文件 38294 2009-06-30 16:39 downcode.com\预备队C语言与数据结构组-刘焱-通用数据库(清级)\Liuba
文件 189 2008-07-26 17:09 downcode.com\预备队C语言与数据结构组-刘焱-通用数据库(清级)\中国源码下载站.url
目录 0 2009-06-30 16:38 downcode.com\预备队C语言与数据结构组-刘焱-通用数据库(清级)\Liuba
目录 0 2009-06-30 16:38 downcode.com\预备队C语言与数据结构组-刘焱-通用数据库(清级)
目录 0 2009-06-30 16:39 downcode.com
----------- --------- ---------- ----- ----
677543 16
评论
共有 条评论