实验一 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等。

 

二、实验内容

  根据要求,完成设计、编码、测试工作。

 

三、实验环境

  1.PC微机

  2.Windows 操作系统

  3.C/C++程序开发集成环境

 

四、实验原理及核心算法参考程序段

 1.原理分析及流程图

2.源程序

#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];
    while(1)
    {
        printf("请输入显示符");
        gets(str);
    if(strcmp(str,cmd[0])==0)
    {
        printf("dir:内部命令 显示一个目录中的文件和子目录。
");
    }
    else if(strcmp(str,cmd[1])==0)
    {
        printf("cd:内部命令 显示当前目录的名称或将其更改。
");
    }
    else if(strcmp(str,cmd[2])==0)
    {
        printf("md:内部命令 创建一个目录。
");
    }
    else if(strcmp(str,cmd[3])==0)
    {
        printf("rd:内部命令 删除目录。
");
    }
    else if(strcmp(str,cmd[4])==0)
    {
        printf("cls:内部命令 清除屏幕。
");
    }
        else if(strcmp(str,cmd[5])==0)
    {
        printf("data:内部命令 显示或设置日期。
");
    }
    else if(strcmp(str,cmd[6])==0)
    {
        printf("time:内部命令 内部命令显示或设置系统时间。.
");
    }
    else if(strcmp(str,cmd[7])==0)
    {
        printf("ren:内部命令 重新命名文件。
");
    }
    else if(strcmp(str,cmd[8])==0)
    {
        printf("copy:内部命令 将至少一个文件复制到另一个位置。
");
    }
    else if(strcmp(str,cmd[9])==0)
    {
    printf("类型:外部命令
"); 
    printf("dir	内部命令 显示一个目录中的文件和子目录。
"); 
    printf("cd	内部命令 显示当前目录的名称或将其更改。
"); 
    printf("md	内部命令 创建一个目录。
"); 
    printf("rd	内部命令 删除目录。.
"); 
    printf("cls	内部命令 清除屏幕。
"); 
    printf("date	内部命令 显示或设置日期。
"); 
    printf("time	内部命令 内部命令显示或设置系统时间。
"); 
    printf("ren	内部命令 重新命名文件。
"); 
    printf("copy	内部命令 将至少一个文件复制到另一个位置。
"); 
    printf("help	外部命令 提供Windows命令的帮助信息。
"); 
    printf("quit	外部命令 退出命令解释程序
"); 
    printf("
"); 
    printf("
"); 
    }
    else if(strcmp(str,cmd[10])==0)
    { 
         printf("quit:886
:");
         return;
    }
    else
    {
        printf("你输入错误的信息,请重新输入:
");
    }
    }

}

实验结果分析:

1.输入help后显示:

2.举例输入date:

五:实验总结

    通过这次实验可以复习了大一的C,通过网上查阅及得到同学的帮助后顺利完成了实验操作。

原文地址:https://www.cnblogs.com/johnfish/p/5051195.html