一、 实验目的
(1)认识DOS;
(2)掌握命令解释程序的原理;
(3)掌握简单的DOS调用方法;
(4)掌握C语言编程初步。
二、 实验内容和要求
编写类似于DOS,UNIX的命令行解释程序
(1)自行定义系统提示符
(2)自定义命令集(8-10个)
(3)用户输入HELP以查找命令的帮助
(4)列出命令的功能,区分内部还是外部命令
(5)用户输入QUIT退出
(6)内部命令有dir, cd, md,rd, cls, date, time, ren, copy等。
根据要求,完成设计、编码、测试工作。
三、 实验方法、步骤及结果测试
源程序名1.c
可执行程序名:1.exe
2.流程图:
3.主要程序段及其解释:
#include<stdio.h> #include<string.h> main() { char cmd[20][20]={"cd"," md","rd","dir", "cls", "date","time","ren","copy","help","quit"}; char str[20]; while(1) { printf("输入字符:"); gets(str); if(strcmp(str,cmd[0])==0) { printf("cd目录名:进入特定的目录 "); } else if(strcmp(str,cmd[1])==0) { printf("md目录名:建立特定的文件夹,dos下面习惯叫目录,win下面习惯叫文件夹 "); } else if(strcmp(str,cmd[2])==0) { printf("rd目录名:删除特定的文件夹 "); } else if(strcmp(str,cmd[3])==0) { printf("dir表示无参数:查看当前所在的目录的文字和文件夹 "); } else if(strcmp(str,cmd[4])==0) { printf("cls:清除屏幕 "); } else if(strcmp(str,cmd[5])==0) { printf("data:设置日期命令,功能是设置日期 "); } else if(strcmp(str,cmd[6])==0) { printf("time:系统时钟设置命令,功能:设置或显示系统时期. "); } else if(strcmp(str,cmd[7])==0) { printf("ren:表示文件改个名字,ren命令的格式是:ren源文件名的文件名 "); } else if(strcmp(str,cmd[8])==0) { printf("copy:表示复制命令,把一个文件拷贝到另一个地方 "); } else if(strcmp(str,cmd[9])==0) { printf("cd:进入特定的目录;md:建立特定的文件夹,dos下面习惯叫目录,win下面习惯叫文件夹;rd:删除特定的文件夹;dir:查看当前所在的目录的文字和文件夹;cls:清除屏幕;date:设置日期命令,功能是设置日期;time:系统时钟设置命令,功能:设置或显示系统时期;ren:表示文件改个名字,ren命令的格式是:ren源文件名的文件名;copy:表示复制命令,把一个文件拷贝到另一个地方;quit:退出 "); } else if(strcmp(str,cmd[10])==0) return; else { printf("输入有误,请重新输入: "); } } }
4.运行结果:
四.实验总结:
通过此次的实验内容,让我重新拾回了最初的C语言命令,在刚开始编译次程序的时候多少都会存在写遗忘了词汇,但经过与同学的交流学习最终得到正确的答案,并且让自己对此部分的内容更加难忘,所以说是很有意义的。