课程设计报告书 --基于文件系统的自定义数据库.docx

上传人:王** 文档编号:775903 上传时间:2024-01-14 格式:DOCX 页数:74 大小:469.15KB
下载 相关 举报
课程设计报告书 --基于文件系统的自定义数据库.docx_第1页
第1页 / 共74页
课程设计报告书 --基于文件系统的自定义数据库.docx_第2页
第2页 / 共74页
课程设计报告书 --基于文件系统的自定义数据库.docx_第3页
第3页 / 共74页
课程设计报告书 --基于文件系统的自定义数据库.docx_第4页
第4页 / 共74页
课程设计报告书 --基于文件系统的自定义数据库.docx_第5页
第5页 / 共74页
课程设计报告书 --基于文件系统的自定义数据库.docx_第6页
第6页 / 共74页
课程设计报告书 --基于文件系统的自定义数据库.docx_第7页
第7页 / 共74页
课程设计报告书 --基于文件系统的自定义数据库.docx_第8页
第8页 / 共74页
课程设计报告书 --基于文件系统的自定义数据库.docx_第9页
第9页 / 共74页
课程设计报告书 --基于文件系统的自定义数据库.docx_第10页
第10页 / 共74页
亲,该文档总共74页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《课程设计报告书 --基于文件系统的自定义数据库.docx》由会员分享,可在线阅读,更多相关《课程设计报告书 --基于文件系统的自定义数据库.docx(74页珍藏版)》请在优知文库上搜索。

1、课程设计报告书题目:基于文件系统的自定义数据库1 3L1312JziI可313VIAli32.Il-32. 1程序框架:33. 2主函数流程图:44. 3道路建设程序框架63.系统编码73. 1main函数73. 2CreateDataBase函数133. 3OPenDataBaSe函数163. 4SwitchToChar函数173. 5SwitchToInt函数173. 6AppendData函数183. 7Save_DataBase函数193. 8Save_as_DataBase函数203. 9BrowsDataBase函数213. 10Sort_a函数213. 11Sort_d函数243

2、. 12LocatedFor函数263. 13DeleteFor函数283. 14ChangeFor函数313. 15ZaP函数343. 16TestFunction函数343. 17DosHelp函数355. 18BuildRode.c364系统调试运行414.1帮助命令界面:414. 2creat命令创建新的数据库并打开414. 3append命令,添加数据项424 .4brows命令查看数据库全部数据425 .51。Cate查找定位命令,搜索数据库,查找关键字434 .6sort_asort_d根据关键字排序命令435 .7delete命令删除带有关键字的数据444 .8Change_f

3、or命令修改数据库中某项数据445 .9SaVe保存命令454 .10save_as另存为命令465 .11use打开新的数据库命令474. 12普里姆算法计算建设的最短道路486. 13附加功能485系统实用性检验507. 1搭建商场商品管理信息系统:505.Ll添加数据库基本项目:505.L2添加商品数据505.L3浏览数据:515.1.4根据价格排序:升序和降序525.L5修改价格:525.L6删除项目:525.L7保存文件:535.L8另存为:545.L9关闭现有数据库,打开新的数据库:555.L10用户输入出错时程序的自动判断:566课程设计总结57附录1学到的东西58附录2计算器源

4、程序59参考文献67外部文件基于文件系统的自定义数据库1系统分析1.1 背景在选择课程设计的题目时,发现大多题目都可以用基于文件系统的操作实现,而题目所需的操作也都类似,如插入数据、查找数据、排列数据、删除数据、保存数据等。在之前模仿过数据库的构建后(参考数据结构课程设计P34-57DBMS数据库管理系统),我想自己搭建一个可自定义的数据库,可由用户自己定义自己的数据库,并且管理不同的数据库,实现了FoXBASE数据库的基本功能。1.2 主要问题实现模拟命令符的识别、文件的准确读写、排序、查找、插入、删除1.3 3设计思路基于以前自己用单片机搭建的遥控智能小车的经验,明白了在程序设计前搭建好系

