操作系统 实验一 命令解释程序的编写
源代码:
#include<stdio.h> #include<stdlib.h> #include<string.h> main() { char cmd[30][30]={"dir","cd","md","rd","cls","date","time","ren", "copy","quit","help"}; char str[10]; int i; printf("Microsoft Windows [版本 10.0.10240]\n"); printf("(c) 2015 Microsoft Corporation. All rights reserved.\n\n"); while(1){ printf("C:\\Users\\Administrator>"); gets(str); for(i=0;i<20;i++){ { if(strcmp(str,cmd[0])==0) { printf("类型:内部命令\n"); printf("查看当前的目录···\n"); printf("\n"); printf("\n"); break; } else if(strcmp(str,cmd[1])==0) { printf("类型:内部命令\n"); printf("显示当前目录的名称···\n"); printf("\n"); printf("\n"); break; } else if(strcmp(str,cmd[2])==0) { printf("类型:内部命令\n"); printf("创建一个新目录···\n"); printf("\n"); printf("\n"); break; } else if(strcmp(str,cmd[3])==0) { printf("类型:内部命令\n"); printf("删除该目录....\n"); printf("\n"); printf("\n"); break; } else if(strcmp(str,cmd[4])==0) { printf("类型:内部命令\n"); printf("清屏···\n"); printf("\n"); printf("\n"); break; } else if(strcmp(str,cmd[5])==0) { printf("类型:内部命令\n"); printf("显示或设置日期···\n"); printf("\n"); printf("\n"); break; } else if(strcmp(str,cmd[6])==0) { printf("类型:内部命令\n"); printf("显示或设置系统时间···\n"); printf("\n"); printf("\n"); break; } else if(strcmp(str,cmd[7])==0) { printf("类型:内部命令\n"); printf("重命名文件···\n"); printf("\n"); printf("\n"); break; } else if(strcmp(str,cmd[8])==0) { printf("类型:内部命令\n"); printf("将至少一个文件复制到另一个位置···\n"); printf("\n"); printf("\n"); break; } else if(strcmp(str,cmd[9])==0) { return 0; } else if(strcmp(str,cmd[10])==0) { printf("类型:外部命令\n"); printf("dir\t内部命令 显示一个目录中的文件和子目录。\n"); printf("cd\t内部命令 显示当前目录的名称或将其更改。\n"); printf("md\t内部命令 创建一个目录。\n"); printf("rd\t内部命令 删除目录。.\n"); printf("cls\t内部命令 清除屏幕。\n"); printf("date\t内部命令 显示或设置日期。\n"); printf("time\t内部命令 内部命令显示或设置系统时间。\n"); printf("ren\t内部命令 重新命名文件。\n"); printf("cope\t内部命令 将至少一个文件复制到另一个位置。\n"); printf("help\t外部命令 提供Windows命令的帮助信息。\n"); printf("quit\t外部命令 退出命令解释程序\n"); printf("\n"); printf("\n"); break; }else if(strcmp(str,cmd[i])!=0){ printf("此命令不是内部或外部命令,也不是可运行的程序或批处理文件\n"); printf("\n"); break;} } } } }