1009实验一 认识DOS

实验一、DOS实验

物联网工程  张怡   201306104149

一、 实验目的

    (1)认识DOS;

(2)掌握命令解释程序的原理;

(3)掌握简单的DOS调用方法;

(4)掌握C语言编程初步。

二、实验内容和要求

     编写类似于DOS,UNIX的命令行解释程序。

(1)自行定义系统提示符

(2)自定义命令集(8-10个)

(3)用户输入HELP以查找命令的帮助

(4)列出命令的功能,区分内部还是外部命令

(5)用户输入QUIT退出

(6)内部命令有dir, cd, md,rd, cls, date, time, ren, copy等。

三、 实验方法、步骤及结果测试

 1.   源程序名:压缩包文件(rar或zip)中源程序名1.c

       可执行程序名:1.exe

2.   原理分析及流程图

这个程序主要是while(1)语句和if( )……else( )语句的嵌套使用,此外是数组的使用。将所需实现的命令存入数组cmd[20][20],然后将输入的字符串存入数组str[20],将两个数组内的字符串进行比对,若满足“strcmp(str,cmd[n])==0”,则输出数字n对应的命令及其解释,若不满足“strcmp(str,cmd[n])==0”,则提示“输入出错,请重新输入:”,直至输入的字符串与数组cmd[20][20]内的字符串对应为止,此时输出n对应的命令。若一直不输入“quit”,则每次显示上次输入的命令对应的语句时,提示“请用户输入命令:”。

3.   主要程序段及其解释:

#include<stdio.h>

#include<string.h>

main()

{

char cmd[20][20]={"dir","cd","md","rd","cls","date","time","ren","copy","help","quit"};

char str[20];//存储字符串的数组

printf("欢迎使用DOS命令解释器!\n\n");

while(1)

{

printf("\n请用户输入命令:");

gets(str); //str等于输入的字符串

if(strcmp(str,cmd[0])==0)

//比较函数,和前面的数组进行比较,相同为0不同为1,为0时输出

{

printf("dir显示磁盘目录\n");

}

else if(strcmp(str,cmd[1])==0)

{

printf("cd 进入特定的目录\n");

}

else if(strcmp(str,cmd[2])==0)

{

printf("md 创建新的目录\n");//dos下面习惯叫目录,win下面习惯叫文件夹。

}

else if(strcmp(str,cmd[3])==0)

{

printf("rd 删除文件夹\n");

}

else if(strcmp(str,cmd[4])==0)

{

printf("cls 清屏\n");

}

else if(strcmp(str,cmd[5])==0)

{

printf("date 日期设置\n");

}

else if(strcmp(str,cmd[6])==0)

{

printf("time 设置(或显示)系统时期\n");

}

else if(strcmp(str,cmd[7])==0)

{

printf("ren 文件改名\n");//ren命令的格式是:ren 源文件名目的文件名

}

else if(strcmp(str,cmd[8])==0)

{

printf("copy复制\n");

}

else if(strcmp(str,cmd[9])==0)  //输入help,显示以下内容

{

printf("dir (无参数)显示磁盘目录\n");

printf("cd  进入特定的目录 \n");

printf("md  创建新的目录\n");

printf("rd  删除特定的文件夹\n");

printf("cls 清屏幕命令\n");

printf("date设置日期 \n");

printf("time设置或显示系统时期\n");

printf("ren 文件改名命令\n");

printf("copy文件复制命令\n");

printf("quit退出\n");

}

else if(strcmp(str,cmd[10])==0)

{

printf("quit退出\n");

return;}

else  //与数组内字符串不同,为1,提示出错

{

printf("输入出错,请重新输入:\n");

}

}

}

4.   运行结果及分析

运行程序,有如下效果:显示“欢迎使用DOS命令解释器!”,并提示“请用户输入命令”。此处,打印“请用户输入命令”这一句的语句放在while(1)里面,使其不断提示。

 

输入程序的寄存数组内未设置的命令,则提示“输入出错,请重新输入:”。此处用到if( )……else( )语句,如果满足“str,cmd[n])==0”,则显示数字n对应的命令及其解释,否则提示“输入出错,请重新输入:”。

输入“help”,则显示寄存数组内设置的命令及其解释。

      

 

  输入寄存数组内设置的命令,则显示该命令及其解释。

 

 

输入“quit”,则显示“quit退出”,并按任意键可退出程序。

  

 

四、实验总结

这是操作系统的第一个实验,之前并没有了解过DOS命令,因此上网查着了相关资料。DOS的内部命令有dir, cd, md,rd, cls, date, time, ren, copy等,程         序对这些命令进行了简要的解释。程序运行后,提示“欢迎使用DOS命令解释器!”和“请用户输入命令”,不了解的话可以输入“help”命令,则显示DOS命令及相关解释。

刚开始做实验的时候只有模糊的框架概念,知道可以用if(),else if()和else()语句进行编程,但思路很乱,不知具体如何实现。通过查找相关书籍以及上网浏览程序代码,发现数组可以很好的解决这个问题。于是用一个数组来存储所要用到的命令,另外用一个数组来存储刚输入的命令(字符串),然后和前面的数组进行比较,相同为0不同为1,为0时输出,为1则提示出错,要求重新输入命令。当输入“quit”命令时,提示“quit退出”,并退出输入,此时按任意键可退出显示。

 

