实验一、命令解释程序

#include<stdio.h> 
#include<string.h> //在使用到字符数组时需要使用
#include<stdlib.h>
void main() 
{  
    int system(const char *string);
    //定义数组中的值
    char cmd[20][20]={"dir","cd","md","rd","cls","date","time","ren","copy","help","quit"};  
    char str[20];
    //Init(str);
    printf("Microsoft Windows [版本 10.0.10240]
");//设置标题
    printf("(C) 2015 Microsoft Corporation. All rights reserved.
");
    while(1)//进入函数循环
    {
        printf("
C:\Users\mj>");
        gets(str);
        int i,date;
        for(i=0; '' != str[i]; i++)//for循环遍历s串
        {  
            if(str[i] >= 'A' && str[i] <= 'Z') //判断是不是大写字母
                str[i] += 32;  //转换成小写
        }
        if(strcmp(str,cmd[0])==0)//判断输入单词是否与cmd数组中的对应
        {            
            //system(str);
            printf("dir     内部命令:显示一个目录中的文件和子目录
");
            printf("
驱动器 C 中的卷是 系统
卷的序列号是 0E33-63F0

C:Usersmj 的目录

2016/03/19  15:47    <DIR>         .
2016/03/10  16:28    <DIR>          Music
2016/03/12  17:20    <DIR>          OneDrive
2016/03/10  16:28    <DIR>          Pictures
2016/03/10  16:28    <DIR>          Saved Games
2016/03/10  16:28    <DIR>          Searches
2016/03/10  16:28    <DIR>          Videos
              4 个文件          2,159 字节
             19 个目录 33,779,773,440 可用字节
");
        }
        else if(strcmp(str,cmd[1])==0)
        {
            printf("C:\Users\mj
");
            printf("cd     内部命令:显示当前目录的名称或将其更改
");
        }
        else if(strcmp(str,cmd[2])==0)
        {
            system("md");
            printf("md     内部命令:建立一个目录或文件夹.dos下面习惯叫目录,win下面习惯叫文件夹
");
        }
        else if(strcmp(str,cmd[3])==0)
        {
            system("rd");
            printf("rd     内部命令:删除目录
");
        }
        else if(strcmp(str,cmd[4])==0)
        {
            system("cls");
            printf("cls     内部命令:清除屏幕
");
        }
        else if(strcmp(str,cmd[5])==0)
        {
            printf("date     内部命令:显示或设置日期
");
            printf("当前日期: 2016/03/24 周四
输入新日期: (年月日):
");        
        }
        else if(strcmp(str,cmd[6])==0) 
        {
            printf("当前时间: 21:45:07.86
");
            printf("time     内部命令:显示或设置系统时间
");
        }
        else if(strcmp(str,cmd[7])==0)
        { 
            printf("ren     内部命令:重新命名文件,ren命令的格式是:ren 源文件名目的文件名
");
        }
        else if(strcmp(str,cmd[8])==0)
        {
            printf("copy     内部命令:将至少一个文件复制到另一个位置
");
        }
        else if(strcmp(str,cmd[9])==0)
        {
            printf("dir    显示一个目录中的文件和子目录
");
            printf("cd     显示当前目录的名称或将其更改
");
            printf("md     建立一个目录或文件夹.dos下面习惯叫目录,win下面习惯叫文件夹
");
            printf("rd     删除目录
");
            printf("cls    清除屏幕
");
            printf("date   显示或设置日期
");
            printf("time   显示或设置系统时间
");
            printf("ren    重新命名文件,ren命令的格式是:ren 源文件名目的文件名
");
            printf("copy   将至少一个文件复制到另一个位置
");
            printf("help   提供Windows命令的帮助信息
");
            printf("quit   退出命令解释程序
");
            printf("
有关工具的详细信息,请参阅联机帮助中的命令行参考。
");
        }
        else if(strcmp(str,cmd[10])==0)
            return;
            else
        {
            printf("'%s' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
",str);
        }
    }
}

原文地址:https://www.cnblogs.com/maijinjun/p/5319518.html