模拟设计文件操作

合集下载

Proteus的使用PPT课件

Proteus的使用PPT课件

C3
10u
Q1
9013
2
5
%
RB1
200k
ui
SW2
A
B
C
D
示波器
AM
FM
+
-
信号源
例2 :单管放大器实时仿真
测量静态工作点: 先调节基极电压(电阻) 在放大器输出不失真时, 使输入ui=0(短接), 再测量三极管的工作点电压Ue ,Ub, Uc及Uce.
静态工作点测试 VCC=12V Ub=2.92V Ue=2.27V Uc=7.50V
★利用调试工具菜单中电压探针与电流探针,既可实时仿真时显示电压与电流!也可做图表分析时的电压与电流的取样工具!!
1
LOGICSTATE
0
LOGICTOGGLE
D!
D!
RTDBREAK-3
开关和继电器库
①复位开关(按键),点击时接通,放开时断开。 ②乒乓开关,点击接通,再点击断开。 ③多状态开关,点击一次改变一个状态。
原理图布线
建立网络表
电气检查
是否合格
调整
结束


3、电路原理图设计操作
电路原理图设计流程如右图:
3.1 、建立设计文件:打开ISIS系统,选择合适(默认为:Design Files)类型,建立无标题文件,并在存储时命名即可。
3.2、在模板菜单下设置:设计默认或修改规则、编辑文本风格、图形风格、图表颜色式。
4、Proteus的电路实时仿真
电路仿真:就是利用电子器件的数学模型,通过计算分析来表现电路工作状态的一种手段。 按仿真类型分为实时仿真(交互式仿真)与图表分析仿真(非实时仿真)。
4.1、Proteus电子仿真工具

模拟卷操作题

模拟卷操作题

第三章模拟试卷操作题第一节A卷注意:做模拟题操作题部分前,请先将光盘(或U盘)【模拟试题】文件夹中试卷(如A卷)文件夹中的【KS】、【样张】和【素材】文件夹复制到C盘上。

三、操作题所有的样张都在“C:\样张”文件夹中,考试系统中【样张】按钮可直接打开此文件夹。

(一)Windows操作(共6分)1.在C:\KS文件夹下创建两个文件夹:newa、newb;在C:\KS文件夹中建立名为npd 的快捷方式,指向Windows 7的系统文件夹中的应用程序notepad.exe。

2.在C:\KS文件夹下创建一个文本文件,文件名为testA.txt,内容为“上海市计算机等级考试一级2012”,修改其属性为只读。

(二)Office操作(共20分)1.启动Excel,打开C:\素材\excel.xlsx文件,参考样张,对Sheet1中的表格按以下要求操作,将结果以原文件名另存在C:\KS文件夹中。

1.设置表格标题为:隶书、20磅、粗体、蓝色,在A1:I1区域中跨列居中;在B1:H1单元格设置“50% 灰色”图案。

2.用公式计算总分和录取意见,统计规则如下:总分不少于465分为“录取”,否则为“不录取”,并用条件格式设置语文、数学、英语、物理在100分以上的为红色。

(计算必须用公式,否则不计分)3.设置表格格式:五门考试科目C列至G列列宽为6,按样张设置表格的边框线,表格数据居中显示。

4.在A26:I40区域中生成柱形图图表,图表中图例文字大小设置为10磅。

2.启动PowerPoint 2010,打开C:\素材\Power.pptx文件,按下列要求操作,将结果以原文件名存入C:\KS文件夹。

(1)在幻灯片1上,对文本“树”应用“浮入”进入动画;在幻灯片5上,对背景应用“深色木质”纹理。

(2)将演示文稿的主题更改为“流畅”(提示:该主题为蓝色背景),然后将主题颜色更改为“新闻纸”,主题字体更改为“透视”;设置幻灯片切换方式,使每张幻灯片在3秒后自动切换。

ProCAST模拟分析

ProCAST模拟分析

