二级文件管理课程设计
- 格式:doc
- 大小:208.00 KB
- 文档页数:17
一、课程基本信息1. 课程名称:2. 课程代码:3. 学分:4. 学时:5. 授课对象:6. 授课学期:7. 授课教师:8. 课程简介:简要介绍课程的目的、意义、主要内容和学习目标。
二、课程目标1. 知识目标:- 使学生掌握本课程的基本理论、基本知识和基本技能;- 了解相关领域的最新发展动态。
2. 能力目标:- 培养学生的实际操作能力,提高学生解决实际问题的能力; - 培养学生的创新思维和团队协作能力。
3. 素质目标:- 培养学生的职业道德和社会责任感;- 培养学生的沟通能力、表达能力、组织协调能力和领导能力。
三、课程内容与教学方法1. 课程内容:- 第一章:绪论- 第二章:基础知识- 第三章:核心内容- 第四章:案例分析- 第五章:实践操作2. 教学方法:- 讲授法:系统讲解课程内容,帮助学生掌握基本理论;- 案例分析法:通过分析典型案例,提高学生解决实际问题的能力;- 实践操作法:组织学生进行实际操作,培养学生的动手能力和创新能力;- 小组讨论法:鼓励学生积极参与讨论,提高学生的表达能力和团队协作能力; - 网络教学:利用网络资源,拓宽学生的知识面,提高学生的学习兴趣。
四、教学进度安排1. 第一章:2学时2. 第二章:4学时3. 第三章:6学时4. 第四章:4学时5. 第五章:4学时6. 期末总结:2学时五、考核方式1. 平时成绩(40%):- 课堂表现(20%):积极参与课堂讨论,提出有价值的问题;- 作业完成情况(20%):按时完成作业,作业质量较高。
2. 期末成绩(60%):- 期末考试(60%):考察学生对课程知识的掌握程度;- 实践操作考核(20%):考察学生的动手能力和创新能力。
六、教学资源1. 教材:选用权威、经典的教材,确保教学内容的质量;2. 课件:制作高质量的课件,提高教学效果;3. 网络资源:充分利用网络资源,拓宽学生的知识面;4. 实践基地:为学生提供实际操作的机会,提高学生的实践能力。
课程设计报告(本科)课程:高级语言程序设计学号:姓名:班级:2011级计算机软件1班教师:时间:2011.12计算机科学与技术系C语言程序代码附录:#include "stdio.h"#include "stdlib.h"#define N 40 /* 宏定义*/int main() /* 主函数*/{void dir();void rename();void del();void move();void copy(); /* 函数声明*/int a;for(;a!=0;) /*死循环,如果用户输入的不是0执行循环*/{printf("\n\n\n");printf("\t\t********************************************\n"); /*屏幕上显示主界面*/printf("\t\t** 欢迎使用文件管理系统 **\n");printf("\t\t********************************************\n");printf("\t\t**\t1.查看文件(只适用文本文件) **\n");printf("\t\t**\t2.重命名文件 **\n");printf("\t\t**\t3.删除文件 **\n");printf("\t\t**\t4.移动文件 **\n");printf("\t\t**\t5.复制文件 **\n");printf("\t\t**\t0.退出系统 **\n");printf("\t\t********************************************\n");printf("\t\t请选择要进行的操作(按enter键执行!):"); /*提示用户输入*/scanf("%d",&a); /*接受用户输入*/switch(a){case 1: dir(); break; /*如果用户输入1调用dir()函数查看文件*/case 2: rename(); break; /*如果用户输入2调用rename()函数-文件*/case 3: del(); break; /*如果用户输入3调用del()函数-删除文件*/case 4: move(); break; /*如果用户输入4调用move()函数-移动文件*/case 5: copy(); break; /*如果用户输入5调用copy()函数-复制文件*/case 0: printf("\t\t谢谢使用!!\n");break; /*如果用户输入0 ,结束循环!退出程序*/default: {printf("输入有误,自动结束!\n");a=0;} /*如果用户输入有误,将0赋给a结束循环*/}}return 0;}void dir() /*dir()函数*/{int a; /*定义变量a,接收用户的操作选择*/for(;a!=0;) /*死循环*/{FILE *fp; /*定义文件指针*/char ch,filename[N];printf("请输入要查看的文本文件(如d:\\1.txt):");/*提示用户输入*/scanf("%s",filename);if((fp=fopen(filename,"r"))==NULL) printf("无法找到该文件!\n");/*打开文件操作*/else{ch=fgetc(fp); /*将fp文件的字符赋给ch*/while(ch!=EOF) /*循环直到遇到文件结束标识符结束*/{putchar(ch); /*将字符ch输出到屏幕上*/ch=fgetc(fp); /*将fp文件的下一个字符赋给ch*/}}fclose(fp); /*关闭文件*/printf("\n\n\t1.继续。
二级分类主题课程设计一、课程目标知识目标:1. 学生能理解并掌握学科二级分类的基本概念,建立与一级分类的知识联系。
2. 学生能够准确识别并描述课程内容中涉及的各个二级分类主题的特点和关联性。
3. 学生能够通过实例分析,总结出二级分类主题的知识规律,形成系统的知识结构。
技能目标:1. 培养学生运用分类思维分析问题的能力,提高解决问题的效率。
2. 学生能够运用所学知识,对给定案例进行合理的二级分类,并能提出自己的见解。
3. 通过小组合作,培养学生沟通、协作和共同解决问题的能力。
情感态度价值观目标:1. 激发学生对学科知识的兴趣,培养积极主动学习的态度。
2. 培养学生尊重事实、客观评价的科学精神,形成求真务实的价值观。
3. 引导学生关注社会现象,提高社会责任感,认识到知识对社会发展的积极作用。
课程性质:本课程为学科二级分类主题课程,旨在帮助学生建立系统知识结构,提高问题分析和解决能力。
学生特点:学生已具备一定的一级分类知识基础,具备初步的分析和解决问题的能力,但对二级分类知识掌握不足,需要通过本课程进行拓展和深化。
教学要求:教师需运用多样化的教学方法,如案例分析、小组讨论等,引导学生主动探究,提高课程参与度。
同时,注重过程性评价,关注学生在知识、技能和情感态度价值观方面的具体表现,确保课程目标的达成。
二、教学内容本课程依据课程目标,结合课本第四章“分类与归纳”的内容,组织以下教学大纲:1. 引言:回顾一级分类的知识,引出二级分类的重要性。
- 知识回顾:一级分类的定义及方法。
- 案例导入:生活中的二级分类现象。
2. 二级分类的基本概念与原则。
- 教材章节:第四章第一节“分类的方法与原则”。
- 内容列举:包括相似性原则、差异性原则等。
3. 二级分类的方法与应用。
- 教材章节:第四章第二节“分类的应用”。
- 内容列举:案例分析、实际操作等。
4. 二级分类的知识拓展。
- 教材章节:第四章第三节“分类的拓展与深化”。
操作系统课程设计报告概述:本课程设计旨在使学生熟悉文件管理系统的设计方法,加深对所学各种文件操作的了解及其操作方法的特点。
通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识,加深对教材中的重要算法的理解。
同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力。
主要任务:本课程设计的主要任务是设计和实现一个简单的文件系统,包括建立文件存储介质的管理机制、建立目录(采用一级目录结构)、文件系统功能(显示目录、创建、删除、打开、关闭、读、写)和文件操作接口(显示目录、创建、删除、打开、关闭、读、写)。
系统设计:本系统模拟一个文件管理系统,要完成对文件的基本操作,包括文件、文件夹的打开、新建、删除和读取写入文件,创建更改目录,列出目录内容等信息。
系统建立了文件目录树,存储文件系统中的所有文件。
对于用户名下的文件,用文件目录树的分支来存储。
采用命令行操作界面很直观,也方便用户进行操作,用户只要按照操作界面所显示的命令来操作即可。
整体设计框架:系统初始化界面由创建用户存储空间、管理文件、退出系统三个模块组成。
用户创建由创建用户存储空间、进入目录、删除用户存储空间、显示所有用户存储空间等模块组成。
然后各个模块再由一些小模块组成。
其中创建文件、打开关闭文件、读写文件等文件操作模块包括在进入目录模块里面。
系统实现:以下是本课程设计的主要内容的实现程序代码:cincludeincludeincludetypedef struct file{ char name[10];struct file *next; File;typedef struct content{ char name[10];File *file;int f_num;struct content *next; Content;typedef struct user{ char name[10];char psw[10]; Content *con;struct user *next; User;char cur_user[20];XXX;int user_num=0;添加文件:在该函数中,我们首先需要获取文件名,然后检查是否已经存在该文件。
计算机系课程设计实验报告课程名称操作系统课程设计实验学期 2012 至 2013 学年第 1 学期学生所在系部计算机与信息管理系年级 2010 专业班级计算机001班学生姓名学号任课教师实验成绩计算机系制一个简单的文件系统的详细设计一、实验目的(1)阅读并调试一个简单的文件系统,模拟文件管理的工作过程。
从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。
(2)了解设计一个n个用户的文件系统,每个用户可以保存M个文件。
用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有create、delete、open、close、read、write等命令。
二、实验要求1、阅读所给文件系统源程序,并加注释(注释量达60%),2、修改、完善该系统,画出所设计的文件系统的详细流程图。
三、文件系统功能设计1. 功能设计该文件系统是一个多用户、多任务的文件系统。
对用户和用户的文件数目并没有上限。
也就是说该系统允许任何用户申请空间,而且在其目录下的文件数目并不做任何的限制。
该系统可以支持的操作命令如下:①bye——用户注销命令。
当使用该命令时,用户退出系统,注销该用户功能设计并回到登陆界面。
命令格式:bye②close——删除用户注册信息命令。
执行该命令后,用户在系统中的所有信息,包括该用户目录下的所有文件都被删除。
命令执行完成后返回登陆界面。
命令格式:close③create——在当前目录下创建一个文件,且该文件不能跟当前已有的文件重名。
该文件的管理信息登记在用户文件信息管理模块中。
执行完该命令后回到执行命令行。
命令格式:create>file1其中:“>”符为提示符,file1为要创建的文件名。
④delete——删除当前用户目录下的一个文件,命令执行完毕返回至命令行。
命令格式:delete>file1其中:file1为要删除的文件名。
⑤list——显示当前注册目录下的所有文件信息,包括文件名、文件长度、文件操作权限。
vb课程设计文件管理器一、教学目标本节课的学习目标包括以下三个方面:1.知识目标:学生需要掌握VB课程设计文件管理器的基本概念、功能和操作方法。
2.技能目标:学生能够运用VB编程语言实现文件管理器的功能,如创建、删除、移动、复制文件等。
3.情感态度价值观目标:学生通过完成文件管理器的设计与实现,培养编程兴趣,提高自主学习能力,培养团队协作意识。
二、教学内容本节课的教学内容主要包括以下几个部分:1.VB课程设计文件管理器的基本概念和功能介绍。
2.VB编程语言的基本语法和常用控件介绍。
3.文件管理器的具体设计与实现,包括界面设计、事件处理、文件操作等。
4.学生分组实践,完成文件管理器的设计与实现。
三、教学方法为了实现本节课的教学目标,我们将采用以下几种教学方法:1.讲授法:教师讲解VB课程设计文件管理器的基本概念、功能和操作方法。
2.案例分析法:分析典型的文件管理器案例,引导学生掌握文件管理器的实现思路。
3.实验法:学生分组实践,完成文件管理器的设计与实现。
4.讨论法:学生在课堂上互相交流、讨论,解决遇到的问题。
四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《VB编程基础》2.参考书:《VB编程实例解析》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、网络环境五、教学评估本节课的教学评估将采用以下几种方式:1.平时表现:观察学生在课堂上的参与程度、提问回答等情况,了解学生的学习态度和兴趣。
2.作业:布置相关的编程练习题,评估学生对VB课程设计文件管理器的理解和掌握程度。
3.考试:期末进行课程考试,全面测试学生对VB课程设计文件管理器的知识、技能和应用能力。
评估方式应客观、公正,能够全面反映学生的学习成果。
教师应及时给予反馈,帮助学生提高。
六、教学安排本节课的教学安排如下:1.教学进度:按照教材的章节顺序,逐步讲解VB课程设计文件管理器的知识点。
2.教学时间:每节课45分钟,共15周,每周一节。
文件管理linux课程设计一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握Linux操作系统的基本概念、文件管理的原理和常用命令。
技能目标要求学生能够熟练使用Linux命令行进行文件管理,包括文件创建、删除、移动、复制、权限设置等操作。
情感态度价值观目标要求学生培养对计算机科学的兴趣,提高自主学习和解决问题的能力。
通过本课程的学习,学生将了解Linux操作系统的特点和应用场景,掌握文件管理的基本原理和常用命令,培养良好的计算机操作习惯和自主学习能力。
二、教学内容本课程的教学内容主要包括Linux操作系统的基本概念、文件管理的原理和常用命令。
首先,介绍Linux操作系统的发展历程、特点和应用场景,使学生对Linux有一定的了解。
然后,讲解文件管理的基本原理,包括文件系统的结构、文件权限和文件属性等。
接着,介绍常用文件管理命令,如创建、删除、移动、复制、权限设置等,并通过实际操作演示这些命令的使用方法。
教学内容将按照以下大纲进行安排:1.Linux操作系统简介2.文件系统结构3.文件权限和属性4.常用文件管理命令5.文件操作实战演练三、教学方法本课程将采用讲授法、讨论法、案例分析法和实验法等多种教学方法。
首先,通过讲授法向学生传授Linux操作系统的基本概念和文件管理的原理。
然后,通过讨论法引导学生进行思考和交流,提高学生对文件管理命令的理解和应用能力。
接着,通过案例分析法分析实际问题,让学生学会如何运用文件管理命令解决问题。
最后,通过实验法让学生亲自动手操作,巩固所学知识,提高实际操作能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
教材将提供Linux操作系统的基本概念和文件管理的原理,参考书将提供更深入的知识和实用技巧。
多媒体资料将包括PPT演示和视频教程,帮助学生更好地理解和掌握知识。
实验设备将用于让学生亲自动手操作,提高实际操作能力。
文件系统演示课程设计一、课程目标知识目标:1. 让学生了解文件系统的基本概念,掌握文件的组织、存储和检索方式。
2. 使学生掌握不同类型的文件系统,如FAT32、NTFS等,以及它们的特点和适用场景。
3. 引导学生了解文件系统的安全性和权限设置,学会合理分配文件权限。
技能目标:1. 培养学生运用文件系统进行数据存储、管理和检索的能力。
2. 培养学生利用文件系统进行资源组织、共享和协作的能力。
3. 提高学生解决文件系统相关问题的能力,如文件丢失、磁盘空间不足等。
情感态度价值观目标:1. 培养学生对计算机科学技术的兴趣和求知欲,激发他们探索文件系统奥秘的热情。
2. 培养学生具有良好的信息素养,尊重知识产权,遵循法律法规,合理使用文件系统。
3. 培养学生具备团队协作精神,学会在文件系统管理和使用过程中与他人沟通、分享和合作。
课程性质:本课程为计算机科学与技术领域的基础课程,旨在帮助学生建立文件系统知识体系,提高实际操作能力。
学生特点:学生具备一定的计算机操作基础,对文件系统有初步了解,但缺乏系统深入的认识。
教学要求:结合学生特点,注重理论与实践相结合,以案例驱动、任务导向的教学方法,引导学生主动探究,提高综合运用能力。
通过本课程的学习,使学生在知识、技能和情感态度价值观方面均取得具体的学习成果。
二、教学内容1. 文件系统基本概念:文件、目录、磁盘空间分配、文件存储结构。
2. 文件系统的类型:FAT32、NTFS、EXT4等,以及它们的优缺点和适用场景。
3. 文件操作与管理:创建、删除、复制、移动、重命名文件和文件夹;文件属性和权限设置。
4. 文件系统的性能与优化:磁盘碎片整理、文件压缩、磁盘配额。
5. 文件系统安全与保护:访问控制、加密、备份与恢复。
6. 文件系统故障处理:文件丢失、磁盘损坏、系统错误等常见问题的解决方法。
教学内容安排与进度:第一课时:文件系统基本概念及类型介绍。
第二课时:文件操作与管理,如创建、删除、复制、移动文件和文件夹。
桌面文档整理课程设计思路一、课程目标知识目标:1. 学生能理解电脑文件管理的概念,掌握基本的桌面文档整理方法。
2. 学生能够运用所学知识,合理分类和命名文件,提高文件检索效率。
3. 学生了解电脑文件系统的基本结构,明白文件存储的规范和安全性。
技能目标:1. 学生能够熟练使用文件资源管理器,进行新建、删除、移动、复制等基本操作。
2. 学生掌握快捷方式创建、桌面图标排列等个性化设置方法,提高操作电脑的便捷性。
3. 学生通过实践操作,提升自己在日常生活中管理电子文档的实际应用能力。
情感态度价值观目标:1. 学生培养良好的电子文件管理习惯,提高工作和学习效率。
2. 学生认识到电子文档管理在个人隐私保护、信息安全等方面的重要性,增强网络安全意识。
3. 学生通过课程学习,激发对信息技术的兴趣,培养主动学习和探究的精神。
课程性质分析:本课程为信息技术课程,针对学生日常生活和学习中的实际问题,教授实用的电脑文档整理技巧。
学生特点分析:考虑到学生所在年级,具备一定的电脑操作基础,但可能在文件管理方面缺乏系统学习和规范操作。
教学要求:1. 结合学生实际情况,设计贴近生活的实例,激发学生学习兴趣。
2. 教学过程中注重实践操作,让学生在实际操作中掌握知识,提高技能。
3. 关注学生个体差异,提供个性化指导,确保每位学生都能达到课程目标。
二、教学内容1. 文件管理基础知识:介绍电脑文件系统的基本结构,文件与文件夹的概念,以及文件命名规则。
- 教材章节:第一章 认识电脑文件系统2. 文件操作基本技能:教授如何使用文件资源管理器进行新建、删除、移动、复制等基本操作。
- 教材章节:第二章 文件操作技巧3. 文件分类与整理:讲解如何合理分类文件,高效命名,以及使用文件夹进行整理。
- 教材章节:第三章 文件分类与整理4. 桌面整理与个性化设置:教授如何整理桌面图标,创建快捷方式,以及个性化桌面布局。
- 教材章节:第四章 桌面整理与个性化设置5. 文件安全与隐私保护:强调文件管理中的安全意识,介绍如何设置文件权限,保护个人隐私。
文书工作与档案管理课程设计概述文书工作和档案管理是现代办公室管理的重要组成部分。
本课程旨在通过理论学习和实践操作,帮助学生掌握文书工作和档案管理的相关知识和技能,提高其办公室管理能力。
课程目标1.理解文书工作和档案管理的基础知识和理论;2.能够准确完成各种文书的书写和编辑;3.掌握档案管理的基本流程和方法;4.能够实际操作档案管理系统,有效管理档案;5.提高学生的文书处理能力和档案管理能力。
课程大纲第一章:文书工作基础知识1.文书工作概述2.文书工作的基本原则3.文件的分类和命名规则4.文书书写规范5.文书样式及排版6.电子文书的处理与管理第二章:文书编辑技巧1.文书编辑的基本方法2.文书的格式及样式3.文章的结构及编辑技巧4.常用的表格排版处理技巧5.不同文书的编辑规范第三章:档案管理基础知识1.档案管理概述2.档案管理的基本原则3.档案分类和归档原则4.档案存储与保护5.档案的检索与利用第四章:档案管理实际操作1.档案管理工具与设施使用2.档案目录的编制和建立3.档案电子化管理系统使用4.档案资料的归档处理方法5.档案查询和检索方法教学方法本课程采取理论与实践相结合的方式,包括讲授、示范、实验、案例分析等多种教学方法。
通过课堂讲解、课外练习和实际操作,提高学生的学习兴趣和实际应用能力。
教材与参考书目教材1.《文书工作实务》2.《办公文员实用技能指南》3.《档案管理手册》参考书目1.《办公室文书写作技能》2.《文明办公》3.《电子档案管理》4.《档案数字化管理思想与方法》评估方式1.平时表现(出勤率,作业、考勤等)2.实践操作成果评估3.期末考试总结文书工作和档案管理是现代办公室管理的重要组成部分,是保证政府、企事业单位正常运转的关键。
本课程通过理论学习和实践操作,旨在帮助学生掌握相关知识和技能,提高其办公室管理能力。
希望本课程能够为学生日后的工作提供帮助。
操作系统二级文件管理课程设计
课程设计名称: 二级文件管理系统 专 业班 级 : 学 生姓 名 : 学 号 指 导 老 师 :
一、 设计目的
通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。 二、设计内容 为linux系统设计一个简单的二级文件系统。要求做到以下几点: (1)可以实现下列几条命令(至少4条);
login 用户登陆 dir 列文件目录 create 创建文件 delete 删除文件 open 打开文件 close 关闭文件 read 读文件 write 写文件 rename 重命名 (2)列目录时要列出文件名、物理地址、保护码和文件长度; (3)源文件可以进行读写保护。
三、程序设计 1、在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多目录的文件系统。 2、文件物理结构可采用显式链接或其他方法。 3、磁盘空闲空间的管理可选择位示图或其他方法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,则可以将位示图合并到FAT中。 4、文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。 5、设计一个较实用的用户界面,方便用户使用。要求提供以下相关文件操作:用户登录、创建目录、删除目录、创建文件、删除文件、读文件、写文件、 重命名、退出。
四、源代码 1、FileSystem.h #define DIR_LENGTH 1024 //路径最长可达100字节 #define MAX_WRITE 1024*128 //写入文字可达128k字节 #define MEM_D_SIZE 1024*1024 //1M磁盘空间 #define DISKSIZE 1024 //磁盘块的大小 1K #define MSD 5 //最大子目录数 5 #define DISK_NUM MEM_D_SIZE/DISKSIZE //磁盘块数目 1024=1M/1K #define FATSIZE DISK_NUM*sizeof(struct FatItem) //FAT表大小1024*8=8K #define MOFN 5 //最大文件打开数 5 #define ROOT_DISK_NO FATSIZE/DISKSIZE+1 //根目录起始盘块号 9 #define ROOT_DISK_SIZE sizeof(struct Direct) //根目录大小 196 #define LOGIN 15 #define NAME_LONG 1 #define NOT_EXSIT -1 #define NOT_OPEN -1 #define DIR_FULL -2 #define OPEN_FULL -3 #define ALREADY -4 #define NOT_R_W -4 #define DISK_FULL -5 #define NOT_EXIT -1
struct FatItem // size 8 { int item; //存放文件下一个磁盘的指针 char em_disk; //磁盘块是否空闲标志位, 0 空闲 }; struct Direct { struct FCB { char name[8]; //文件/目录名 8位 char property; //属性 1位目录 0位普通文件 int size; //文件/目录字节数、盘块数) int firstDisk; //文件/目录 起始盘块号 int next; //子目录起始盘块号 int sign; //1是根目录 0不是根目录 }directItem[MSD+2]; //最大子目录 5 }; struct OpenTable { struct OpenTableItem { char name[9]; //文件名 int firstdisk; //起始盘块号 int size; //文件的大小 char open_flag; //文件打开标志:'1':打开。'0':未打开 }openitem[MOFN]; //最大文件打开数 5 int cur_size; //当前打文件的数目 }; struct FatItem *fat; //FAT表 struct Direct *root; //根目录 struct Direct *cur_dir; //当前目录 struct OpenTable user_openTable; //文件打开表 int fd=-1; //文件打开表的序号 char *bufferdir; //记录当前路径的名称 char *fdisk; //虚拟磁盘起始地址 int cur_user; int find_N = 0; void init(); void format(); void enter(); void assign(); int create(char *name); int open(char *name); int close(char *name); int rename(); int write(int fd,char *buf,int len,char *name); int read(int fd,char *buf,char *name); int del(char *name); void dir(); int login(); void helpMenu(); void currentPath(); 2、FileSystem.cpp #include #include #include"conio.h" #include "FileSystem.h" #include int statue=0; char user[20]="li"; char password[20]="123"; int main() { FILE *fp; char ch; char cmd[13]; char name[10]; int i,flag; char *contect; helpMenu();
while((flag=login())!=LOGIN) { printf("密码不正确!\n"); printf("请输入正确的用户名和密码!\n"); }
contect = (char *)malloc(MAX_WRITE*sizeof(char));
if((fp=fopen("disk.bat","rb"))==NULL) //创建一个文件 { printf(" Will you initialize the disk? (y or n)"); scanf("%s",&ch); if(ch=='y') { init(); printf(" Initialize Succeed! \n");} else {return 0;} } enter(); //分析命令 while(1) { printf("%s/>",bufferdir); scanf("%s",cmd); if(strcmp(cmd,"help") == 0 || strcmp(cmd,"?") == 0) { helpMenu();} else if(strcmp(cmd,"model") == 0) { printf("需要修改密码么(y/n)"); scanf("%s",&ch); if (ch=='y') { printf("请输入密码\b"); scanf("%s",&password); printf("修改成功");} else {printf("退出修改密码\n"); } } else if(strcmp(cmd,"login") == 0) { while (login()!=LOGIN) { printf("请输入正确的用户名或密码\n");} } else if(strcmp(cmd,"quit") == 0) { free(contect); exit(1); return 0; } else if(strcmp(cmd,"create") == 0) { scanf("%s",name); flag = create(name); //关于创建文件共实现四个判断 if(flag==NAME_LONG) {//文件名太长 printf("Error: \n 文件的名称太长 !\n");} else if(flag==DIR_FULL) {//目录下文件数超 printf("Error: \n 该目录下的文件和目录数已满 !\n");} else if(flag==ALREADY) {//重名 printf("Error: \n 该目录下已存在该文件 !\n");} else if(flag==DISK_FULL) {//磁盘空间满 printf("Error: \n 磁盘空间已满!\n");} else { printf(" 成功创建文件! \n"); } } else if(strcmp(cmd,"open") ==0) { statue=1; scanf("%s",name); fd = open(name); if(fd == NOT_EXSIT) { printf("Error: \n 所要打开的文件不存在! \n");} else {printf("打开成功! \n");} } else if(strcmp(cmd,"write") == 0) { statue=2; scanf("%s",name); if(fd == NOT_OPEN) { printf("Error:\n 该文件没有打开,请打开后再写入 \n"); } else { printf("请输入文件的内容: "); scanf("%s",contect); //connect为一个长度为128字节的变量值 flag=write(fd,contect,strlen(contect),name); if(flag == 0) //每个盘块可写入最多128字节 { printf("已成功写入! \n"); } else { printf("Error:\n 硬盘空间不足,无法写入! \n"); }