#include<stdio.h> #include<conio.h> #include<string.h> #include<stdlib.h> #define N 200 struct OS { int a; char hbt[50]; char hbt1[100]; }; struct OS cmd[N]; main() { FILE *fp; int i,n; char str[N]; printf("Micrcmdoft Windows [版本 6.1.7601 ] "); printf("版本所有 <c> 2009 Micrcmdoft Corporation。保留所有权利 "); fp=fopen("cmd.txt","r+"); for(i=0;!feof(fp);i++) { fscanf(fp,"%s%s%d",cmd[i].hbt,cmd[i].hbt1,&cmd[i].a); n=i; } fclose(fp); while(1){ printf("D:UsersJC>"); gets(str); for(i=0;i<=n;i++) { if(stricmp(str,"help")==0) { for(i=0;i<=n;i++) { printf("%s %s ",cmd[i].hbt,cmd[i].hbt1); } break; } if((stricmp(str,cmd[i].hbt)==0)&&(cmd[i].a==1)) { printf(""%s"是内部命令,输入正确 ",cmd[i].hbt); printf("该命令的作用是:%s ",cmd[i].hbt1); break; } else if((stricmp(str,cmd[i].hbt)==0)&&(cmd[i].a==0)) { printf(""%s"是外部命令,输入正确 ",cmd[i].hbt); printf("该命令的作用是:%s ",cmd[i].hbt1); break; } else if((stricmp(str,cmd[i].hbt)!=0)&&(i==n)) { printf("'%s'不是内部或外部命令,也不是可运行的程序或批处理文件 ",str); } } printf(" "); } }