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

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

商软2班   李浩然  201406114227

一、 实验目的

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

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

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

二、 实验内容和要求

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

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

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

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

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

(5)用户输入QUIT退出

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

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

#include<stdio.h>
#include<string.h>
char *cmd[]={"dir","cd","md","rd","cls","date","time","ren","copy","help","quit"};
void Strcmp1(char *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("date 内部命令 显示或设置日期
");}
    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("cope 内部命令 将至少一个文件复制到另一个位置
");}
    else if(strcmp(str,cmd[9])==0)
    {
        printf("有关某个命令的详细信息,请键入 HELP 命令名
");
        printf("dir 内部命令 显示一个目录的文件和子目录
");
        printf("cd  内部命令 显示当前目录的名称或将其更改
");
        printf("md  内部命令 创建一个目录
");
        printf("rd  内部命令 删除目录
");
        printf("cls 内部命令 清除屏幕
");
        printf("date 内部命令 显示或设置日期
");
        printf("time 内部命令 内部命令显示或设置系统时间
");
        printf("ren 内部命令 重新命名文件
");
        printf("cope 内部命令 将至少一个文件复制到另一个位置
");
        printf("help 外部命令 提供Window命令的帮助信息
");
        printf("quit 外部命令 退出命令解释程序
");
        printf("有关某个工具的详细信息,请参阅联机帮助中的命令行参考

");
    }
    else if(strcmp(str,cmd[10])==0)
        exit(0);
    else
    {    
        printf("'%s'不是内部或外部命令,也不是可运行的程序
",str);
        printf("或批处理文件。
");
    }


}
main()
{
    char str[10];
    printf("Microsoft Windows [版本 6.1.7601]
");
    printf("版权所有 (c) 2009 Microsoft Corporation。保留所有权利

");    
    while(1)
    {
        printf("C:/Users/Administrator>");
        scanf("%s",str);
        Strcmp1(str);
    }

}
原文地址:https://www.cnblogs.com/range/p/5320132.html