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

13物联网  陈志昊  201306104104

一、 实验目的

(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.源程序名assignment.c

        可执行程序名:assignment.exe

    2.原理分析及流程图

       先将命令符由字符串数组储存,用户输入命令进行语句匹配,我的程序根据用户输入的不同而会有不同的结果,具体请各位观察我的代码自己运行一下看看效果。

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

char general[20],count[20][20]={"dir","DIR","cd","CD","md","MD","rd","RD","cls","CLS","date","DATE","time","TIME","ren","REN","copy","COPY","help","HELP"};              

 //字符数组count用于存储命令符,general变量用户输入的命令符

gets(general);    //获得用户输入的命令
if((strcmp(general,"quit")==0)||(strcmp(general,"QUIT")==0))   //如果是用户想退出输入了QUIT或者quit 程序将退出
{ puts("see you!\n");
break;
}

for(i=0;i<20;i++)                       //将用户输入的命令和已编写好的命令循环进行对比。
{
if((strcmp(general,count[i]))==0)
{
bingo=i;
break;
}
}

bingo=20;//在switch case之后这个语句 能让下一次用户使用时不会出现错误,因为20是default属于情况。如果下一次用户输入的命令没有匹配到,则这个语句就起作用了。

     4.运行结果及分析

用户进入界面后,给出使用提示:

输入相应的命令则产生相应的语句

当输入尚未定义的命令时产生的语句

 

四、 实验总结

  这次实验的难度相对于以前学过C语言的我来说,难度不是很大。当然了,由于知识太久没有复习,一些语法和语句有些淡忘了。通过这次作业,很好地让我重新复习了一下C language。在这次实验我认为最难的一部分就是逻辑,在最后的语句中bingo=20是很好的逻辑表现,以防下一次用户输入命令时出现错误。

  谢谢老师的细心教导和布置了一个不仅能让我们对DOS有所了解而且能让我们重新复习C语言的作业。谢谢老师。