标签:
实验一、 DOS命令解释程序的编写
物联网工程 刘烨 201306104146
一、 实验目的
(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.源程序名:caozuo.c
可执行程序名:caozuo.exe
2.原理分析及流程图
主要算法:运用while(1)循环语句,在while(1)里面主要用if 与 else if的嵌套实现。在程序中,将数组把命令集存储起来,后用strcmp( )来将用户输入的字符串与数组的进行比较,若正确,则出现相关命令功能。若不正确,则会提醒用户输入错误,要求重新输入。
3.主要程序段及其解释:
main()
{
char com[30][30]={"dir","cd","md","rd","cls","date","time",
"ren","copy","help","arp","start","mem","winver","format","taskmgr","netsh","status","system","quit"}; //此数组将命令集存储起来
char str1[30];//定义另一个数组用于存储用户输入的字符串
while (1)
{
printf("input the command:");
gets(str1); //获取用户输入的字符串
if (strcmp(str1,com[0])==0) //将命令集数组元素与用户输入的字符串作比较
printf("dir 表示无参数:查看当前所在目录的文件和文件夹\n");
else if (strcmp(str1,com[1])==0)
printf("cd 目录名:进入特定的目录\n");
......
......
......
else if (strcmp(str1,com[19])==0)
return ; //若用户输入字符串quit,则退出程序
else
printf("你输入的信息错误!请重新输入:\n");
}
}
4.运行结果及分析
用户输入HELP以查找命令的帮助
用户输入其他命令
用户输入错误
用户输入quit则退出程序
四、 实验总结
在开始实验前,曾想过用while循环里嵌套else if语句来实现,但却忘记了如何比较字符串。查找了书籍后清楚了strcmp()的用法。在编写完成后,利用VC++编译,仍有些错误。虽然只是简单的C语言编写,但若不够仔细,依然完成不了工作。
标签:
原文地址:http://www.cnblogs.com/46ly/p/4859270.html