实验一 命令解释程序的编写
2015-04-06 10:09 33刘梦云 阅读(1200) 评论(2) 编辑 收藏 举报实验一 命令解释程序的编写
一、目的和要求
1.2 实验目的
(1)掌握命令解释程序的原理;
(2)掌握简单的DOS调用方法;
(3)掌握C语言编程初步。
1.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> int main() { char s2[20][20]={"dir","cd","md","rd","cls","date", "time","ren","copy","help","quit"}; //定义数组,将所需的命令存入到数组内,需要的时候就调用 char s1[20]; while(1){ printf("请输入显示符:"); gets(s1); //利用strcmp(s1,s2)来判断 if(strcmp(s1,s2[0])==0) { printf("dir 无参数:查看当前所在目录的文件和文件夹。这是一个内部命令\n"); } else if(strcmp(s1,s2[1])==0) { printf("cd 目录名:进入特定的目录。这是一个内部命令\n"); } else if(strcmp(s1,s2[2])==0) { printf("md 目录名:建立特定的文件夹。dos下面习惯叫目录,win下面习惯叫文件夹。这是一个内部命令\n"); } else if(strcmp(s1,s2[3])==0) { printf("rd 目录名:删除特定的文件夹。这是一个内部命令\n"); } else if(strcmp(s1,s2[4])==0) { printf("cls 目录名:清除屏幕。这是一个内部命令\n"); } else if(strcmp(s1,s2[5])==0) { printf("date 设置日期命令,功能是设置日期。这是一个内部命令\n"); } else if(strcmp(s1,s2[6])==0) { printf("time 系统时钟设置命令,功能:设置或显示系统时间。这是一个内部命令\n"); } else if(strcmp(s1,s2[7])==0) { printf("ren 表示文件改个名字,ren命令的格式是:ren源文件名 目的文件名。这是一个内部命令\n"); } else if(strcmp(s1,s2[8])==0) { printf("copy 表示复制命令,它的功能是复制信息。这是一个内部命令\n"); } else if(strcmp(s1,s2[9])==0) { printf("提供Windows命令的帮助信息\n"); printf("dir 无参数:查看当前所在目录的文件和文件夹。这是一个内部命令\n"); printf("cd 目录名:进入特定的目录。这是一个内部命令\n"); printf("md 目录名:建立特定的文件夹。dos下面习惯叫目录,win下面习惯叫文件夹。这是一个内部命令\n"); printf("rd 目录名:删除特定的文件夹。这是一个内部命令\n"); printf("cls 目录名:清除屏幕。这是一个内部命令\n"); printf("date 设置日期命令,功能是设置日期。这是一个内部命令\n"); printf("time 系统时钟设置命令,功能:设置或显示系统时间。这是一个内部命令\n"); printf("ren 表示文件改个名字,ren命令的格式是:ren源文件名 目的文件名。这是一个内部命令\n"); printf("copy 表示复制命令,它的功能是复制信息。这是一个内部命令\n"); } else if(strcmp(s1,s2[10])==0) { printf("这是一个外部命令\n"); return 0; } else { printf("你输入错误的信息,请重新输入:\n"); } } }
五、运行结果
总结:
这是《操作系统教程》这一门课程当中的第一个编写代码的实验。说实话,做这个实验时遇到过许多问题,虽然说以前就已经有学习过用C语言来编写代码,但因为成绩一直不怎么理想,而且,在结束关于C语言的学习之后的课外并没有再接触过C,所以说,在做这个实验之前,我对于C还是不太熟悉。但是,经过了同学们的指导以及自己上网查了资料,最终还是很顺利地把这个关于DOS命令的程序编写了出来。其实,在编这个程序的过程中,因为错误的方法而使得这个程序进入了死循环,所幸的是,通过查找问题还是解决了这个问题,最终完善了这个程序。经过这次实验,我对于C语言的编程方法有了深一步的理解,希望在以后的编程当中能够更深一步地理解它以及熟练地运用它。