实验一
一、 实验目的
(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.源程序名assignment.c
可执行程序名:assignment.exe
2.原理分析及流程图
先将命令符由字符串数组储存,用户输入命令进行语句匹配,我的程序根据用户输入的不同而会有不同的结果,具体请各位观察我的代码自己运行一下看看效果。
3.主要程序段及其解释:
char general[20],count[20][20]={"dir","DIR","cd","CD","md","MD","rd","RD","cls","CLS","date","DATE","time","TIME","ren","REN","copy","COPY","help","HELP"};
//字符数组count用于存储命令符,general变量用户输入的命令符
gets(general); //获得用户输入的命令
if((strcmp(general,"quit")==0)||(strcmp(general,"QUIT")==0)) //如果是用户想退出输入了QUIT或者quit 程序将退出
{ puts("see you!\n");
break;
}
for(i=0;i<20;i++) //将用户输入的命令和已编写好的命令循环进行对比。
{
if((strcmp(general,count[i]))==0)
{
bingo=i;
break;
}
}
bingo=20;//在switch case之后这个语句 能让下一次用户使用时不会出现错误,因为20是default属于情况。如果下一次用户输入的命令没有匹配到,则这个语句就起作用了。
4.运行结果及分析
用户进入界面后,给出使用提示:
输入相应的命令则产生相应的语句
当输入尚未定义的命令时产生的语句
四、 实验总结
这次实验的难度相对于以前学过C语言的我来说,难度不是很大。通过这次作业,很好地让我重新复习了一下C语言。在这次实验我认为最难的一部分就是逻辑,在最后的语句中bingo=20是很好的逻辑表现,以防下一次用户输入命令时出现错误。