数据库简单文件管理系统的设计及实现课程设计讲解.docx
- 文档编号:6723946
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:36
- 大小:142.90KB
数据库简单文件管理系统的设计及实现课程设计讲解.docx
《数据库简单文件管理系统的设计及实现课程设计讲解.docx》由会员分享,可在线阅读,更多相关《数据库简单文件管理系统的设计及实现课程设计讲解.docx(36页珍藏版)》请在冰豆网上搜索。
数据库简单文件管理系统的设计及实现课程设计讲解
课程设计(论文)任务书
学 院 计算机科学与技术 专 业 班
一、课程设计(论文)题目 简单文件管理系统的设计及实现
二、课程设计(论文)工作自2013年12月30日起至2014年1月3日止。
三、课程设计(论文)地点:
____________________5#204_______
四、课程设计(论文)内容要求:
1.本课程设计的目的
(1)掌握使用进行文件管理设计的基本思想和方法;
(2)提高运用文件管理理论解决实际问题的能力;
(3)了解文件管理开发的基本知识,熟悉一门数据库开发工具;
(4)培养学生调查研究、查阅技术文献、分析和解决问题的能力;
(5)提高学生的科技论文写作能力。
2.课程设计的任务及要求
1)基本要求:
(1)进行简单文件管理系统设计的基本思想和方法的学习与研究;
(2)进行简单文件管理系统开发技能的学习;
(3)提出简单文件管理系统的设计方案;
(4)对系统进行调试,得出实现效果。
2)创新要求:
在基本要求达到后,可进行创新设计,如改善算法性能;友好的人机界面等。
3)课程设计论文编写要求
(1)要按照书稿的规格打印与写课程设计论文;
(2)论文包括目录、功能描述、设计思路、具体实现、运行调试与分析讨论、设计体会与小结、参考文献、附录等;
(3)课程设计论文装订按学校的统一要求完成。
4)答辩与评分标准:
(1)考勤与学习态度:
20分;
(2)设计思路:
20分;
(3)代码实现:
20分;
(4)调试与分析:
20分;
(5)回答问题:
10分;
(6)论文规范性:
10分。
5)参考文献:
(1)汤子瀛,汤小丹《计算机操作系统》西安电子科技大学出版社;
(2)张大治,王辉《VisualC#程序设计》清华大学出版社;
(3)
6)课程设计进度安排
内容天数 地点
构思及收集资料2 图书馆
组装与调试5 实验室
撰写论文3 图书馆、实验室
学生签名:
_杜宝宝___
2014年1月3日
课程设计(论文)评审意见
(1)完成原理分析(20分):
优( )、良( )、中( )、一般( )、差( );
(2)设计分析 (30分):
优( )、良( )、中( )、一般( )、差( );
(3)完成调试 (30分):
优( )、良( )、中( )、一般( )、差( );
(4)回答问题 (20分):
优( )、良( )、中( )、一般( )、差( );
(5)格式规范性及考勤是否降等级:
是( )、否( )
评阅人:
职称:
讲师
1.绪论……………………………………………………………………………………………4
2.设计说明………………………………………………………………………………………5
3.概要设计………………………………………………………………………………………5
4.详细设计………………………………………………………………………………………6
4.1系统功能图………………………………………………………………………6
4.2系统设计…………………………………………………………………………6
4.3负责的功能模块…………………………………………………………………7
5.功能的调试和相关截图………………………………………………………………………10
6.心得体会和总结………………………………………………………………………………12
7.参考文献………………………………………………………………………………………12
8.程序附录………………………………………………………………………………………13
绪论
在计算机的所有资源中,其中文件系统资源的管理尤其重要。
文件系统作为一个统一的信息管理机制,应具有下述功能:
(1)统一管理文件存储空间(即外存),实施存储空间的分配与回收。
即在用户创建新文件时为其分配空闲区,而在用户删除或修改某个文件时,回收和调整存储区。
(2)确定文件信息的存放位置及存放形式。
(3)实现文件从名字空间到外存地址空间的映射,实现文件的按名存取。
即文件有一个用户可见的逻辑结构,用户按照文件逻辑结构所给定的方式进行信息的存取和加工,并且这种逻辑结构是独立于物理存储设备的,从而使用户不必了解文件存放的物理结构和查找方法等与存取介质有关的部分,只需给定一个代表某一文件的文件名,文件系统就会自动地完成对与给定文件名相对应文件的有关操作。
(4)有效实现对文件的各种控制操作(如建立、撤销、打开、关闭文件等)和存取操作(如读、写、修改、复制、转储等)。
(5)实现文件信息的共享,并且提供可靠的文件保密和保护措施。
因而,我们必须为操作系统设置一个文件管理系统来实现对文件资源的全方位管理,使得文件资源得到合理的应用。
好的文件管理系统可以让我们合理的管理我们的文档和自己独有的资料,省去我们对资源进行从头到尾梳理的麻烦,是一种有效的管理工具。
1、设计说明
1.设计目的
本次操作系统实验的目的是实现一个类似Windows系统中“我的电脑”功能的文件管理系统。
2.设计要求
在文件管理系统中可以对系统中所有文件进行管理,同时具有创建新文件、删除文件、复制文件、修改文件、创建文件夹等功能。
3.设计环境
VisualC++6.0,Windows7
4.组员
三人一组
其中负责的是:
新建文件模块、删除文件模块;负责的是:
打开文件模块,登陆界面跟主界面;负责的是:
复制粘贴文件模块和修改文件模块。
2、概要设计
本次操作系统实验的目的是实现一个类似Windows系统中“我的电脑”功能的文件管理系统,在此文件系统中可以对系统中所有文件进行管理,同时具有创建新文件、删除文件、复制文件、创建文件夹等功能,所以基于这些要求我们设计了这样一个简单的文件管理系统。
开始先设计一个系统界面,包括几个部分:
首先是导航栏的设计,有文件和编译两个功能。
其中文件有新建(新建文件和文件夹)和退出,编译中有复制、粘贴和删除。
最后是当前信息显示,能够清晰的显示当前目录中的所有文件夹和文件的信息。
当选择其中一个盘块后,就进入这个盘,在当前目录下我们进行以下几个操作:
(1)新建文件夹和文件:
输入想要新建的文件,会出现一个窗口显示新建信息(包括当前属性和新建文件夹名)新建文件夹也同样如此,有一点不同就是有了文件名的类型要自己在文件名后面自己加。
(2)删除文件夹和文件信息:
输入想要删除的文件便可以删除相关文件。
(3)复制粘贴:
输入想要复制的文件名,然后系统会提示是否进行粘贴,选择“是”就可以了。
(4)打开文件:
输入想要打开文件的序号便可以打开相关文件。
(5)修改文件:
输入想要修改的文件或属性便可以修改相关信息。
3、详细设计
1.系统功能图:
2.系统设计:
2.1函数声明:
voidcheck()//密码认证
voidcreatefile()//创建文件操作
voiddeletefile()//删除文件
voidopenfile()//打开文件
voidmodifyfile()//修改文件
voidcopyfile()//复制
voidcatalogue()//目录管理子程序
intinit()//初始化操作界面函数
2.2数据结构说明:
本系统每个用户拥有结构体数组为structFliefa[8]和structFliefg[8],每个用
户最多可建立8个文件,每个文件对应一个文件模块。
文件模块:
structFlie
{
inted;//判断是否正存放文件
charf_name[8];//文件名
charf_c[8];//存放文件内容
intatt;//文件属性0为只读1为只写,用于指向文件内容模块
}fa[8],fg[8];
3.负责的功能模块:
我们的这个系统功能模块共有5个模块,其中我负责的是复制粘贴文件模块和修改文件模块。
3.1主函数如下:
采用的是switch选择函数来进行模块功能的选择。
switch(i)
case1:
//创建文件
case2:
//除文件
case3:
//打开文件
case4:
//修改文件
case5:
//复制、粘贴文件
case6:
//文件目录管理
3.2复制粘贴文件模块:
要进行复制粘贴操作,用户先要选中文件信息执行复制命令,系统将需要复制的文件路径信息保存,然后到达复制文件的目标位置,执行粘贴命令,调用相应函数,先在目标位置创建文件夹,如果同一目录下存在该文件夹,则弹出提示信息,然后将目标文件夹和文件依次复制到目标目录下。
流程图如下:
相关函数和程序体如下:
voidcopyfile()//复制,粘贴文件;
{
inth;
charname[8];
intj;
if(x==1)
{
for(h=0;h { printf("文件名为: %s\n",fa[h].f_name); printf("文件属性: %d\n",fa[h].att); printf("文件内容: %s\n",fa[h].f_c); printf("******************\n"); } printf("请输入需要复制的文件名: "); scanf("%s",name); for(h=0;h { if(strcmp(name,fa[h].f_name)==0) printf("复制文件成功! \n"); if(k<8) { printf("进行粘贴吗? 请选择: 1.YES2.N0T\n"); scanf("%d",&j); if(j==1) { fa[k].att=fa[h].att; fa[k].ed=fa[h].ed; strcpy(fa[k].f_c,fa[h].f_c); strcpy(fa[k].f_name,fa[h].f_name); printf("粘贴成功: \n"); k=k+1; Sleep(1000); for(h=0;h { printf("文件名为: %s\n",fa[h].f_name); printf("文件属性: %d\n",fa[h].att); printf("文件内容: %sn",fa[h].f_c); printf("文件状态: %d\n",fa[h].ed); printf("********************\n"); Sleep(2000); } break; } } } } if(x==2) { for(h=0;h { printf("文件名为: %s\n",fg[h].f_name); printf("文件属性: %d\n",fg[h].att); printf("文件内容: %s\n",fg[h].f_c); printf("******************\n"); } printf("请输入需要复制的文件名: "); scanf("%s",name); for(h=0;h { if(strcmp(name,fg[h].f_name)==0) printf("复制文件成功! \n"); if(k<8) { printf("进行粘贴吗? 请选择: 1.YES2.N0T: 1.YES2.N0T\n"); scanf("%d",&j); if(j==1) { fg[k].att=fg[h].att; fg[k].ed=fg[h].ed; strcpy(fg[k].f_c,fg[h].f_c); strcpy(fg[k].f_name,fg[h].f_name); printf("粘贴成功: \n"); Sleep(1000); k=k+1; for(h=0;h { printf("文件名为: %s\n",fg[h].f_name); printf("文件属性: %d\n",fg[h].att); printf("文件内容: %s\n",fg[h].f_c); printf("文件状态: %d\n",fg[h].ed); printf("********************\n"); Sleep(3000); } break; } } } } } 3.3修改文件: 要修改文件,首先要选定要修改的文件,系统将需要修改的文件路径信息保存,然后到达修改文件的目标位置,执行修改命令,调用相应函数,先在目标位置创建文件夹,如果同一目录下存在该文件夹,则弹出提示信息,然后将目标文件夹和文件依次修改。 流程图如下: 相关函数和程序体如下: voidmodifyfile()//修改文件; { inti,h,j; charname[8],name1[8]; printf("1.修改文件名称\n2.修改文件属性\n"); scanf("%d",&i); if(x==1) { for(h=0;h printf("文件名为: %s\n",fa[h].f_name); printf("文件属性: %d\n",fa[h].att); if(i==1) { printf("请输入要修改的文件名称: "); scanf("%s",name); for(h=0;h { if(strcmp(name,fa[h].f_name)==0) { printf("请输入新的文件名: "); scanf("%s",name1); strcpy(fa[h].f_name,name1); printf("修改成功! "); Sleep(1000); break; } else printf("没找到相应的文件! "); } } if(i==2) { printf("请输入要修改的文件名称: "); scanf("%s",name); for(h=0;h { if(strcmp(name,fa[h].f_name)==0) { Sleep(1000); printf("请选择: 1.只读/2.只写\n"); scanf("%d",&j); if(j==1) fa[h].att=0; else fa[h].att=1; printf("修改成功! "); Sleep(1000); break; } } } } if(x==2) { for(h=0;h printf("文件名为%s\n",fg[h].f_name); printf("文件属性: %d\n",fg[h].att); if(i==1) { printf("请输入要修改的文件名称: "); scanf("%s",name); for(h=0;h { if(strcmp(name,fg[h].f_name)==0) { printf("请输入新的文件名: "); scanf("%s",name1); strcpy(fg[h].f_name,name1); printf("修改成功! "); Sleep(1000); break; } else printf("没找到相应的文件! "); } } if(i==2) { printf("请输入要修改的文件名称: "); scanf("%s",name); for(h=0;h { if(strcmp(name,fg[h].f_name)==0) { printf("请选择: 1.只读/2.只写\n"); scanf("%d",&j); if(j==1) fg[h].att=0; else fg[h].att=1; printf("修改成功! "); Sleep(1000); break; } else printf("没找到相应的文件! "); } } } } 4、功能的调试和相关的截图: 1.登陆界面截图: 2.主界面截图: 3.复制和粘贴截图: 以上为截图,调试的过程中总是不可能一帆风顺的,总是会遇到这样和那样的问题,比如程序的不正确性,或者相关的数据结构没有达到要求,没有实现相关的的功能。 但是对着流程图的修改会让修改工作进行的更顺利些。 5、心得体会和总结: 在这次课设中,收获有很多方面,对操作系统的理解加深了,以前只是单纯的认为就是实现对资源的分配的一个软件。 但是经过这次课设之后,发现操作系统不仅是资源管理,在相互竞争的程序之间有序地控制对处理器、存储器以及其他I/O接口设备的分配,更是为计算机系统功能扩展提供了支撑平台,使硬件系统与应用软件产生了相对独立性。 在进行编程之前,首先是对系统的功能模块的一些确定,最终确定了五大主要功能模块: 新建文件模块、删除文件模块、复制粘贴文件模块、打开文件模块和修改文件模块。 另外还有目录管理和注销模块。 当然目录管理和注销模块没有进行相关的测试,只测试了五大主要模块,因而这个系统不能说是完善的,有待于完善。 接下来是对各个模块功能的需求的分析。 功能的需求最重要的应该是为了让用户使用方便,因而能让用户使着实在方便才是首要考虑的问题。 接下来便是系统的性能考虑了,必须能够让它适用于操作系统本身,否则将会因为和系统的不适应导致管理系统老是出错,给客户带来麻烦和损失。 6、参考文献: (1)汤子瀛,汤小丹《计算机操作系统》西安电子科技大学出版社; (2)张大治,王辉《VisualC#程序设计》清华大学出版社; (3) 7、程序附录: #include #include #include #include #include structFlie { inted;//判断是否正存放文件 charf_name[8];//文件名 charf_c[8];//存放文件内容 intatt;//文件属性0为只读1为只写,用于指向文件内容模块 }fa[8],fg[8]; intx,k=0;//全局钥匙 voidcheck()//密码认证 { intcheck,a=1; charpin1[]="admin";//此处设定用户口令 charpin[20]; while(a) { printf("文件管理系统用户登录\n"); printf("________________________________________________________________________________\n"); printf("用户登陆\n\n\n"); printf("1.管理员\n"); printf("2.用户\n"); printf("3.退出系统\n\n\n"); printf("________________________________________________________________________________\n"); printf("请输入(1-3)"); scanf("%d",&x); getchar(); if(x==3) { system("cls"); break; } printf("请输入密码: "); scanf("%s",pin); check=strcmp(pin,pin1); if(check! =0) { system("cls"); printf("\n密码错误! 请重新输入: \n"); } else { system("cls"); a=0; } } } voidcreatefile()//创建文件操作 { inthandle=1,a,check,i,j,h; charname[8],pin[8],f_c[8]; while (1) { printf("温馨提示,暂时创建的文件不能超过8个文件! ! ! ! ! \n"); printf("创建文件\n"); printf("_______________________________________________________________________________\n\n"); printf("请输入所要创建的文件名称: \n"); scanf("%s",name); if(x==1) { for(i=0;i<8;i++) { for(h
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 简单 文件 管理 系统 设计 实现 课程设计 讲解