ProCAST模拟分析ProCast铸造模拟分析ProCAST软件,采⽤基于有限元(FEM) 的数值计算和综合求解的⽅法,对铸件充型、凝固和冷却过程中的流场、温度场、应⼒场、电磁场进⾏模拟分析。

ProCAST软件可应⽤于砂模铸造、⾦属模铸造、熔模铸造、⾼/低压铸造、精密铸造、蜡模铸造、连续铸造等多种铸造过程。

⼀.ProCAST软件的模拟流程1、创建模型:可以分别⽤I-Deas、Pro/E、UG、Patran、Ansys 作为前处理软件创建模型,输出ProCAST可接受的模型或⽹格⽂件。

2、MeshCAST:对输⼊的模型或⽹格⽂件进⾏剖分,最终产⽣四⾯体体⽹格,⽣成xx.mesh⽂件,⽂件中包含节点数量、单元数量、材料数量等信息。

3、PreCAST:分配材料、设定界⾯条件、边界条件、初始条件、模拟参数,⽣成xxd.out和xxp.out⽂件,4、DataCAST:检查模型及PreCAST中对模型的定义是否有错误,如有错误,输出错误信息,如⽆错误,将所有的模型信息转换为⼆进制,⽣成xx.unf ⽂件。

5、ProCAST:对铸造过程模拟分析计算,⽣成xx.unf⽂件。

6、ViewCAST:显⽰铸造过程模拟分析结果。

7、PostCAST:对铸造过程模拟分析结果进⾏后处理。

⼆.我公司设计及模拟流程根据客户确认后的2D、3D设计模具总装图→组织各车间技术员进⾏评审,根据经验提出修改⽅案→根据评审记录修改总装→设计模具3D→进⾏ProCast 分析→现场根据模拟分析结果及经验进⾏⽣产三.我公司ProCAST模拟⽰例1.⽹格划分2.参数设置3.后处理流场动态显⽰温度场动态显⽰最后凝固及补缩不⾜部位铸造缺陷位置有效应⼒热裂指⽰4.结论:根据模拟结果显⽰,铸造过程中按照顺序凝固原理,其铸造缺陷在可接受范围内。

在⽣产实际中可根据实际情况对⼯艺参数经⾏调整,来保证车轮铸造质量。

如何利用CAD文件进行建筑施工进度管理

如何利用CAD文件进行建筑施工进度管理

如何利用CAD文件进行建筑施工进度管理利用CAD(计算机辅助设计)文件进行建筑施工进度管理是现代建筑领域的重要工具。

CAD软件可以帮助建筑师和工程师更好地规划、设计和管理建筑项目。

在建筑施工中,利用CAD文件进行进度管理可以有效提高施工效率,降低成本,并确保项目按时完成。

本文将介绍如何利用CAD文件进行建筑施工进度管理。

一、建立CAD模型首先,需要利用CAD软件建立项目的三维模型。

这需要根据项目的需求和计划,绘制出准确的建筑平面、剖面和立面图。

这些图纸将成为项目的基础,根据这些图纸进行施工和进度管理。

二、确定工程节点和关键路径在CAD模型中确定项目的工程节点和关键路径。

工程节点是项目中需要达到的重要里程碑,例如项目的开工时间、主体结构完成时间、内外装修等。

关键路径是决定项目整体进度的关键工序,如土建施工、安装等。

三、设置工期和节点计划根据项目的工程节点和关键路径,设置工期和节点计划。

在CAD软件中,可以通过添加时间信息和进度控制点来计划项目的施工进度。

这样可以确保每个工程节点在正确的时间完成,并且能够及时掌握项目的进度情况。

四、进行施工过程模拟利用CAD模型可以进行施工过程的模拟。

通过CAD软件的功能,可以模拟施工过程中的各项工作,包括材料运输、施工设备、工人安排等。

这样可以更好地规划施工顺序,避免施工冲突和延误。

五、监测施工进度利用CAD文件可以实时监测施工进度。

