命令解析程序的编写

  1 #include<stdio.h> 
  2 #include <stdlib.h> 
  3 # include<string.h> 
  4 main() 
  5 { 
  6     char cmd[20][20]={"dir","cd","md","rd","cls","date","time","ren", "copy","quit","help"}; 
  7     char str[10];  
  8     int i;  
  9     printf("Microsoft Windows XP [版本 5.1.2600]
");
 10     printf("<c> 版权所有 1985-2001 Microsoft Corp

");
 11     while(1){
 12         printf("C:Documents and Settingshskd>"); 
 13         gets(str); 
 14         strlwr(str);
 15         for(i=0;i<20;i++)
 16         { 
 17             { 
 18                 if(strcmp(str,cmd[0])==0) 
 19                 {
 20                     printf("类型:内部命令
"); 
 21                     printf("显示一个目录中的文件和子目录。
"); 
 22                     printf("
"); 
 23                     printf("
"); 
 24                     break; 
 25                 }
 26                 else if(strcmp(str,cmd[1])==0) 
 27                 {
 28                     printf("类型:内部命令
"); 
 29                     printf("显示当前目录的名称或将其更改。
"); 
 30                     printf("
"); 
 31                     printf("
"); 
 32                     break; 
 33                 }
 34                 else if(strcmp(str,cmd[2])==0) 
 35                 {
 36                     printf("类型:内部命令
"); 
 37                     printf("创建一个新目录···
"); 
 38                     printf("
"); 
 39                     printf("
"); 
 40                     break; 
 41                 }
 42                 else if(strcmp(str,cmd[3])==0) 
 43                 { 
 44                     printf("类型:内部命令
"); 
 45                     printf("删除该目录....
"); 
 46                     printf("
"); 
 47                     printf("
"); 
 48                     break; 
 49                 }
 50                 else if(strcmp(str,cmd[4])==0) 
 51                 {
 52                 /*printf("类型:内部命令
"); 
 53                     printf("清屏···
"); */
 54                     system("cls");
 55                     printf("
"); 
 56                     printf("
"); 
 57                     break; 
 58                 } 
 59                 else if(strcmp(str,cmd[5])==0) 
 60                 {
 61                     printf("类型:内部命令
"); 
 62                     printf("显示或设置日期。
"); 
 63                     printf("
"); 
 64                     printf("
"); 
 65                     break; 
 66                 } 
 67                 else if(strcmp(str,cmd[6])==0)
 68                 {
 69                     printf(" 类型:内部命令
"); 
 70                     printf("内部命令显示或设置系统时间。
"); 
 71                     printf("
"); 
 72                     printf("
"); 
 73                     break; 
 74                 }
 75                 else if(strcmp(str,cmd[7])==0) 
 76                 {
 77                     printf("类型:内部命令
"); 
 78                     printf("重命名文件···
"); 
 79                     printf("
"); 
 80                     printf("
"); 
 81                     break; 
 82                 }
 83                 else if(strcmp(str,cmd[8])==0) 
 84                 {
 85                     printf("类型:内部命令
"); 
 86                     printf("将至少一个文件复制到另一个位置。
"); 
 87                     printf("
"); 
 88                     printf("
"); 
 89                     break; 
 90                 } 
 91                 else if(strcmp(str,cmd[9])==0) 
 92                 { 
 93                     return 0;
 94                 } 
 95                 else if(strcmp(str,cmd[10])==0) 
 96                 {
 97                     //printf("类型:外部命令
"); 
 98                     printf("DIR	内部命令 显示一个目录中的文件和子目录。
"); 
 99                     printf("CD	内部命令 显示当前目录的名称或将其更改。
"); 
100                     printf("MD	内部命令 创建一个目录。
"); 
101                     printf("RD	内部命令 删除目录。.
"); 
102                     printf("CLS	内部命令 清除屏幕。
"); 
103                     printf("DATE	内部命令 显示或设置日期。
"); 
104                     printf("TIME	内部命令 内部命令显示或设置系统时间。
"); 
105                     printf("REN	内部命令 重新命名文件。
"); 
106                     printf("COPY	内部命令 将至少一个文件复制到另一个位置。
"); 
107                     printf("HELP	外部命令 提供Windows命令的帮助信息。
"); 
108                     printf("QUIT	外部命令 退出命令解释程序
");
109                     printf("
"); 
110                     printf("
"); 
111                     break;
112                 }
113                 else if(strcmp(str,cmd[i])!=0){ 
114                     printf("此命令不是内部或外部命令,也不是可运行的程序或批处理文件
"); 
115                     printf("
"); 
116                     break;
117                 }
118             }
119             }
120             }
121  }

能兼容大小写:

输入正确命令:

输入错误命令:

退出:

原文地址:https://www.cnblogs.com/14fzf/p/5317657.html