一、 实验目的
(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.PC微机
2.Windows 操作系统
3.C/C++程序开发集成环境
四 实验代码
#include<stdio.h>
#include<string.h>
main()
{
char cmd[20][20]={"dir", "cd","md","rd", "cls", "date","time","ren","copy","help","quit"};
char str[20];
while(1)
{
printf("请输入显示符");
gets(str);//gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取
if(strcmp(str,cmd[0])==0)
{
printf("dir表示无参数:查看当前所在的目录的文字和文件夹\n");
}
else if(strcmp(str,cmd[1])==0)
{
printf("cd目录名:进入特定的目录\n");
}
else if(strcmp(str,cmd[2])==0)
{
printf("md目录名:建立特定的文件夹\n");
}
else if(strcmp(str,cmd[3])==0)
{
printf("rd目录名:删除特定的文件夹\n");
}
else if(strcmp(str,cmd[4])==0)
{
printf("cls清除屏幕\n");
}
else if(strcmp(str,cmd[5])==0)
{
printf("data设置日期命令\n");
}
else if(strcmp(str,cmd[6])==0)
{
printf("time系统时钟设置命令\n");
}
else if(strcmp(str,cmd[7])==0)
{
printf("ren表示文件改个名字\n");
}
else if(strcmp(str,cmd[8])==0)
{
printf("copy表示复制命令\n");
}
else if(strcmp(str,cmd[9])==0)
{
printf("dir表示无参数:查看当前所在的目录的文字和文件夹\n");
printf("cd目录名:进入特定的目录\n");
printf("md目录名:建立特定的文件夹\n");
printf("rd目录名:删除特定的文件夹\n");
printf("cls清除屏幕\n");
printf("data设置日期命令\n");
printf("time系统时钟设置命令\n");
printf("ren表示文件改个名字\n");
printf("copy表示复制命令\n");
}
else if(strcmp(str,cmd[10])==0)
return;
else
{
printf("你输入错误的信息,请重新输入:\n");
}
}
}
五 实验结果和截图
运行程序的开始界面
输入help,显示所有命令字符和功能
输入错误字符,提示用户重新输入
例子
输入quit,退出循环
六 总结和体会
这次实验运用的是C语言来编程,但是对于大一所学的知识有所忘记,就上网和在书上查找相关的资料,
最后完成程序。