通过不断更新CAD模型中的施工进度信息,可以清晰地了解每个节点的完成情况。

同时,还可以设置预警机制,及时发现并解决施工延误和风险。

六、协调施工任务CAD文件可以用于协调施工任务。

通过CAD软件,可以与各个承包商和供应商进行协作,确保他们根据项目的施工进度进行工作。

此外,还可以共享CAD文件,使得各个参与方能够更好地了解项目的进度和要求,从而协调各方之间的工作。

七、数据分析和可视化利用CAD软件,可以对施工进度数据进行分析和可视化。

通过CAD文件中的数据,可以制作各种报表和图表,直观地展示项目的进度情况、延误情况和风险预警。

2024版全新正版mastercam基础教程

2024版全新正版mastercam基础教程

2024全新正版mastercam基础教程contents •软件介绍与安装•界面认识与基本操作•2D图形绘制与编辑•3D建模与曲面设计•数控编程基础知识•Mastercam数控编程实践•模拟仿真与后处理•总结回顾与拓展学习建议目录01软件介绍与安装Mastercam概述Mastercam是一款广泛应用于机械制造行业的CAD/CAM软件,它集设计、编程和加工于一体,为制造业提供全面的解决方案。

该软件具有强大的建模、仿真和加工功能,支持各种CNC机床和控制器,能够满足不同用户的需求。

Mastercam以其高效、稳定和易用的特点,赢得了全球用户的信赖和好评。

各版本均具备基本的CAD/CAM 功能,如建模、刀具路径生成、仿真和后置处理等。

高级版本还提供了更多的专业功能,如五轴加工、高速切削、复合加工等,以满足复杂制造需求。

Mastercam 有多个版本,包括Mastercam Mill 、Mastercam Lathe 、Mastercam Wire 等,分别适用于铣削、车削和线切割等不同加工领域。

软件版本与功能Mastercam对计算机硬件有一定的要求,建议配置较高的CPU、内存和显卡以获得更好的性能。

软件安装前需要准备好相应的授权文件和机床定义文件。

安装步骤包括运行安装程序、选择安装目录、输入授权信息、配置机床定义等。

具体步骤可参考软件自带的安装指南或在线教程。

系统要求与安装步骤02界面认识与基本操作菜单栏位于界面顶部,包含了文件、编辑、视图、工具、帮助等主要功能的入口。

状态栏位于界面底部,显示当前光标位置、坐标、图层等信息。

工具栏工具栏位于菜单栏下方,提供了常用命令的快捷按钮,如新建、打开、保存、打印等。

启动界面当打开Mastercam 软件时,首先会呈现启动界面,其中包含软件的标志、版本信息以及启动加载项。

启动界面及工具栏介绍视图操作与显示设置视图缩放与平移通过鼠标滚轮或特定快捷键实现视图的缩放与平移,方便观察细节。

操作系统课程设计-进程同步模拟设计

操作系统课程设计-进程同步模拟设计

课程设计题目进程同步模拟设计——生产者和消费者问题学院计算机科学与技术学院专业计算机科学与技术班级0806姓名张方纪指导教师孙玉芬2010 年 1 月20 日课程设计任务书学生姓名:张方纪专业班级:计算机0806指导教师:孙玉芬工作单位:计算机科学与技术学院题目: 进程同步模拟设计——生产者和消费者问题初始条件:1.预备内容:阅读操作系统的进程管理章节内容,对进程的同步和互斥,以及信号量机制度有深入的理解。

2.实践准备:掌握一种计算机高级语言的使用。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.模拟用信号量机制实现生产者和消费者问题。

2.设计报告内容应说明:⑴需求分析;⑵功能设计(数据结构及模块说明);⑶开发平台及源程序的主要部分;⑷测试用例,运行结果与运行情况分析;⑸自我评价与总结:i)你认为你完成的设计哪些地方做得比较好或比较出色;ii)什么地方做得不太好,以后如何改正;iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训);iv)完成本题是否有其他方法(如果有,简要说明该方法);时间安排:设计安排一周:周1、周2:完成程序分析及设计。

