找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 858|回复: 9

[求助]C++设计题

[复制链接]
发表于 2009-11-2 02:38:16 | 显示全部楼层 |阅读模式 IP:江苏扬州
一个简陋的数据库系统设计(可参考FoxBase),功能如下。
(1)提供一个命令解释器,用于识别部分数据库命令,如:
Create <表>
Modify Structure <表>
Use <表>
Close <表>
List
(2)针对上述命令,编写对应的类实现。
发表于 2009-11-2 02:38:18 | 显示全部楼层 IP:江苏扬州
这是价值很高的一道题。再进一步就可以创立一个新的数据库语言了。
回复

使用道具 举报

发表于 2009-11-2 02:38:20 | 显示全部楼层 IP:江苏扬州
chenhaorz,

这道题是你的毕业设计题?

实际上这是让你实现SQL的解释器。

我个人认为SQL这种思维定式并不好,我觉得应该实现一种广泛意义上的数据库语言。类似于C/C++。其实说到底,要实现我所说的广泛意义上的数据库语言,关键就是要实现那个解释器,如果实现了,那么一门新的语言就将产生。你知道这意味着什么吗?这意味着中国人第一次在IT领域走在某一个方向的最前端。这门语言应该有个名字,就叫它 DatabaseOperateLanguage,简称DBOL。

使用DBOL,你不必再去学什么SQL,你只要有C/C++ 或者Java 或者 某一门OOP的实现语言,那么你便可以使用DBOL这门语言,DBOL 是为了让你对数据库的操作变得更为简单, 当然由于DBOL提供了语言的自由性, 那么它不能保证你所写的代码是最高效的, 不过如果编译器提供了优化功能的话,那么编译器可以在你的代码的基础上尽可能的优化你的代码, 从而提高效率.

DBOL应该成为一门跨平台的语言, 这意味着, DBOL将走Java的路子. 你可以在Console界面下,直接输入命令, 你也可以使用TextEditor来书写你的代码, 最后将其存为 *.dbol, 然后通过 dbolc yourfilename 编译你的代码, 通过dbol yourfilename 执行对数据库的操作, 这里所指的操作包括建立数据库, 删除数据库, 选定数据库, 建立表, 删除表, 对表的内容加工, 等等.

DBOL将会支持两种类型的数据库, Relational Database(关系型数据库), 以及 OO Database(对象型数据库).

那么DBOL的语言会是什么样的呢? 下面结合一个具体的问题, 来展示一下未来DBOL这门语言.
你现在有三个班级的数据, 当然你可以有无数个班级的数据, 我们要查询这三个班级中各班成绩前三名的学生的姓名. 也就是 班级A中成绩前三名的学生的姓名, 班级B中成绩前三名的学生的姓名 以及班级C中成绩前三名的学生的姓名, 使用DBOL, 代码将是这样的:
for(int i = 0; i<3; i++)
{
班级.elementAt(i).sort(成绩, 降序); //班级为一个容器, 其内存放的Object为班级
// 对单一班级这么一个Object进行排序
// 以成绩为参照, 并且为降序的形式排序
for(int j = 0; j<3; j++)
{
System.out.println(班级.elementAt(i).elementAt(j).getInfo(nameOfStudent));
}
}

看到这样的代码,你有什么感觉? 你是喜欢用SQL呢? 还是愿意使用DBOL?
回复

使用道具 举报

发表于 2009-11-2 02:38:22 | 显示全部楼层 IP:江苏扬州
kai
我刚看完C++基础教程的书,接下来该怎么做呢?
回复

使用道具 举报

发表于 2009-11-2 02:38:24 | 显示全部楼层 IP:江苏扬州
谁能帮我编个程序啊

7000000到8000000的全部数字显示
回复

使用道具 举报

发表于 2009-11-2 02:38:25 | 显示全部楼层 IP:江苏扬州
To nlf11119,

程序代码:

#include <iostream>
#include <cstdlib>
using namespace std;

int main()
{
for(int i = 7000000; i<= 8000000; i++)
cout<<i<<" ";
system("pause");
return 0;
}
回复

使用道具 举报

发表于 2009-11-2 02:38:28 | 显示全部楼层 IP:江苏扬州
谢谢了
回复

使用道具 举报

发表于 2009-11-2 02:38:33 | 显示全部楼层 IP:江苏扬州
To giant,
see once again.
回复

使用道具 举报

发表于 2009-11-2 02:38:39 | 显示全部楼层 IP:江苏扬州
在问一下 在什么地方编辑啊 

我下载了好几个编辑起都不能用

你能告诉我用什么编辑吗 
回复

使用道具 举报

发表于 2009-11-2 02:38:42 | 显示全部楼层 IP:江苏扬州
To nlf11119,
http://sourceforge.net/projects/dev-cpp/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 23:25 , Processed in 0.274943 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表