实验一报告

实验一、认识DOS实验

专业:物联网工程   姓名:张欣怡  学号201306104135

一、 实验目的     

        (1)认识DOS

      (2)掌握命令解释程序的原理;

      (3)掌握简单的DOS调用方法;

      (4)掌握C语言编程初步

二、 实验内容和要求    

  根据要求,完成设计、编码、测试工作。

 

  编写类似于DOSUNIX的命令行解释程序

     (1)自行定义系统提示符

     (2)自定义命令集(8-10个)

     (3)用户输入HELP以查找命令的帮助

     (4)列出命令的功能,区分内部还是外部命令

     (5)用户输入QUIT退出

     (6)内部命令有dir, cd, md,rd, cls, date, time, ren, copy等。

 

三、 实验方法、步骤及结果测试

  1. 源程序名:1230.c     可执行程序名:1230.exe
  2. 原理分析及流程图      

  主要总体设计问题:用C语言编写一个解释DOS系统的某些指令的解释。输入某个指令,就会显示这个指令的意思。

      核心的程序段(算法):

显示程序提示信息;

While(1)

{ 显示提示符;

接收键盘的字符串;

判断是否quit程序退出指令,是则退出;

判断是否内部命令,并给出相应的信息,否则给出错误信息; 

显示退出程序信息;

   本程序定义一个字符数组,输入一个字符串,用gets获得,用字符串的比较,对应到某个字符数组里的其中一个。用if--else实现选择;用while进行循环,可以进行查询。但运行quit指令时,程序就会退出。

3.主要程序段及其解释:

#include<stdio.h>

#include<string.h>

void main() 

{       

char cmd[20][20]={"dir","cd","md","rd","data","copy","help","quit"};     /*定义一个字符数组   

char cm[20];   

printf("`````````````欢迎进入DOS系统``````````````");

while(1){         /*while循环进行连续查询  

printf("\n输入:");      

gets(cm);

if(strcmp(cm,cmd[0])==0)   /* 输入的字符与数组中第0个字符进行比较

{   

printf("dir 查看当前所在目录的文件和文件夹\n"); /*若匹配则输出该字符的解释

}  

else if(strcmp(cm,cmd[1])==0) /*  若不匹配,则与其他的进行比较

{  

printf("cd 进入特定的目录\n");

}

else if(strcmp(cm,cmd[2])==0) {   

printf("md 建立特定的目录\n");

}

else if(strcmp(cm,cmd[3])==0) {   

printf("rd 删除特定的文件夹\n");

}

else if(strcmp(cm,cmd[4])==0) {  

printf("data 设置日期命令\n");

}

else if(strcmp(cm,cmd[5])==0) {   

printf("copy 复制文件\n");

}

else if(strcmp(cm,cmd[6])==0) {   /* 输入help指令则输出在数组定义的所有字符的解释

printf("dir 查看当前所在目录的文件和文件夹\n");  

printf("cd 进入特定的目录\n");  

printf("md 建立特定的目录\n");  

printf("rd 删除特定的文件夹\n");  

printf("data 设置日期命令\n");  

printf("copy 复制文件\n");

}

else if(strcmp(cm,cmd[7])==0) {    /*若输入quit,则退出程序

printf("退出!");    

return;

}

else {    /*如果输入数组中没有定义的字符或其他,则显示错误信息

printf("输入错误,重新输入: ");

}

}

}

4.运行结果及分析

四、 实验总结

    在本次实验中,刚开始还不知道用什么软件写,所以感觉很困难。后面发现这是一个用C语言写的一个程序,就有了头绪。在实验中,对数组的定义要加一对双引号。程序的其他部分,进行的还是挺顺利的。

posted @ 2015-10-09 18:58  35张欣怡  阅读(160)  评论(0编辑  收藏  举报