周2、周3:完成程序调试及测试。

周4、周5:验收、撰写课程设计报告。

(注意事项:严禁抄袭,一旦发现,一律按0分记)指导教师签名:年月日系主任(或责任教师)签名:年月日进程同步模拟设计——生产者和消费者问题1课设任务本课程设计的任务在于,通过编写一个具体的有关操作系统进程同步互斥的经典问题,加强对操作系统实现进程间同步与互斥的机制的理解。

同时培养提出问题、发现知识、使用工具、解决问题的能力。

具体地,我们要编制出一个程序,利用PV原语以及进程创建、同步、互斥、销毁等相关的系统调用来模拟“生产者—消费者”问题。

2背景介绍2.1“生产者—消费者”问题(the producer-consumerproblem)问题描述:一组生产者向一组消费者提供消息,它们共享一个有界缓冲区n,生产者向其中投放消息,消费者从中取得消息。

gromacs使用手册

gromacs使用手册

gromacs使用手册摘要:一、Gromacs简介二、Gromacs的安装与配置三、Gromacs的基本操作1.创建模拟配置文件2.运行模拟3.分析结果四、Gromacs的高级功能1.分子动力学模拟2.热力学计算3.对接与筛选五、Gromacs的优缺点六、Gromacs的未来发展正文:一、Gromacs简介Gromacs是一款用于分子动力学模拟的开源软件,广泛应用于生物化学、材料科学等领域。

它具有高效的计算性能、丰富的功能和友好的用户界面,为科学家提供了强大的分子模拟工具。

二、Gromacs的安装与配置要在计算机上安装Gromacs,首先需要确保满足系统的硬件和软件要求。

接下来,按照官方文档的指引进行安装和配置。

在配置过程中,用户可以根据自己的需求选择相应的模块和参数。

三、Gromacs的基本操作1.创建模拟配置文件要运行Gromacs,首先需要创建一个模拟配置文件(gro文件),其中包含了模拟系统的信息,如原子、盒子、温度、压力等。

通过编辑gro文件,用户可以设置模拟的具体参数。

2.运行模拟在完成gro文件设置后,使用Gromacs提供的脚本(如mdrun)运行模拟。

根据需要,用户可以选择不同的模拟模式,如NVT、NPT等。

3.分析结果Gromacs可以自动生成模拟过程中的数据文件(如gro、xtc、trr等),用户可以通过Gromacs提供的分析工具(如g_analysis)对这些文件进行处理和可视化。

四、Gromacs的高级功能1.分子动力学模拟Gromacs支持多种分子动力学算法,如Verlet积分器、Langevin动力学等。

用户可以根据研究需求选择合适的算法进行模拟。

2.热力学计算Gromacs可以用于计算系统的热力学性质,如比热、熵等。

这些计算有助于深入了解系统的热力学行为。

3.对接与筛选Gromacs提供了对接和筛选工具,用于寻找分子间的最佳结合位点。

这对于药物设计和蛋白质筛选等领域具有重要的应用价值。

什么是电路仿真如何进行电路仿真

什么是电路仿真如何进行电路仿真

什么是电路仿真如何进行电路仿真电路仿真是一种模拟电路行为和性能的方法,可以用计算机软件来模拟电子设备的工作原理和性能。

通过电路仿真,可以预测和分析电子设备的行为,优化电路设计,减少实际实验的时间和成本。

电路仿真可以分为两种类型:模拟仿真和数字仿真。

模拟仿真是通过模拟电路中的连续信号来分析电路的性能。

数字仿真是通过模拟电路中的离散信号来分析电路的性能。

在进行电路仿真之前,需要准备仿真软件和电路设计文件。

常用的仿真软件包括Multisim、LTspice和PSpice等。

电路设计文件可以是原理图或者网表文件。

