题目:
¨CREATE TABLE <表名> (<列名><数据类型>[<列完整性约束条件>][,<列名><数据类型>[<列完整性约束条件>]…][,<表完整性约束条件>])
¨ALTER TABLE <表名> [ADD <新列名><数据类型>[<列完整性约束>]] [DROP<列完整性约束名>][MODIFY <列名><数据类型>]
¨要求:
(1)能够以命令方式执行;
(2)能够以程序方式执行a
(3)提供课程设计报告。
写了几天的简单数据库,原来想改别人的代码,后来网上下载到的代码实在逻辑太混乱就索性自己写了。代码运行起来还有很多bug,很多错误输入都没有处理,没有使用结构体,没有写完整性约束的一些东西,另外格式要求也比较严格。
问题就是那么多,后来交代码交的也是这一份,C语言写起来肯定会费近一点,下面是代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void creat()
{
char insert_data[100];
char test[20];
char table[6];
char table_name[15];
char rank_name[16];
char data_type[11];
char length[9];
char limit[15];
char End;
char small_char;
char end_kh[3];
FILE *fp;
char file_name[20];
scanf("%s",table);
if(strcmp(table,"table")!=0)
{
printf("input error1!");
}
if(strcmp(table,"table") == 0)
{
scanf("%s",table_name);
getchar();
scanf("%c",&small_char);
do
{
scanf("%s",rank_name);
scanf("%s",data_type);
scanf("%s",length);
//scanf("%s",limit);
if(isWrongType(data_type))
{
printf("type error!\n");
break;
}
if(isWrongNumber(length))
{
printf("length error!\n");
break;
}
if(small_char != '(')
{
printf("input error");
break;
}
strcpy(file_name,table_name);
strcat(file_name,".txt");
if((fp=fopen(file_name,"a+"))==NULL)
{
printf("File cannot be opened/n");
exit(1);
}
strcpy(insert_data,rank_name);
strcat(insert_data,"\t");
strcat(insert_data,data_type);
strcat(insert_data,"\t");
strcat(insert_data,length);
strcat(insert_data,"\n");
fputs(insert_data,fp);
fclose(fp);
getchar();
scanf("%c",&End);
if(End == '\n')
scanf("%s",end_kh);
getchar();
}
while(End == ',');
}
}
//
void add(char table_name[])
{
char insert_data[100];
char rank_name[16];
char data_type[11];