一、目的和要求
1. 实验目的
(1)认识DOS;
(2)掌握命令解释程序的原理;
(3)掌握简单的DOS调用方法;
(4)掌握C语言编程初步。
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>
void main(){
char command[20];
char s[20][20]={"dir","cd","md","rd","cls","date","time","ren","copy","help","quit","haha","hehe","xixi"};
int count,key;
while(strcmp(command,"quit")!=0){
printf("Please input command: ");
gets(command);
for(count=0;count<20;count++){
if(strcmp(command,s[count])==0){
key=count;
}
}
switch(key){
case 0:
printf("dir表示无参数:查看当前所在目录的文件和文件夹 ");
break;
case 1:
printf("cd 目录名:进入特定的目录。 ");
break;
case 2:
printf("md 目录名:建立特定的文件夹。dos下面习惯叫目录,win下面习惯叫文件夹 ");
break;
case 3:
printf("rd 目录名:删除特定的文件夹。 ");
break;
case 4:
printf("cls 目录名:表示清屏功能 ");
break;
case 5:
printf("data 设置日期命令 ,功能是设置日期 ");
break;
case 6:
printf("time系统时钟设置命令,功能:设置或显示系统时期。 ");
break;
case 7:
printf("ren表示文件改个名字,ren命令的格式是:ren 源文件名 目的文件名。 ");
break;
case 8:
printf("copy表示复制命令,他的功能的复制信息 ");
break;
case 9:
printf("我不会救你的 ");
break;
case 11:
printf("哈哈 ");
break;
case 12:
printf("呵呵 ");
break;
case 13:
printf("嘻嘻 ");
break;
}
}
printf("you`ve quit the dos ");
}
五.心得体会
虽然对C语言语法有一定的了解,但是要求在DOS命令程序中来实行还是有一定的困难,可能是初次接触这样的实验吧。还好在和同学的讨论之后,初步可以完成了该实验的编写,希望以后的实验课程可以越来越顺利。