进行电路仿真的步骤如下:1. 创建电路:在仿真软件中,根据设计要求创建电路。

可以通过拖拽电子元件和连接导线来完成电路的构建。

2. 设置元件参数:对每个电子元件进行参数设置,包括电阻、电容、电感等。

这些参数决定了电路的性能。

3. 添加电源:在电路中添加电源,以提供电压或电流。

电源类型可以是直流或交流源,根据实际需求设置参数。

4. 设定测量:选择需要测量的电路参数,例如电流、电压、功率等。

这些参数可以直接从电路中的特定节点进行测量。

5. 运行仿真:点击仿真软件中的运行按钮,开始进行电路仿真。

仿真软件会对电路进行求解,计算出电路中各个节点和元件的电压、电流等参数。

6. 分析结果:根据仿真结果,对电路的性能进行分析和评估。

可以通过绘制波形图、功率谱图等方式来可视化仿真结果。

7. 优化设计:根据仿真结果,对电路进行调整和优化。

可以修改元件参数、电源参数或者电路拓扑结构,以改善电路的性能。

8. 再次仿真:对优化后的电路进行再次仿真,进行性能验证和评估。

如果结果满足设计要求,则电路仿真完成。

电路仿真的优势在于可以快速、经济地评估电路设计的可行性和性能。

相比于传统的实际实验方法,电路仿真节省了时间和成本,提高了设计的效率。

