资源简介
C++实现小型数据库DBMS,具备建表以及属性插入功能。
代码片段和文件信息
#include
#include
#include
#include
#include
#define MAXSIZE 60
using namespace std;
/*链表每一个节点为table的每个属性*/
struct Property //链表结点即表的属性
{
char property[20]; //属性名
char type[20]; //类型
char size[20]; //属性分配的空间
char Constraint[40]; //完整性约束
struct Property *next; //下一结点指针
};
struct Table //table结构体
{
struct Property *head; //链表头指针
int number; //链表结点数
char TableName[20]; //表名
struct Table *next;
};
struct Schema //模式
{
struct Table *head; //模式头指针
int number; //模式中表的数量
char SchemaName[20]; //模式名字
};
/*初始化结构体*/
void InitSchema (struct Schema &schema)
{
schema.head = NULL;
schema.number = 0;
}
void InitTable (struct Table &table)
{
table.head = NULL;
table.number = 0;
}
/*将建表第一行命令中的表名分离出来,保存在TableName中*/
void DepartTable(char *CreateTable char *TableName)
{
while(*CreateTable!=‘\0‘)
CreateTable++;
while(*CreateTable != ‘ ‘)
CreateTable--;
CreateTable++;
while(*CreateTable!=‘\0‘)
{
*TableName = *CreateTable;
*CreateTable = ‘\0‘;
CreateTable++;
TableName++;
}
*TableName = ‘\0‘;
}
/*删除输入属性每一行的首尾空格*/
void Delete_Start_End_Blank(char *Member)
{
/*去除首部空格*/
char temp_1[MAXSIZE] *p = Member;
while(*p == ‘ ‘)
p ++;
int j = 0;
while(*p != ‘\0‘)
{
temp_1[j] = *p;
j++;
p ++;
}
temp_1[j] = ‘\0‘;
strcpy(Member temp_1);
/*去除尾部空格*/
char temp_2[MAXSIZE] *p_1 = Member *p_2 = Member;
while(*p_1 != ‘\0‘)
p_1 ++;
p_1 --;
while(*p_1 == ‘ ‘)
p_1 --;
p_1++;
int i = 0;
while(p_2 != p_1)
{
temp_2[i] = *p_2;
i++;
p_2 ++;
}
temp_2[i] = ‘\0‘;
strcpy(Member temp_2);
}
/*建表第一行命令去掉空格并全部转换为小写,例如:create table stu->createtablestu*/
void DeleteBlankAndChange(char *CreateTable)
{
char temp[MAXSIZE];
int j = 0;
for(int i = 0; i < strlen(CreateTable); i++)
{
if(CreateTable[i] != ‘ ‘)
{
temp[j] = CreateTable[i];
if(temp[j]>=65 && temp[j]<=90)
temp[j] = temp[j] + 32;
j++;
}
}
temp[j] = ‘\0‘;
strcpy(CreateTable temp);
}
/*将每一属性输入行分为:propertytypesizeConstraint*/
void DepartProperty(struct Property *Pro char Member[])
{
char *temp_1; //保存去掉部分空格后的字符串
temp_1 = (char *)malloc(MAXSIZE * sizeof(char));
char *temp_2; //保存‘(‘前去掉空格后的字符串
temp_2 = (char *
相关资源
- shallow water equation c++ code
- 模拟的DBMS
- 实现用c++产生高斯噪声
- c++远程控制源代码
- 自己写的远控代码 C++
- C++课程设计公司人员管理系统
- C++程序设计 Y.Daniel Liang著 习题答案
- 纯C++方式生成复杂格式的excel文件(
- 清华大学C++课件
- g711音频编解码(C/C++)实现
- VC++ MFC MSCOMM VS2010 手把手学会串口收发
- C++ 家庭理财管理系统
- 基于VisualC++ 6.0的服装试穿管理系统
- 64bit linux libstdc++.so.6.0.10
- VC++解析并显示JPEG图片showjpeg.rar
- C++写的车辆信息管理系统
- 学生选课管理系统C++
- 面向对象C++笔记
- vc++能够显示网页html
- C++屏幕抓屏软件源代码
- 新安江模型修改
- C++仿最新版360安全卫士主界面基于稍
- VCLSkin 5.60.for.Delphi.C++Builder 5-2010 Full
- Boost Asio C++ 网络编程 中文最新版 PD
- C++使用ADO连接Access数据库源代码(修
- Linux串口操作RS232-C++
- 浙江大学-翁凯-C++课件+源代码8
- 清华C++课件 PPT
- C和C++写的DBMS数据库
- VC++连接STK
评论
共有 条评论