命令解析程序的编写
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]\n"); 10 printf("<c> 版权所有 1985-2001 Microsoft Corp\n\n"); 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("类型:内部命令\n"); 21 printf("显示一个目录中的文件和子目录。\n"); 22 printf("\n"); 23 printf("\n"); 24 break; 25 } 26 else if(strcmp(str,cmd[1])==0) 27 { 28 printf("类型:内部命令\n"); 29 printf("显示当前目录的名称或将其更改。\n"); 30 printf("\n"); 31 printf("\n"); 32 break; 33 } 34 else if(strcmp(str,cmd[2])==0) 35 { 36 printf("类型:内部命令\n"); 37 printf("创建一个新目录···\n"); 38 printf("\n"); 39 printf("\n"); 40 break; 41 } 42 else if(strcmp(str,cmd[3])==0) 43 { 44 printf("类型:内部命令\n"); 45 printf("删除该目录....\n"); 46 printf("\n"); 47 printf("\n"); 48 break; 49 } 50 else if(strcmp(str,cmd[4])==0) 51 { 52 /*printf("类型:内部命令\n"); 53 printf("清屏···\n"); */ 54 system("cls"); 55 printf("\n"); 56 printf("\n"); 57 break; 58 } 59 else if(strcmp(str,cmd[5])==0) 60 { 61 printf("类型:内部命令\n"); 62 printf("显示或设置日期。\n"); 63 printf("\n"); 64 printf("\n"); 65 break; 66 } 67 else if(strcmp(str,cmd[6])==0) 68 { 69 printf(" 类型:内部命令\n"); 70 printf("内部命令显示或设置系统时间。\n"); 71 printf("\n"); 72 printf("\n"); 73 break; 74 } 75 else if(strcmp(str,cmd[7])==0) 76 { 77 printf("类型:内部命令\n"); 78 printf("重命名文件···\n"); 79 printf("\n"); 80 printf("\n"); 81 break; 82 } 83 else if(strcmp(str,cmd[8])==0) 84 { 85 printf("类型:内部命令\n"); 86 printf("将至少一个文件复制到另一个位置。\n"); 87 printf("\n"); 88 printf("\n"); 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("类型:外部命令\n"); 98 printf("DIR\t内部命令 显示一个目录中的文件和子目录。\n"); 99 printf("CD\t内部命令 显示当前目录的名称或将其更改。\n"); 100 printf("MD\t内部命令 创建一个目录。\n"); 101 printf("RD\t内部命令 删除目录。.\n"); 102 printf("CLS\t内部命令 清除屏幕。\n"); 103 printf("DATE\t内部命令 显示或设置日期。\n"); 104 printf("TIME\t内部命令 内部命令显示或设置系统时间。\n"); 105 printf("REN\t内部命令 重新命名文件。\n"); 106 printf("COPY\t内部命令 将至少一个文件复制到另一个位置。\n"); 107 printf("HELP\t外部命令 提供Windows命令的帮助信息。\n"); 108 printf("QUIT\t外部命令 退出命令解释程序\n"); 109 printf("\n"); 110 printf("\n"); 111 break; 112 } 113 else if(strcmp(str,cmd[i])!=0){ 114 printf("此命令不是内部或外部命令,也不是可运行的程序或批处理文件\n"); 115 printf("\n"); 116 break; 117 } 118 } 119 } 120 } 121 }
能兼容大小写:
输入正确命令:
输入错误命令:
退出: