天天看點

指令解析程式的編寫

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  }      

能相容大小寫:

指令解析程式的編寫

輸入正确指令:

指令解析程式的編寫

輸入錯誤指令:

指令解析程式的編寫

退出:

指令解析程式的編寫