资源简介
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 *
相关资源
- C++扫雷游戏最全源代码
- c++ 实现线程池的使用
- 修改Windows路由表源码
- 迷宫问题数据结构 C++编写
- 软件工程课程设计—基于VS2010的聊天
- 数字图像处理 印前输出 rip 数字加
- 用C++求龙贝格积分
- 网络调试工具VS2008 C++源码
- 贝叶斯分类算法C++实现
- 迷宫问题的C++算法实现
- dijkstra算法的c++实现
- http上传C++代码实现
- 高级记事本Notepad 2源代码
- VC++编写的交通灯控制程序
- 分治法求格雷码的C语言代码
- C语言C++魔兽全图源码
- 哈弗曼树的建立 C++代码
- 动态生成多个按钮
- 使用MFC ODBC连接数据库(access)
- 学生选课系统c++控制台版
- C++实现GPS的单点定位
- 自适应信道均衡C++源程序
- svm_smo_多分类_c++
- bpsk的C语言代码
- c++ ado操作sql server封装类
- C/C++实现linux和Windows查看系统、进程、
- 小型超市管理系统(C++)
- 飞机订票系统___c++
- c++类声明和成员函数分离写法
- opencv多视频同一窗口显示C++程序
评论
共有 条评论