命令解释程序的编写实验报告Word文档下载推荐.docx
《命令解释程序的编写实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《命令解释程序的编写实验报告Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
(2)自定义命令集(8-10个)
(3)用户输入HELP以查找命令的帮助
(4)列出命令的功能,区分内部还是外部命令
(5)用户输入QUIT退出
(6)内部命令有dir,cd,md,rd,cls,date,time,ren,copy等。
三、实验方法、步骤及结果测试
1、本程序采用了c语言中的while语句和if…elseif的嵌套的方法完成。
将所需的命令字符串存到定义的数组内,从键盘输入利用strcmp进行筛选,若输入正确的命令会显示此命令的解释。
输入“help”会提示,将命令提示全部显示出来,而输入“quit”就会退出程序。
2、主要程序段
#include<
stdio.h>
#include<
stdlib.h>
#include<
string.h>
main()
{
charcmd[30][30]={"
dir"
"
cd"
md"
rd"
cls"
date"
time"
ren"
"
copy"
quit"
help"
};
charstr[10];
inti;
while
(1){
printf("
请输入提示符:
>
"
);
gets(str);
for(i=0;
i<
20;
i++){
{
if(strcmp(str,cmd[0])==0)
printf("
类型:
内部命令\n"
查看当前的目录·
·
\n"
break;
}
elseif(strcmp(str,cmd[1])==0)
显示当前目录的名称·
elseif(strcmp(str,cmd[2])==0)
创建一个新目录·
elseif(strcmp(str,cmd[3])==0)
删除该目录....\n"
elseif(strcmp(str,cmd[4])==0)
清屏·
elseif(strcmp(str,cmd[5])==0)
显示或设置日期·
elseif(strcmp(str,cmd[6])==0)
显示或设置系统时间·
elseif(strcmp(str,cmd[7])==0)
重命名文件·
elseif(strcmp(str,cmd[8])==0)
将至少一个文件复制到另一个位置·
elseif(strcmp(str,cmd[9])==0)
return0;
这一段则是主要的程序内容,用while语句进行选择,然后用if…elseif进行嵌套。
当输入对应的命令则可以显示其命令解释,还可输入help进行查看命令行提示,输入quit后则退出程序。
利用strcmp进行判断,虽然程序较为冗余,但是清晰明了。
源代码:
elseif(strcmp(str,cmd[10])==0)
外部命令\n"
dir\t内部命令显示一个目录中的文件和子目录。
cd\t内部命令显示当前目录的名称或将其更改。
md\t内部命令创建一个目录。
rd\t内部命令删除目录。
.\n"
cls\t内部命令清除屏幕。
date\t内部命令显示或设置日期。
time\t内部命令内部命令显示或设置系统时间。
ren\t内部命令重新命名文件。
cope\t内部命令将至少一个文件复制到另一个位置。
help\t外部命令提供Windows命令的帮助信息。
quit\t外部命令退出命令解释程序\n"
/*printf("
CALL\t从一个批处理程序调用这一个。
CMD\t打开另一个Windows命令解释窗口。
COLOR\t设置默认控制台前景和背景颜色。
DEL\t删除至少一个文件。
EXIT\t退出命令解释程序。
FIND\t在一个或多个文件中搜索一个文本字符串。
MKDIR\t创建一个目录。
MODE\t配置系统设备。
PRINT\t打印一个文本文件。
REPLACE\t替换文件。
RENAME\t重新命名文件。
*/
break;
}elseif(strcmp(str,cmd[i])!
=0){
此命令不是内部或外部命令,也不是可运行的程序或批处理文件\n"
printf("
}
}
3、运行结果分析
这是进入程序的界面
Dir命令
Help命令
输入错误命令
退出命令
四、实验总结
做这个程序的时候遇到很多问题,因为对c语言不太熟悉,但是经过了上网查找及同学的指导后,我顺利的做出了这个程序。
经过了这次实验,我对c语言有了深一步的了解,希望以后更加熟悉然后能用C语言弄出更多小程序。