求高手做一道用c语言编写的大学简单设计题:【数据库管理系统(DBMS)】,悬赏,做对追加

3、数据库管理系统(限5人完成)(1)问题描述当今计算机技术飞速发展,信息管理领域日益扩大,数据库已被广泛应用于各个领域,它用科学的方法管理和处理数据,给人们的生活带来了... 3、数据库管理系统(限5人完成)
(1)问题描述
当今计算机技术飞速发展,信息管理领域日益扩大,数据库已被广泛应用于各个领域,它用科学的方法管理和处理数据,给人们的生活带来了巨大变化。用户建立自己的数据库,更能提高管理工作的效率。综合运用数据结构和C语言知识,建立一个数据库管理系统(DBMS),能够让用户自己定义、创建和控制数据库。
(2)设计要求
设计一个数据库管理系统,用户可以自行定义和创建数据库,能够对数据库实现插入(追加)、浏览、浏览定位、条件定位、按条件修改、按条件排序、删除和全部删除等功能,并能保存数据库信息到指定文件以及打开并使用已存在的数据库文件,但库结构定义后不允许修改。要求以命令提示符形式,提示和等待用户指定命令,进行相关操作。
(3)数据结构
本课程设计使用单链表作为实现该问题的数据结构。
(4)分析与实现
根据设计要求,数据库是通用的,因此需要定一个通用的库结构。用户在这个库结构上可应用所需要的多个字段和多种字段类型,创建自己的数据库。这就需要构造一个单链表,其结点信息包括字段名、字段类型以及指向下一结点的指针。通过对单链表的创建,达到创建库结构的目标。
根据DBMS的要求,需要对数据库进行创建、追加、浏览、浏览定位、条件定位、按条件修改、按条件排序、删除、全部删除和数据库的打开和关闭等操作。要求人机交互界面为类DOS的提示符形式,各操作命令定义如下:
 create命令:创建数据库,并保存到指定文件。格式为:create 数据库名.文件类型。也可用默认的文件类型。
 append命令:在当前数据库文件的末尾追加一条新的记录。根据提示字段名,输入具体需添加的数据。
 brows命令:浏览数据库中的全部信息。
 go-disp命令:定位浏览信息命令。go定位到特定位置,disp浏览定位的信息。
 locate for命令:条件定位命令。格式为:locate for 字段名=“字段内容”。
 delete for命令:按条件删除命令。格式为:delete for 字段名=“字段内容”,将符合条件的数据删除。
 zap命令:全部删除。将正在使用的该数据库的全部信息删除。字段不改变。
 change for命令:按条件修改信息命令。格式为:change for 字段名=“字段内容”。然后根据提示字段名,修改各字段信息。
 sort on命令:按字段排序命令。按用户指定字段进行升序[/a]或降序[/d],默认为按升序排列。
 use命令:打开已创建的数据库。
 /use命令:关闭当前数据库,并保存数据库信息到指定文件。
 help命令:显示帮助文档——DBMS命令一览表。
 quit命令:退出本数据库管理系统。
本程序采用模块化设计,主函数不宜复杂,各功能尽量在各模块中实现。运行程序,首先显示help模块,提示用户使用规范的命令。光标闪烁等待用户输入命令,根据用户输入不同命令,调用相应的函数模块,从而实现该命令的功能。每完成一个命令后,光标继续闪烁等待用户的下一个命令,若输入命令为quit,则程序结束。如此,人机交互实现了DOS的命令提示符模式。
具体实现如下:
首先声明必要的变量和定义数据库结构。
int length=1;
int fangwen=0;
int visit[110]={0}; /*定义标记数组,用于locate与continue命令*/
int continue1=0;
int go; /*存储当前所指向的记录*/
char link1[110];
char value1[110];
char zd1[110];
cgar kx1[110];
typedef struct dbms_node /*定义数据库的类型*/
{
char data[110];
char type[110];
struct dbms_node *next;
}DbmsLinklist;

struct dbms_point
{
char data[20];
};
展开
 我来答
疏顺Oj
2011-11-30
知道答主
回答量:1
采纳率:0%
帮助的人:2.8万
展开全部
struct dbms_point wj[200][10]; /*定义结构体型的二维数组以便用来与文件进行交互*/
char mem[110]; /*分别存储文件的每一行,再复制给wj数组*/
char ch; /*分别接收文件的每一个字符*/
int len=0; /*wj数组的行数,也就是数据库中的记录数目*/
int lie=0;
int com=0; /*记录wj的列数*/
int i,j,bianlen,fanlen=0;
char member[110];
char bian[100]; /*自动生成的编号转换为相对应的字符串*/
char fabian[100]; /*反向存储bian数组*/
FILE *fp;
void Switch(char bian[],int num) /*把数字转换为字符数组*/
{
int l=0;
int n=num;
while(1) /*把数字转化为相应的字符串并存放到bian数组中*/
{
if(n==0) break;
n=num%10;
bian[l]=n+48;
l++;
n=n/10;
}
}
(5)程序包含的模块
说明:主函数存放在一个.c文件中,其它函数存放在一个或多个.h文件中。
 显示帮助界面函数:
输出“DBMS命令一览表”,帮助用户正确使用命令。
 创建数据库函数模块。
 打开数据库函数模块。
 追加数据函数模块。
 浏览数据库函数模块。
 浏览定位函数模块。
 按条件删除函数模块。
 按条件定位函数模块。
 按条件修改数据函数模块。
 按字段排序函数模块。
 关闭数据库函数模块。
 主函数模块。
(6)界面:提示信息明确,交互性好。

以上是 完整题目
追问
这个回答的和我提问的接起来是完整的  题目!!!!!!
liuq2538
2011-12-01
知道答主
回答量:2
采纳率:0%
帮助的人:3335
展开全部
struct dbms_point wj[200][10]; /*定义结构体型的二维数组以便用来与文件进行交互*/
char mem[110]; /*分别存储文件的每一行,再复制给wj数组*/
char ch; /*分别接收文件的每一个字符*/
int len=0; /*wj数组的行数,也就是数据库中的记录数目*/
int lie=0;
int com=0; /*记录wj的列数*/
int i,j,bianlen,fanlen=0;
char member[110];
char bian[100]; /*自动生成的编号转换为相对应的字符串*/
char fabian[100]; /*反向存储bian数组*/
FILE *fp;
void Switch(char bian[],int num) /*把数字转换为字符数组*/
{
int l=0;
int n=num;
while(1) /*把数字转化为相应的字符串并存放到bian数组中*/
{
if(n==0) break;
n=num%10;
bian[l]=n+48;
l++;
n=n/10;
}
}
(5)程序包含的模块
说明:主函数存放在一个.c文件中,其它函数存放在一个或多个.h文件中。
 显示帮助界面函数:
输出“DBMS命令一览表”,帮助用户正确使用命令。
 创建数据库函数模块。
 打开数据库函数模块。
 追加数据函数模块。
 浏览数据库函数模块。
 浏览定位函数模块。
 按条件删除函数模块。
 按条件定位函数模块。
 按条件修改数据函数模块。
 按字段排序函数模块。
 关闭数据库函数模块。
 主函数模块。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式