一、目的和要求
1. 实验目的
(1)掌握命令解释程序的原理;
(2)掌握简单的DOS调用方法;
(3)掌握C语言编程初步。
2.实验要求
编写类似于DOS,UNIX的命令行解释程序
(1)自行定义系统提示符
(2)自定义命令集(8-10个)
(3)用户输入HELP以查找命令的帮助
(4)列出命令的功能,区分内部还是外部命令
(5)用户输入QUIT退出
(6)内部命令有dir, cd, md, rd, cls, date, time, ren, copy等。
二、实验内容
根据教师指定的实验课题,完成设计、编码、测试工作。
三、实验环境
1.PC微机
2.Windows 操作系统
3.C/C++程序开发集成环境
四、实验原理及核心算法参考程序段
#include<stdio.h> #include<string.h> main() { char cmd [20][20]={"dir","cd","md","rd","date","time","cls","ren", "copy","help","quit"}; char str[20]; while(1) { printf("输入显示符"); gets(str); if(strcmp(str,cmd[0])==0) { printf("dir 表示无参数:查看当前所在目录的文件盒文件夹\n"); } else if(strcmp(str,cmd[1])==0) { printf("cd 目录名:进入特定的文件夹.\n"); } else if(strcmp(str,cmd[2])==0) { printf("md 目录名:建立特定的文件夹.\n"); } else if(strcmp(str,cmd[3])==0) { printf("rd 目录名:删除特定的文件夹.\n"); } else if(strcmp(str,cmd[4])==0) { printf("cls 目录名:表示清屏功能.\n"); } else if(strcmp(str,cmd[5])==0) { printf("data 目录名:设置日期 .\n"); } else if(strcmp(str,cmd[6])==0) { printf("time 目录名:设置时间.\n"); } else if(strcmp(str,cmd[7])==0) { printf("ren 目录名:表示文件改个名字.\n"); } else if(strcmp(str,cmd[8])==0) { printf("copy 目录名:表示复制命令.\n"); } else if(strcmp(str,cmd[9])==0) { printf("cd 目录名:进入特定的目录.\n"); printf("md 目录名:建立特定的目录.\n"); printf("dir 表示无参数:查看当前所在目录的文件盒文件夹\n"); printf("rd 目录名:删除特定的文件夹.\n"); printf("cls 目录名:表示清屏功能.\n"); printf("data 目录名:设置日期 .\n"); printf("time 目录名:设置时间.\n"); printf("ren 目录名:表示文件改个名字.\n"); printf("copy 目录名:表示复制命令.\n"); } else if(strcmp(str,cmd[10])==0) { return; } else { printf("你输入错误的信息,请重新输入\n"); } } }
五 运行结果
六 总结
这次的实验按道理来说是不难的,但是着手写的时候,什么都忘记了,大一学的基本上都忘记的光光了,所以在编写程序的时候需要询问度娘.就像一些标示符忘记了含义,还有出现一些规范性的编写的错误等等.