5、统框架的重要性,本课程设计在主函数中使用一个大WhiIe循环语句,和if判断语句实现字符命令的控制,在此基础上实现了数据库的基本操作、程序的调试。2系统设计2.1程序框架:函数实现区基本变量区测试变量区命令符控制区程序调试区数据库文件区附加功能区2.2主函数流程图:附加功能可自定义加入想要打开的文件、软件等,可扩展出很多功能。如搭建小区管理系统,数据库管理小区住户的信息,拓展功能区可加入摄像头、温度管理系统(随时查看安全隐患处的温度,提前预警)使用邻接矩阵表示的无向图:宏定义图的数据结构初始化函数定位函数普里姆算法道路生成函数道路数据文件3系统编码设计DataBase数组的结构:DataBas

6、e0DataBase1DataBase2DataBase3DataBase.data编号t0字段lt0字段2t0字段3t0DataBase.DataTypechar自定义自定义自定义File_Read_Write数组的结构:File_Read_WriteFile_Read_WriteFile_Read_WriteFile_Read_Write00.data01.data02.data03.dataFile_Read_WriteFile_Read_WriteFile_Read_WriteFile_Read_Write10.data11.data12.data13.dataFile_Read_Wr

7、iteFile_Read_WriteFile_Read_WriteFile_Read_Write20.data21.data22.data23.dataFile_Read_WriteFile_Read_WriteFile_Read_WriteFile_Read_Write30.data31.data32.data33.data其中*DataLength=5*DataCom=4每个空格代表大小为CharCh20;的字符数组所占的内存大小3.1main函数实现字符命令的控制,以及程序调试,数据库读写等操作命令intmain()(charFirStlnPUt100;记录输入的字符charSeCond

8、InPUt100;记录二次输入如文件名等charOpenFileNametlOO;记录要打开的文件的名字charSaVeASName100;记录另存为的文件名字charSortNametlOO;记录排序的字段名charLocateName100;charDeleteNameElOO;charCharName100;charChangeNameElOO;char01dCharName100;charNewCharNametlOO;char*cmdl=浏览器3.0.exe”;修改浏览器时要该动名字char*cmd2=计算器.exe”;/inthandle;intTypeNum=I;intDataL

9、ength=O;intDataCom=O;inti;FILE*fp;DataLinkList*DataBase10;测试用的变量区Iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii/charch10;/Switch(ch,1234);/printf(,%sz,ch);SySten(pause);/inttest;用于测试SWitCh函数IiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiIiiiiiiiiiiiiiisystem(z,

10、color64);改变颜色DosHelpO;显示帮助界面SySteni(pause);/printfCwhile(scanf(z,%szz,FirstInput)!=EOF)SCanf(%s”,SecondInput);/SecondInput可写XXX.txt或者XXX.dochandle=creat(SecondInput,S_IREADS_IWRiTE);创建数据库文件CreateDataBase(DataBase,&TypeNum);for(i=0;idata,strlen(DataBasei-data);写入数据库printf(n);OpenDataBase(SecondInput,

11、&DataLength,DataCom);)/elseif(strcmp(FirstInput,另存为)=0)elseif(strcmp(FirstInput,use)=0)还要修改(SCanf(%s”,OpenFileName);/SecondInput可写XXX.txt或者XXX.docif(DataLength!=0&DataCom!=0)(Save_DataBase(SecondInput,&DataLength,&DataCom);Printf(原数据库已经保存n);)Zap(&DataLength,&DataCom);数组初始化OpenDataBase(OpenFileName,&

12、DataLength,&DataCom);strcpy(SecondInput,OpenFileName);将新打开的文件名复制给二次输入数组方便交换操作等)elseif(strcmp(FirstInput,“append)=0)AppendDataDataLength,&DataCom);scanf(%s,SortName);/SortNameSort_a(SortName,&DataLength,&DataCom);elseif(strcmp(FirstInput,sort_d)=0)(scanf(s,SortName);/SortNameSort_d(SortName,&DataLeng

13、th,&DataCom);)elseif(strcmp(FirstInput,“locate)=。)(SCanf(%s”,LocateName);scanf(,%sz,CharName);LocatedFor(LocateName,CharName,&DataLength,&DataCom);)elseif(strcmp(FirstInput,brows)=0)(BrowsDataBase(&DataLength,&DataCom);)elseif(strcmp(FirstInput,deletez,)=O)(scanf(z,%szz,DeleteName);scanf(,%szz,CharName);DeleteFor(DeleteName,CharName,&DataLength,&DataCom);)elseif(strcmp(FirstInput,change-forz,)=0)(scanfChangeName);scanf

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据库

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!