操作系统cmd算法
实验一 命令解释程序的编写(两周内)
一、目的和要求
1. 实验目的
(1)掌握命令解释程序的原理;
(2)*掌握简单的DOS调用方法;
(3)掌握C语言编程初步。
2.实验要求
编写类似于DOS,UNIX的命令行解释程序
(1)自行定义系统提示符
(2)自定义命令集(8-10个)
(3)用户输入HELP以查找命令的帮助
(4)列出命令的功能,区分内部还是外部命令
(5)用户输入QUIT退出
(6)内部命令有dir, cd, md, rd, cls, date, time, ren, copy等。
二、实验内容
根据教师指定的实验课题,完成设计、编码、测试工作。
三、实验环境
1.PC微机
2.Windows 操作系统
3.C/C++程序开发集成环境
- #include<stdio.h>
- #include<stdlib.h>
- #include<String.h>
- main()
- {
- char cmd[][]={"dir","cd","md","rd","cls","date","time","ren",
- "copy","quit","help"};
- char str[];
- int i;
- printf("Microsoft Windows [版本 6.3.9600]\n");
- printf("<C> 2013 Microsoft Corporation。保留所有权利。\n\n");
- while()
- {
- printf("C:\\Users\\lenovo:>");
- gets(str);
- for(i=;i<;i++)
- {
- if(strcmp(str,cmd[])==)
- {
- printf("类型:内部命令\n");
- printf("查看当前的目录...\n");
- printf("\n");
- printf("\n");
- break;
- }
- else if(strcmp(str,cmd[])==)
- {
- printf("类型:内部命令\n");
- printf("修改当前的目录...\n");
- printf("\n");
- printf("\n");
- break;
- }
- else if(strcmp(str,cmd[])==)
- {
- printf("类型:内部命令\n");
- printf("创建一个新的目录...\n");
- printf("\n");
- printf("\n");
- break;
- }
- else if(strcmp(str,cmd[])==)
- {
- printf("类型:内部命令\n");
- printf("删除该目录...\n");
- printf("\n");
- printf("\n");
- break;
- }
- else if(strcmp(str,cmd[])==)
- {
- printf("类型:内部命令\n");
- printf("清屏录...\n");
- printf("\n");
- printf("\n");
- break;
- }
- else if(strcmp(str,cmd[])==)
- {
- printf("类型:内部命令\n");
- printf("显示或设置日期...\n");
- printf("\n");
- printf("\n");
- break;
- }
- else if(strcmp(str,cmd[])==)
- {
- printf("类型:内部命令\n");
- printf("显示或设置系统时间...\n");
- printf("\n");
- printf("\n");
- break;
- }
- else if(strcmp(str,cmd[])==)
- {
- printf("类型:内部命令\n");
- printf("重命名文件...\n");
- printf("\n");
- printf("\n");
- break;
- }
- else if(strcmp(str,cmd[])==)
- {
- printf("类型:内部命令\n");
- printf("将至少一个文件复制到另一个位置...\n");
- printf("\n");
- printf("\n");
- break;
- }
- else if(strcmp(str,cmd[])==)
- {
- return ;
- }
- else if(strcmp(str,cmd[])==)
- {
- printf("类型:外部命令\n");
- printf("有关某个命令的详细信息,请键入 HELP 命令名\n");
- printf("dir\t内部命令 显示一个目录中的文件和子目录。\n");
- printf("cd\t内部命令 显示当前目录的名称或将其更改。\n");
- printf("md\t内部命令 创建一个目录。\n");
- printf("rd\t内部命令 删除目录。.\n");
- printf("cls\t内部命令 清除屏幕。\n");
- printf("date\t内部命令 显示或设置日期。\n");
- printf("time\t内部命令 内部命令显示或设置系统时间。\n");
- printf("ren\t内部命令 重新命名文件。\n");
- printf("cope\t内部命令 将至少一个文件复制到另一个位置。\n");
- printf("help\t外部命令 提供Windows命令的帮助信息。\n");
- printf("quit\t外部命令 退出命令解释程序\n");
- printf("\n");
- printf("\n");
- printf("CALL\t从一个批处理程序调用这一个。\n");
- printf("CMD\t打开另一个Windows命令解释窗口。\n");
- printf("COLOR\t设置默认控制台前景和背景颜色。\n");
- printf("DEL\t删除至少一个文件。\n");
- printf("EXIT\t退出命令解释程序。\n");
- printf("FIND\t在一个或多个文件中搜索一个文本字符串。\n");
- printf("MKDIR\t创建一个目录。\n");
- printf("MODE\t配置系统设备。\n");
- printf("PRINT\t打印一个文本文件。\n");
- printf("REPLACE\t替换文件。\n");
- printf("RENAME\t重新命名文件。\n");
- break;
- }
- else if(strcmp(str,cmd[i])!=)
- {
- printf("此命令不是内部或外部命令,也不是可运行的程序或批处理文件\n");
- printf("\n");
- break;
- }
- }
- }
- }
操作系统cmd算法的更多相关文章
- 磁盘操作系统 cmd命令
DOS CMD :磁盘操作系统 不区分大小写 **cd \ 根目录 cls 清空屏幕 dir 显示目录 d: 进入D盘 cd 进入目录命令 dir 查看当前目录的文件与目录 del 删除文件 del ...
- 操作系统cmd
实验一 命令解释程序的编写(两周内) 一.目的和要求 1. 实验目的 (1)掌握命令解释程序的原理: (2)*掌握简单的DOS调用方法: (3)掌握C语言编程初步. 2.实验要求 编写类似于DOS, ...
- 操作系统——银行家算法(Banker's Algorithm)
之前写过一篇关于死锁和银行家算法的详细描述的博客https://www.cnblogs.com/wkfvawl/p/11598647.html 写这篇博客的目的,主要是详细讲解一下银行家算法以及代码的 ...
- Grails笔记一:windows8.1操作系统cmd下grails命令无效
最近决定使用intellij idea工具来开发基于Grails框架的应用程序,,在安装好jdk 1.7以及配置好jdk和grails环境变量后进行grails测试,在win8.1的命令行窗口中输入以 ...
- 0324操作系统cmd功能的扩展
需求:1.实现清屏功能 2.实现不区分大小写功能 3.添加功能能添加新的命令符 设计:1.使用system("cls")清屏. 2.使用strlwr()函数把大写都变成小写 3.( ...
- C语言实现 操作系统 银行家算法
/**************************************************** 银行家算法 算法思想: 1. 在多个进程中,挑选资源需求最小的进程Pmin. 可能存在多类资 ...
- 操作系统 cmd mini OS
#include <stdio.h>#include <stdlib.h>#include <string.h> void word(char *a){ if(st ...
- Java 学习文章汇总
目前JAVA可以说是产业界和学术界最热门的语言,许多人都很急切想把JAVA学好. 但学习是需要步骤的,除非像电影中演的那样,能够把需要的专业技巧下载到脑海:主角只花了几秒下载资料,就马上具备飞行员的技 ...
- python 30 基于TCP协议的socket通信
目录 1. 单对单循环通信 2. 循环连接通信:可连接多个客户端 3. 执行远程命令 4. 粘包现象 4.1 socket缓冲区 4.2 出现粘包的情况: 4.3 解决粘包现象 bytes 1. 单对 ...
随机推荐
- iOS - OC NSTimeZone 时区
前言 @interface NSTimeZone : NSObject <NSCopying, NSSecureCoding> NSTimeZone 表示时区信息. 1.NSTimeZon ...
- tomcat 启用Gzip 压缩进行优化
打开conf/server.xml文件可以看到: <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> <Con ...
- c How to Make an Ascii Picture.
import java.io.*; public class trans{ public static void main(String[] args){ try{ File inFile = new ...
- Android通过webservice对sqlserver数据库进行操作
首页在AndroidManifest.xml中添加访问数据库权限 <uses-sdk android:minSdkVersion="7" /> <uses-per ...
- apiCloud授权绑定第三方账号,微信、QQ、微博。
1.检测软件是否安装 2.授权获取code 3.获取token,openid等 4.获取头像昵称 var wx,qq,weibo; var loginParam={}; apiready = func ...
- Could not initialize class sun.awt.X11GraphicsEnvironment
报错:
- apt-get的常用用法
我们装完linux后的第一件事情就是安装软件了,下面的命令可以帮助你在Ubuntu发行版或基于Debain的发行版上快速的安装软件: sudo apt-get install package-name ...
- Three.js 3D特效学习
一.Three.js基本介绍 Three.js是JavaScript编写的WebGL第三方库.提供了非常多的3D显示功能.Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场 ...
- 数据字典 dba_free_space及相对文件号RELATIVE_FNO 小结
1.1 dba_free_space 1.1.1 概述 SQL> desc dba_free_space; Name Type Nullable Default Comments ------- ...
- Jq_文档操作方法、属性操作方法、CSS操作函数
JQuery文档操作方法 这些方法对于 XML 文档和 HTML 文档均是适用的,除了:html(). 方法 描述 addClass() ...