1、数据库简单文件管理系统的设计及实现课程设计讲解 课程设计(论文)任务书 学院 计算机科学与技术 专业 班 一、课程设计(论文)题目 简单文件管理系统的设计及实现 二、课程设计(论文)工作自 2013 年 12 月 30 日起至 2014 年 1 月 3 日止。三、课程设计(论文) 地点: _5#204 _ 四、课程设计(论文)内容要求:1本课程设计的目的(1)掌握使用进行文件管理设计的基本思想和方法;(2)提高运用文件管理理论解决实际问题的能力; (3)了解文件管理开发的基本知识,熟悉一门数据库开发工具; (4)培养学生调查研究、查阅技术文献、分析和解决问题的能力; (5)提高学生的科技论文写
2、作能力。 2课程设计的任务及要求1)基本要求:(1)进行简单文件管理系统设计的基本思想和方法的学习与研究;(2)进行简单文件管理系统开发技能的学习;(3)提出简单文件管理系统的设计方案;(4)对系统进行调试,得出实现效果。2)创新要求: 在基本要求达到后,可进行创新设计,如改善算法性能;友好的人机界面等。3)课程设计论文编写要求(1)要按照书稿的规格打印与写课程设计论文;(2)论文包括目录、功能描述、设计思路、具体实现、运行调试与分析讨 论、设计体会与小结、参考文献、附录等;(3)课程设计论文装订按学校的统一要求完成。4)答辩与评分标准: (1)考勤与学习态度:20分; (2)设计思路:20分
3、; (3)代码实现:20分;(4)调试与分析:20分;(5)回答问题:10分;(6)论文规范性:10分。5)参考文献:(1)汤子瀛,汤小丹计算机操作系统西安电子科技大学出版社;(2)张大治,王辉Visual C#程序设计清华大学出版社;(3) 6)课程设计进度安排内容 天数地点构思及收集资料 2图书馆 组装与调试 5实验室 撰写论文 3图书馆、实验室 学生签名:_杜宝宝_2014 年 1 月 3 日课程设计(论文)评审意见(1)完成原理分析(20分):优()、良()、中()、一般()、差(); (2)设计分析(30分):优()、良()、中()、一般()、差(); (3)完成调试(30分):优(
4、)、良()、中()、一般()、差();(4)回答问题(20分):优()、良()、中()、一般()、差();(5)格式规范性及考勤是否降等级:是()、否() 评阅人: 职称: 讲师 1.绪论42.设计说明53.概要设计54.详细设计6 4.1系统功能图6 4.2系统设计6 4.3负责的功能模块75.功能的调试和相关截图106.心得体会和总结127.参考文献128.程序附录13 绪论在计算机的所有资源中,其中文件系统资源的管理尤其重要。文件系统作为一个统一的信息管理机制,应具有下述功能: (1) 统一管理文件存储空间(即外存),实施存储空间的分配与回收。即在用户创建新文件时为其分配空闲区,而在用户
5、删除或修改某个文件时,回收和调整存储区。 (2) 确定文件信息的存放位置及存放形式。 (3) 实现文件从名字空间到外存地址空间的映射,实现文件的按名存取。即文件有一个用户可见的逻辑结构,用户按照文件逻辑结构所给定的方式进行信息的存取和加工,并且这种逻辑结构是独立于物理存储设备的,从而使用户不必了解文件存放的物理结构和查找方法等与存取介质有关的部分,只需给定一个代表某一文件的文件名,文件系统就会自动地完成对与给定文件名相对应文件的有关操作。 (4) 有效实现对文件的各种控制操作(如建立、撤销、打开、关闭文件等)和存取操作(如读、写、修改、复制、转储等)。 (5) 实现文件信息的共享,并且提供可靠
6、的文件保密和保护措施。因而,我们必须为操作系统设置一个文件管理系统来实现对文件资源的全方位管理,使得文件资源得到合理的应用。好的文件管理系统可以让我们合理的管理我们的文档和自己独有的资料,省去我们对资源进行从头到尾梳理的麻烦,是一种有效的管理工具。1、设计说明1. 设计目的本次操作系统实验的目的是实现一个类似Windows系统中“我的电脑”功能的文件管理系统。2. 设计要求在文件管理系统中可以对系统中所有文件进行管理,同时具有创建新文件、删除文件、复制文件、修改文件、创建文件夹等功能。3. 设计环境 Visual C+6.0,Windows 74. 组员三人一组其中负责的是:新建文件模块、删除
7、文件模块;负责的是:打开文件模块,登陆界面跟主界面;负责的是:复制粘贴文件模块和修改文件模块。2、概要设计本次操作系统实验的目的是实现一个类似Windows系统中“我的电脑”功能的文件管理系统,在此文件系统中可以对系统中所有文件进行管理,同时具有创建新文件、删除文件、复制文件、创建文件夹等功能,所以基于这些要求我们设计了这样一个简单的文件管理系统。开始先设计一个系统界面,包括几个部分:首先是导航栏的设计,有文件和编译两个功能。其中文件有新建(新建文件和文件夹)和退出,编译中有复制、粘贴和删除。最后是当前信息显示,能够清晰的显示当前目录中的所有文件夹和文件的信息。当选择其中一个盘块后,就进入这个
8、盘,在当前目录下我们进行以下几个操作:(1)新建文件夹和文件:输入想要新建的文件,会出现一个窗口显示新建信息(包括当前属性和新建文件夹名)新建文件夹也同样如此,有一点不同就是有了文件名的类型要自己在文件名后面自己加。(2)删除文件夹和文件信息:输入想要删除的文件便可以删除相关文件。(3)复制粘贴:输入想要复制的文件名,然后系统会提示是否进行粘贴,选择“是”就可以了。 (4)打开文件:输入想要打开文件的序号便可以打开相关文件。 (5)修改文件:输入想要修改的文件或属性便可以修改相关信息。3、详细设计1.系统功能图:2.系统设计: 2.1函数声明: void check() /密码认证 void
9、createfile() /创建文件操作 void deletefile() /删除文件 void openfile() /打开文件 void modifyfile() /修改文件 void copyfile() /复制 void catalogue() /目录管理子程序 int init() /初始化操作界面函数 2.2数据结构说明: 本系统每个用户拥有结构体数组为struct Flie fa8和 struct Flie fg8,每个用 户最多可建立8个文件,每个文件对应一个文件模块。 文件模块: struct Flie int ed; /判断是否正存放文件 char f_name8; /文
10、件名 char f_c8; /存放文件内容 int att ; / 文件属性 0为只读 1为只写 ,用于 指向文件内容模块 fa8,fg8; 3.负责的功能模块:我们的这个系统功能模块共有5个模块,其中我负责的是复制粘贴文件模块和修改文件模块。 3.1主函数如下: 采用的是switch选择函数来进行模块功能的选择。 switch(i) case 1: /创建文件 case 2: /除文件 case 3: /打开文件 case 4: /修改文件 case 5: /复制、粘贴文件 case 6: /文件目录管理3.2复制粘贴文件模块: 要进行复制粘贴操作,用户先要选中文件信息执行复制命令,系统将需
11、要复制的文件路径信息保存,然后到达复制文件的目标位置,执行粘贴命令,调用相应函数,先在目标位置创建文件夹,如果同一目录下存在该文件夹,则弹出提示信息,然后将目标文件夹和文件依次复制到目标目录下。流程图如下:相关函数和程序体如下:void copyfile() /复制,粘贴文件; int h; char name8; int j; if(x=1) for(h=0;hk;h+) printf(文件名为:%sn,fah.f_name); printf(文件属性:%dn,fah.att); printf(文件内容:%sn,fah.f_c); printf(*n); printf(请输入需要复制的文件名
12、:); scanf(%s,name); for(h=0;hk;h+) if(strcmp(name,fah.f_name)=0) printf(复制文件成功!n); if(k8) printf(进行粘贴吗?请选择:1.YES 2.N0Tn); scanf(%d,&j); if(j=1) fak.att=fah.att; fak.ed=fah.ed; strcpy(fak.f_c,fah.f_c); strcpy(fak.f_name,fah.f_name); printf(粘贴成功:n); k=k+1; Sleep(1000); for(h=0;hk;h+) printf(文件名为:%sn,f
13、ah.f_name); printf(文件属性:%dn,fah.att); printf(文件内容:%sn,fah.f_c); printf(文件状态:%dn,fah.ed); printf(*n); Sleep(2000); break; if(x=2) for(h=0;hk;h+) printf(文件名为:%sn,fgh.f_name); printf(文件属性:%dn,fgh.att); printf(文件内容:%sn,fgh.f_c); printf(*n); printf(请输入需要复制的文件名:); scanf(%s,name); for(h=0;hk;h+) if(strcmp(
14、name,fgh.f_name)=0) printf(复制文件成功!n); if(k8) printf(进行粘贴吗?请选择:1.YES 2.N0T:1.YES 2.N0Tn); scanf(%d,&j); if(j=1) fgk.att=fgh.att; fgk.ed=fgh.ed; strcpy(fgk.f_c,fgh.f_c); strcpy(fgk.f_name,fgh.f_name); printf(粘贴成功:n); Sleep(1000); k=k+1; for(h=0;hk;h+) printf(文件名为:%sn,fgh.f_name); printf(文件属性:%dn,fgh.a
15、tt); printf(文件内容:%sn,fgh.f_c); printf(文件状态:%dn,fgh.ed); printf(*n); Sleep(3000); break; 3.3修改文件:要修改文件,首先要选定要修改的文件,系统将需要修改的文件路径信息保存,然后到达修改文件的目标位置,执行修改命令,调用相应函数,先在目标位置创建文件夹,如果同一目录下存在该文件夹,则弹出提示信息,然后将目标文件夹和文件依次修改。流程图如下:相关函数和程序体如下:void modifyfile() /修改文件; int i,h,j; char name8,name18; printf(1.修改文件名称n2.修
16、改文件属性n); scanf(%d,&i); if(x=1) for(h=0;hk;h+) printf(文件名为:%sn,fah.f_name); printf(文件属性:%dn,fah.att); if(i=1) printf(请输入要修改的文件名称:); scanf(%s,name); for(h=0;hk;h+) if(strcmp(name,fah.f_name)=0) printf(请输入新的文件名:); scanf(%s,name1); strcpy(fah.f_name,name1); printf(修改成功!); Sleep(1000); break; else printf
17、(没找到相应的文件!); if(i=2) printf(请输入要修改的文件名称:); scanf(%s,name); for(h=0;hk;h+) if(strcmp(name,fah.f_name)=0) Sleep(1000); printf(请选择:1.只读/2.只写n); scanf(%d,&j); if(j=1) fah.att=0; else fah.att =1; printf(修改成功!); Sleep(1000); break; if(x=2) for(h=0;hk;h+) printf(文件名为%sn,fgh.f_name); printf(文件属性:%dn,fgh.att
18、); if(i=1) printf(请输入要修改的文件名称:); scanf(%s,name); for(h=0;hk;h+) if(strcmp(name,fgh.f_name)=0) printf(请输入新的文件名:); scanf(%s,name1); strcpy(fgh.f_name,name1); printf(修改成功!); Sleep(1000); break; else printf(没找到相应的文件!); if(i=2) printf(请输入要修改的文件名称:); scanf(%s,name); for(h=0;hk;h+) if(strcmp(name,fgh.f_nam
19、e)=0) printf(请选择:1.只读/2.只写n); scanf(%d,&j); if(j=1) fgh.att=0; else fgh.att =1; printf(修改成功!); Sleep(1000); break; else printf(没找到相应的文件!); 4、功能的调试和相关的截图:1.登陆界面截图: 2.主界面截图: 3.复制和粘贴截图: 以上为截图,调试的过程中总是不可能一帆风顺的,总是会遇到这样和那样的问题,比如程序的不正确性,或者相关的数据结构没有达到要求,没有实现相关的的功能。但是对着流程图的修改会让修改工作进行的更顺利些。5、心得体会和总结: 在这次课设中,收
20、获有很多方面,对操作系统的理解加深了,以前只是单纯的认为就是实现对资源的分配的一个软件。但是经过这次课设之后,发现操作系统不仅是资源管理,在相互竞争的程序之间有序地控制对处理器、存储器以及其他I/O接口设备的分配 ,更是为计算机系统功能扩展提供了支撑平台,使硬件系统与应用软件产生了相对独立性。在进行编程之前,首先是对系统的功能模块的一些确定,最终确定了五大主要功能模块:新建文件模块、删除文件模块、复制粘贴文件模块、打开文件模块和修改文件模块。另外还有目录管理和注销模块。当然目录管理和注销模块没有进行相关的测试,只测试了五大主要模块,因而这个系统不能说是完善的,有待于完善。接下来是对各个模块功能
21、的需求的分析。功能的需求最重要的应该是为了让用户使用方便,因而能让用户使着实在方便才是首要考虑的问题。接下来便是系统的性能考虑了,必须能够让它适用于操作系统本身,否则将会因为和系统的不适应导致管理系统老是出错,给客户带来麻烦和损失。6、参考文献:(1)汤子瀛,汤小丹计算机操作系统西安电子科技大学出版社;(2)张大治,王辉Visual C#程序设计清华大学出版社;(3) 7、程序附录:#include #include /不容易归类的标准函数库#include #include #include struct Flie int ed; /判断是否正存放文件 char f_name8; /文件名
22、char f_c8; /存放文件内容 int att ; / 文件属性0为只读 1为只写 ,用于指向文件内容模块fa8,fg8;int x,k=0; /全局钥匙void check() /密码认证 int check,a=1; char pin1=admin; /此处设定用户口令 char pin20; while(a) printf( 文件管理系统用户登录 n); printf(_n); printf( 用户登陆nnn); printf( 1.管理员n); printf( 2.用户n); printf( 3.退出系统nnn); printf(_n); printf(请输入(1-3); sca
23、nf(%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; void createfile() /创建文件操作 int handle=1,a,check,i,j,h; char name8,pin8,f_c8; while(1) printf(温馨提示,暂时创建的文件不能超过8个文件!n); printf( 创建文件n); printf(_nn); printf(请输入所要创建的文件名称:n); scanf(%s,name); if(x=1) for( i=0;i8;i+) for(h
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1