zoukankan      html  css  js  c++  java
  • 实验一 认识DOS

    实验一、认识DOS实验

    专业:物联网工程   姓名:柴铱琳  学号:201306104132

    一、 实验目的

    (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.源程序名:dos.c

    2.可执行程序名:dos.exe

    3.原理分析:主要算法采用if、else算法以及strcmp比较算法。先定义好一个数组,往里面输入事先定义好的11个字符,等待用户输入字符,然后通过函数的比较与选择,在屏幕上打印出所对应的解释。检测到输入QUIT字符则返回程序的开始;检测到输入没有被定义的字符则提示输入错误。

    4.程序:

    #include <stdio.h>

    #include <string.h>

    void main()

    {

    char ord[20][20]={"mem","arp","attrib","dir","set","pause","help","call","for","echo","QUIT"};

    char str[20];

    while(1)

    {

    printf("Please enter your order:");

    gets(str);    //接收用户输入的字符

    if(strcmp(str,ord[0])==0)  //字符串比较函数

    printf("mem:查看CPU使用情况. ");

    else if(strcmp(str,ord[1])==0)  //如果输入的字符与定义的相同,即等于0,则打印下列字符

    printf("arp:查看和处理ARP缓存. ");

    else if(strcmp(str,ord[2])==0)

    printf("attrib:文件/目录名,查看某文件/目录的属性. ");

    else if(strcmp(str,ord[3])==0)

    printf("dir:查看文件,参数. ");

    else if(strcmp(str,ord[4])==0)

    printf("set:显示当前所有的环境名称. ");

    else if(strcmp(str,ord[5])==0)

    printf("pause:暂停批处理程序,并显示‘请按任意键继续’. ");

    else if(strcmp(str,ord[6])==0)

    {

    printf("mem:查看CPU使用情况. ");

    printf("arp:查看和处理ARP缓存. ");

    printf("attrib:文件/目录名,查看某文件/目录的属性. ");

    printf("dir:查看文件,参数. ");

    printf("set:显示当前所有的环境名称. ");

    printf("pause:暂停批处理程序,并显示请按任意键继续. ");

    printf("call:路径、批处理文件名. ");

    printf("for:对一组文件中的每一个文件执行某个特定命令. ");

    printf("echo:信息,在屏幕上显示出信息. ");

    }

    else if(strcmp(str,ord[7])==0)

    printf("call:路径、批处理文件名. ");

    else if(strcmp(str,ord[8])==0)

    printf("for:对一组文件中的每一个文件执行某个特定命令. ");

    else if(strcmp(str,ord[9])==0)

    printf("echo:信息,在屏幕上显示出信息. ");

    else if(strcmp(str,ord[10])==0)

    return;   //如果输入QUIT,则返回

    else printf("Wrong!Enter again: ");

    }

    }

    5.流程图:

    6.运行结果:

    四、  实验总结

          在实验的过程中,如何使程序能够辨别我输入的指令是否与原先定义的指令一致,是我认为最困难的一点。通过上网查阅资料以及对C语言的学习了解,最后选择了strcmp这一比较函数,将输入的指令与定义好的相比较,如果一致,则赋值为0,进入printf语句,在屏幕上打印出指令的内容。最终使程序能够成功实现想要的效果。

  • 相关阅读:
    开源一个常用的小软件的源码——系统数据库服务管理软件
    MySql Windws 下自动备份脚本
    ubuntu-14.04-server配置Jexus --安装步骤记录
    Jumony快速抓取网页 --- Jumony使用笔记--icode
    视频教程--ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库
    收录.NET跨平台及跨数据库的博文...
    ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库
    Windbg程序调试系列
    QCY蓝牙耳机 左右两只耳机配对 方法
    wpf 的 Window或UserControl绑定自己后台属性
  • 原文地址:https://www.cnblogs.com/chyl/p/4864885.html
Copyright © 2011-2022 走看看