一、目的和要求

  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:\n");

    gets(command);

    for(count=0;count<20;count++){

      if(strcmp(command,s[count])==0){

        key=count;

      }

    }

    switch(key){

      case 0:

        printf("dir表示无参数:查看当前所在目录的文件和文件夹\n");

        break;

      case 1:

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

        break;

      case 2:

        printf("md 目录名:建立特定的文件夹。dos下面习惯叫目录,win下面习惯叫文件夹\n");

        break;

      case 3:

        printf("rd 目录名:删除特定的文件夹。\n");

        break;

      case 4:

        printf("cls 目录名:表示清屏功能\n");

        break;

      case 5:

        printf("data 设置日期命令 ,功能是设置日期\n");

        break;

      case 6:

        printf("time系统时钟设置命令,功能:设置或显示系统时期。\n");

        break;

      case 7:

        printf("ren表示文件改个名字,ren命令的格式是:ren 源文件名 目的文件名。\n");

        break;

      case 8:

        printf("copy表示复制命令,他的功能的复制信息\n");

        break;

      case 9:

        printf("我不会救你的\n");

        break;

      case 11:

        printf("哈哈\n");

        break;

      case 12:

        printf("呵呵\n");

        break;

      case 13:

        printf("嘻嘻\n");

        break;

     }

  }

  printf("you`ve quit the dos\n");

}

五.心得体会

虽然对C语言语法有一定的了解,但是要求在DOS命令程序中来实行还是有一定的困难,可能是初次接触这样的实验吧。还好在和同学的讨论之后,初步可以完成了该实验的编写,希望以后的实验课程可以越来越顺利。

最新文章

  1. Axure RP动态面板操作
  2. marquee 标签 文字滚动
  3. shell 面试题
  4. 【poj2761】 Feed the dogs
  5. 动软MySQL存储过程模板
  6. Servlet 生命周期、工作原理
  7. ionic 设置logo 与 设置 启动页
  8. 学习笔记 - 数据绑定之knockout
  9. 在Android Studio中进行单元测试和UI测试
  10. struts2.1.6教程四_2、ActionContext 、ValueStack 、Stack Context
  11. nio系列(一)---nio重要组成
  12. 解决IOS iframe不滚动问题
  13. 简单单页面路由跳转demo
  14. TODO monkey笔记,PC端执行和手机端执行
  15. 2019-1-11 SQL语句汇总——聚合函数、分组、子查询及组合查询
  16. CF101D Castle
  17. mysql基础知识(1)
  18. NOIP2018划水记
  19. Linux如何解决动态库的版本控制
  20. MVC各层应该要实现的代码

热门文章

  1. Swift基础语法学习总结(转)
  2. 7.dotnet core 如何发邮件
  3. 【翻译】利用Qt设计师窗体在运行时创建用户界面(Creating a user interface from a Qt Designer form at run-time)
  4. 在Linux中查看所有正在运行的进程
  5. 定长循环队列C语言实现
  6. 如何解决sublime text 2总是在新窗口中打开文件及文件夹
  7. PBS 安装
  8. spring框架学习(四)自动装配
  9. 在checkbox中使用.prop; angular中属性的值使用变量问题
  10. Android 动画分类