同时,电路仿真还可以帮助设计人员理解电路的工作原理和性能,提供了一个安全和可控的环境进行实验和测试。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. #include<stdio.h>2.#include <stdlib.h>3.#include <conio.h>4.#include<string.h>5.6.struct ufd{//用户文件目录块7.char filename[10]; //文件名8.char password[10]; //文件密码9.char filelength[10]; //文件的长度10.struct ufd *next; //文件地址11.}*file,*p,*pr;12.13.struct mdf{//主文件目录14.char username[10]; //主文件目录的用户名15.struct ufd *link; //用户文件的目录地址16.}user[10]={{"one",NULL},{"two",NULL},{"three",NULL},{"four",NULL},17.{"five",NULL},{"six",NULL},{"seven",NULL},{"eight",NULL},18.{"nine",NULL},{"ten",NULL}};19.20.struct afd{//打开目录块21.char openname[10];22.char openpassword[10];23.struct afd *next;24.}*open,*openpr;25.26.char *cmd;27. //下面程序是读用户名的初始化28.void initfile(){29.int i;30. p=(ufd*)malloc(sizeof(ufd));//user131. strcpy(p->filename,"user1");32. strcpy(p->password,"123");33. strcpy(p->filelength,"20");34. p->next=NULL;35. pr=p;36. file=pr;37.//user238. p=(ufd*)malloc(sizeof(ufd));39. strcpy(p->filename,"user2");40. strcpy(p->password,"123");41. strcpy(p->filelength,"20");42. p->next=NULL;43. pr->next=p;44. pr=pr->next;45.//user346. p=(ufd*)malloc(sizeof(ufd));47. strcpy(p->filename,"user3");48. strcpy(p->password,"123");49. strcpy(p->filelength,"20");50. p->next=NULL;51. pr->next=p;52.}53. //创建文件54.void createfile(){55. ufd *q;56.int n=1;57.for(pr=file;pr->next!=NULL;pr=pr->next) n++;58.if(n!=10){59. p=(ufd*)malloc(sizeof(ufd));//组成该文件的逻辑记录长度60. printf("\n请输入要创建的文件名:");61. scanf("%s",p->filename);62. q=file;63.while(q!=NULL){64.for(q=file;q!=NULL;q=q->next){65.if(strcmp(q->filename,p->filename)) continue;66.if(!strcmp(q->filename,p->filename)){67. printf("\n已存在该文件名,请重新输入要创建的文件名:");68. scanf("%s",p->filename);69. q=file;70.continue;71. }72. }73. }74. printf("\n请输入要创建的文件保护码:");75. scanf("%s",p->password);76. strcpy(p->filelength,"20");77. p->next=NULL;78. pr->next=p;79. printf("\n文件创建成功!\n");80. }81.else{82. printf("\n文件个数超出10个!不允许再创建!\n");83. }84.}85. //删除一个文件86.void deletefile(){87. ufd *q;88. q=(ufd*)malloc(sizeof(ufd));89.int n=0;90.if(file!=NULL){91. printf("\n请输入要删除的文件名:");92. scanf("%s",q->filename);93.if(!strcmp(q->filename,file->filename)){94. file=file->next;95. n=1;96. }97.else{98.for(pr=file;pr->next!=NULL;){99.if(!strcmp(q->filename,pr->next->filename)){ 100. pr->next=pr->next->next;101. n=1;102.continue;103. }104. pr=pr->next;105. }106. }107.if(n==1) printf("\n删除成功\n");108.if(n==0) printf("\n不存在该文件名\n");109. }110.else printf("\n当前用户的文件已全部被删除!\n");111.}112.113. // 打开文件114.void outputopen(){//输出打开文件目录115. printf("\n已打开文件目录如下:\n");116. printf("\n 文件名保护码\n");117.for(openpr=open;openpr!=NULL;openpr=openpr->next){ 118. printf("\n %-11s ",openpr->openname);119. printf(" %-11s \n",openpr->openpassword);120. }121.}122.123.void openfile(){//打开文件程序124. afd *q;125.int i=0;126. q=(afd*)malloc(sizeof(afd));127. q->next=NULL;128. printf("\n请输入要打开的文件名:");129. scanf("%s",q->openname);130.for(pr=file;pr!=NULL;pr=pr->next){131.if(!strcmp(q->openname,pr->filename)){132. i=1;133.break;134. }135. }136.if(open!=NULL){137.for(openpr=open;openpr!=NULL;openpr=openpr->next){138.if(!strcmp(q->openname,openpr->openname)) i=2;139. }140. }141.if(i==1){142. printf("\n请输入要打开文件的保护码:");143. scanf("%s",q->openpassword);144.if(!strcmp(q->openpassword,pr->password)){145. printf("\n已成功打开文件!\n");146.if(open==NULL) open=q;147.else{148.for(openpr=open;openpr->next!=NULL;openpr=openpr->nex t);149. openpr->next=q;150. }151. outputopen();152. }153.else{154. printf("\n保护码输入错误!\n");155. }156. }157.else if(i==2) printf("\n该文件已经打开!\n");158.else printf("\n没有你要打开的文件或已被删除!\n");159.}160. //关闭文件161.void closefile(){162. afd *q;163.int count=0;164. q=(afd*)malloc(sizeof(afd));165.if(open==NULL) printf("\n没有打开的文件!\n");166.else{167. printf("\n请输入要关闭的文件名:");168. scanf("%s",q->openname);169.if(!strcmp(q->openname,open->openname)){170. open=open->next;171. count=1;172. printf("\n该文件已经成功关闭!\n");173. }174.else{175.for(openpr=open;openpr->next!=NULL;){176.if(!strcmp(q->openname,openpr->next->openname)){ 177. openpr->next=openpr->next->next;178. count=1;179. printf("\n该文件已经成功关闭!\n");180. }181.else openpr=openpr->next;182. }183. }184.if(count==0) printf("\n没有打开该文件或不存在该文件!\n"); 185.if(open==NULL) printf("\n所有文件都已经关闭!\n");186.if(open!=NULL) outputopen();187. }188.}189. //读文件190.void readfile(){191. afd *q;192.int n;193. q=(afd*)malloc(sizeof(afd));194.if(open==NULL) printf("\n没有打开文件!不能读,请先打开文件!\n"); 195.else{196. printf("\n请输入要阅读的文件名:");197. scanf("%s",q->openname);198.for(openpr=open;openpr!=NULL;openpr=openpr->next){199.if(!strcmp(q->openname,openpr->openname)) n=2;200. }201.if(n==2){202.for(pr=file;pr!=NULL;pr=pr->next){203.if(!strcmp(q->openname,pr->filename)){204. printf("\n 文件名保护码文件长度 \t\n");205. printf("\n %-11s ",pr->filename);206. printf(" %-11s ",pr->password);207. printf(" %-11s\n",pr->filelength);208. }209. }210. }211.else{212. printf("\n没有打开该文件!不能读,请先打开该文件!\n"); 213. }214. }215.}216. //写文件217.void writefile(){218. afd *q;219.int n,len;220. q=(afd*)malloc(sizeof(afd));221.if(open==NULL) printf("\n没有打开文件!不能写,请先打开文件!\n"); 222.else{223. printf("\n请输入要写入的文件名:");224. scanf("%s",q->openname);225.for(openpr=open;openpr!=NULL;openpr=openpr->next){226.if(!strcmp(q->openname,openpr->openname)) n=2;227. }228.if(n==2){229.for(pr=file;pr!=NULL;pr=pr->next){230.if(!strcmp(q->openname,pr->filename)){231. printf("\n 文件名保护码文件长度 \t\n");232. printf("\n %-11s ",pr->filename);233. printf(" %-11s ",pr->password);234. printf(" %-11s\n",pr->filelength);235. printf("\n请输入写入文件长度:");236. scanf("%s",pr->filelength);237. printf("\n写入成功!\n");238. printf("\n 文件名保护码文件长度 \t\n");239. printf("\n %-11s ",pr->filename);240. printf(" %-11s ",pr->password);241. printf(" %-11s\n",pr->filelength);242. }243. }244. }245.else{246. printf("\n没有打开该文件!不能读,请先打开该文件!\n"); 247. }248. }249.}250. //输出文件251.void outputfile(){252. printf("\n 文件名保护码文件长度 \t\n");253.for(p=file;p!=NULL;p=p->next){254. printf("\n %-11s ",p->filename);255. printf(" %-11s ",p->password);256. printf(" %-11s\n",p->filelength);257. }258.}259. //查询mdf中有无该用户260.void admin(){261.int i;262. cmd=(char*)malloc(sizeof(char));263. printf("\n请输入用户名:");264. scanf("%s",cmd);265.for(i=0;;i++){266.for(i=0;i<10;i++){267.if(!strcmp(cmd,user[i].username)) break;268. }269.if(i==10){270. printf("\n无此用户文件!\n\n");271. printf("请输入用户名:");272. scanf("%s",cmd);273.continue;274. }275.break;276. }277.}278.279.main(){280.int n=0;281. admin();282. initfile();283. printf("\n当前用户文件目录如下:\n");284. outputfile();285.while(strcmp(cmd,"bye")){286. printf("\n请输入操作命令:");287. scanf("%s",cmd);288.if(!strcmp(cmd,"create")){289. createfile();290.continue;291. }292.if(!strcmp(cmd,"delete")){293. deletefile();294.continue;295. }296.if(!strcmp(cmd,"open")){297.for(openpr=open;openpr!=NULL;openpr=openpr->next) n++; 298.if(n==5)printf("\n打开的文件已经达到5个,不允许再打开文件!\n");299.else openfile();300. n=0;301.continue;302. }303.if(!strcmp(cmd,"close")){304. closefile();305.continue;306. }307.if(!strcmp(cmd,"read")){308. readfile();309.continue;310. }311.if(!strcmp(cmd,"write")){312. writefile();313.continue;314. }315.if(!strcmp(cmd,"bye"));316.else printf("\n无此操作命令!\n");317. }318.if(file==NULL) printf("\n当前用户没有保存任何文件!\n\n"); 319.else{320. printf("\n当前用户保存的文件目录如下:\n");321. outputfile();322. }323. printf("\n");324.}。

相关文档
最新文档