- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[C程序设计大作业
题目内容及要求
设计一个Database类
问题描述
设计一个Database类。Database类是一个表的集合,而表又由行和列组成。例如,下面的雇员信息表包含三个记录,每个记录有四个字段( Employee、Name、Department和Boss)。
雇员 姓名 部门 部门经理 111-11-1234 Cruz ACC Warder 213-44-5649 Johnston MIS Michaels 321-88-7895 Tom FIN Bearskin
基本要求
能够完成对数据库的基本操作;包括创建数据库,实现对数据库里面的表的添加,删除;以及能够完成对表结构的修改(如添加或删除字段),以及对表中的记录进行添加和删除;能够完成对使用适当的查询语言从一个或多个表中查找相关信息。
测试数据
可以选取高校人员(教师、学生、职工等)数据库作为测试数据
实现提示
Database 类的公有接口包含如下数据成员:
? 创建一个表。
? 通过增加或删除字段修改表结构。
? 删除一个表。
? 在表中增加一个记录。
? 从表中删除记录。
? 用适当的查询语言从一个或多个表中查找信息。
其它要求
高校人员信息通常保存在文件里面,可以从文件里面读取人员信息;然后完成上面操作。
题目分析及小组成员及分工
1.题目分析:
简单来说此次程序设计就是要能实现数据库的基本功能。即表的数据的管理,数据表的创建、修改、删除,数据表的修改就包括字段和记录的添加修改删除等功能。
而设计的第一步就是要完成对于表结构的设计。数据表是一种二维结构,也就是由字段和记录组成的一张二维表。由于记录和字段是要可以创建修改删除的,从而使用指针链队处理起来较为方便。两个链队分别为字段链队和记录链队,前者最表中横向展开,记录链队纵向展开,每个记录链队的节点指向一条记录的数据项的队首,后者是由可选择数据类型的数据项组成的一个链队。从而形成了整张数据表的结构。具体如图所示2-1
图2-1-1
完成了数据表的结构设计,然后对其创建修改删除无非就是对于链表的操作,然后由几张数据表组成了一个数据库,在设计数据库类的时候同样建立一个指针链表将不同的表连接起来,方便进行处理和运算。
最后就是数据的存取问题,C++中所提供的IFSTREAM和OFSTREAM库能完成简单的文件存取功能,只要定义好存取数据的格式,便能方便的完成文件的存取功能。
2.人员分工
课题准备与讨论:全体组员
确定设计最终方案:全体组员
编码:王加夫
调试与测试:全体组员
各功能具体实现及分析
1.几个主要类的设计:
(1).数据项
(2).记录
(3).字段
(4).表
(5).数据库
功能实现即具体分析
.数据库的操作
数据库的创建
创建一个DataBase对象,添加到DataBase链队中,如果链队为空,队首尾指针均指向该对象,否则将其添加至队尾
数据库的删除
查找输入的数据库名,如果找到匹配的数据库,将该数据库之前的数据库的NEXT指向该数据之后的数据库,完成删除操作。
数据库的修改
输入要修改的数据库名,查找该数库,查找过程先获取tbf指针(tbf指向数据库链队的第一个对象),然后依次向后遍历,比较数据库名是否匹配,匹配就调用数据库修改函数,进行修改
(2).数据表操作
a) 添加字段
输入添加字段的字段名和类型,获取字段链队的队尾指针,将该字段添加的队尾,并调用更新函数,为每一条记录分配一个该字段的数据项,赋予该数据项默认值。
b) 修改字段名
输入要修改的字段名,通过获取字段名链队的队首指针Fieldf,然后依次向后遍历,找到要修改的字段,输入新的字段名,将其替换。
c) 删除字段名
输入要删除的字段名,通过获取字段名链队的队首指针Fieldf,然后依次向后遍历,找到要删除的字段,将其从链队删除,然后调用更新函数删除所有记录的该字段的数据项。
添加记录
想输入要添加的记录,将其添加至记录链队的队尾,更新记录的数值。
修改记录
输入要修改记录的字段名和NUM_ID,若成功找到,输入新的修改值,修改完毕提示修改成功。
删除记录
输入删除的记录的NUM_ID,通过记录链队队首指针依次遍历,找到后从链队中删除该记录,更新记录条数的数值。
显示数据表
先依次显示字段名,然后遍历所有记录,将所有记录依次显示出来。
创建数据表
输入数据表的名字,然后调用添加字段的函数进行字段的添加,再调用记录添加函数添加记录,最后数据表创建完成。
(3).管理员登陆
从dba.txt读取管理员账户密码,然后用户输入,验证通过进入管理数据库界面,失败重新输入账号密码。
(4).文件存取
a) 存储数据
您可能关注的文档
最近下载
- 预习材料3-IFS集成财经服务变革.pdf VIP
- 北师大版高中数学必修一全册教学课件.ppt VIP
- 武汉市轨道交通1号线径河延伸线工程.pdf VIP
- ECMO学习心得体会重症医学科陈仁山.pptx VIP
- 2025年度“三会一课”及“主题党日”活动计划表+2025年党组理论学习中心组学习计划.doc VIP
- 最高法案例库-与公司有关的纠纷02-广东某乙公司诉某甲生物公司股权转让纠纷案.pdf
- 心力衰竭专家共识2025年.pptx
- 2023CSCO非小细胞肺癌诊疗指南.pdf VIP
- 2024-2025学年深圳市育才二中小升初入学分班考试语文试卷附答案解析.docx
- 2025年深圳市育才二中小升初入学分班考试数学模拟试卷附答案解析.pdf
文档评论(0)