时间: 2024-10-07 17:44:04

1009实验一 认识DOS的相关文章

实验一、DOS使用命令实验

专业:网络工程一班  姓名:颜超武  学号:201406114310 一.实验目的 (1)DOS是市场上早期获得巨大成功的桌面操作系统,现在很多同学都不太熟悉.本实验的目的就是让同学们读者从操作系统理论的观点来重新认识它们,了解和掌握DOS有关用户接口的特点. (2) 实验环境 MS—DOS 简介 MS-DOS是Microsoft公司20世纪80年代初推出的单用户单任务操作系统,由于性能和移植性较好,使用非常广泛. MS—DOS是采用字符界面的操作系统,人机接口为命令接口.没有进程的并发执行能力

实验一、DOS命令解释程序的编写

一. 实验目的 (1)认识DOS: (2)掌握命令解释程序的原理: (3)掌握简单的DOS调用方法: (4)掌握C语言编程初步. 二. 实验内容和要求 编写类似于DOS,UNIX的命令行解释程序 (1)自行定义系统提示符 (2)自定义命令集(8-10个) (3)用户输入HELP以查找命令的帮助 (4)列出命令的功能,区分内部还是外部命令 (5)用户输入QUIT退出 (6)内部命令有dir, cd, md,rd, cls, date, time, ren, copy等. 根据要求,完成设计.编码.

实验一 认识DOS

源程序: #include<stdio.h>#include<stdlib.h>#include<String.h>void main(){char cmd[20][20]={"cd","dir","cls","rd","md","date","time","ren","copy","

icmp dos和arp dos 攻击模拟实验

前言 做完这个实验感觉对计网的一些知识也熟练了不少 因为建立实验环境需要虚拟机,Vmware虚拟机三种网络模式详解 参考这个,写的很不错https://www.cnblogs.com/linjiaxin/p/6476480.html 实验最好关闭防火墙,linux关闭防火墙的操作https://blog.csdn.net/qq_34989708/article/details/73603638 准备 虚拟机准备 其实这些看各自情况,都可以,下面也涉及到了各系统的网络配置,大同小异(想起当时第一次

1006实验一实验报告

实验一报告 实验一.DOS命令解释程序的编写 13物联网工程  张学玲  201306104140 一. 实验目的 (1)认识DOS: (2)掌握命令解释程序的原理: (3)掌握简单的DOS调用方法: (4)掌握C语言编程初步. 二. 实验内容和要求 编写类似于DOS,UNIX的命令行解释程序 (1)自行定义系统提示符 (2)自定义命令集(8-10个) (3)用户输入HELP以查找命令的帮助 (4)列出命令的功能,区分内部还是外部命令 (5)用户输入QUIT退出 (6)内部命令有dir, cd,

实验一报告

实验一.  DOS命令解释程序的编写 物联网工程 刘烨 201306104146 一. 实验目的 (1)认识DOS: (2)掌握命令解释程序的原理: (3)掌握简单的DOS调用方法: (4)掌握C语言编程初步. 二. 实验内容和要求 内容:根据要求,完成设计.编码.测试工作. 要求: 编写类似于DOS,UNIX的命令行解释程序 (1)自行定义系统提示符 (2)自定义命令集(8-10个) (3)用户输入HELP以查找命令的帮助 (4)列出命令的功能,区分内部还是外部命令 (5)用户输入QUIT退出

【设计模式】 模式PK:观察者模式VS责任链模式

1.概述 为什么要把观察者模式和责任链模式放在一起对比呢?看起来这两个模式没有太多的相似性,真没有吗?回答是有.我们在观察者模式中也提到了触发链(也叫做观察者链)的问题,一个具体的角色既可以是观察者,也可以是被观察者,这样就形成了一个观察者链.这与责任链模式非常类似,它们都实现了事务的链条化处理,比如说在上课的时候你睡着了,打鼾声音太大,盖过了老师讲课声音,老师火了,捅到了校长这里,校长也处理不了,然后告状给你父母,于是你的魔鬼日子来临了,这是责任链模式,老师.校长.父母都是链中的一个具体角色,

实验1&#160;&#160;DOS命令解释程序的编写

一.目的和要求 1. 实验目的 (1)认识DOS: (2)掌握命令解释程序的原理: (3)掌握简单的DOS调用方法: (4)掌握C语言编程初步. 2.实验要求 编写类似于DOS,UNIX的命令行解释程序 (1)自行定义系统提示符 (2)自定义命令集(8-10个) (3)用户输入HELP以查找命令的帮助 (4)列出命令的功能,区分内部还是外部命令 (5)用户输入QUIT退出 (6)内部命令有dir, cd, md,rd, cls, date, time, ren, copy等. 二.实验内容 根据

实验一、熟悉DOS命令

实验一.熟悉DOS命令 专业:网工1401      姓名:卓奕源      学号:201406114311 一. 实验目的 1.从操作系统理论的观点来了解和掌握DOS有关用户接口的特点: 2.熟悉常用DOS操作命令(md.cd.rd.copy.move.del.deltree.type等DOS命令): 3.学会建立和使用简单的批处理文件: 二. 实验环境 基于MS—DOS环境 (注:MS-DOS是Microsoft公司20世纪80年代初推出的单用户单任务操作系统,由于性能和移植性较好,使用非常