zoukankan      html  css  js  c++  java
  • 实验一、命令解释程序实验

    一、        实验目的

     

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

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

    (3)掌握C语言编程初步。

    二、        实验内容和要求

         编写类似于DOS,UNIX的命令行解释程序

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

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

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

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

    (5)用户输入QUIT退出

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

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

     

    1. 1.      源程序名:压缩包文件(rarzip)中源程序名 MiniOS.c

    可执行程序名:MiniOS.exe

    1. 2.      原理分析及流程图

    采用数组的存储结构。

    主要算法: 

    显示程序提示信息;

    While(1) 

    { 显示提示符; 

    接收键盘的字符串; 

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

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

    } 

    显示退出程序信息

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

    for( i=0;i<19;i++)       

               if(strcmp(ch1,j[i])==0)      /*比较输入的字符串与数组的关键字是否相等*/  

               {    

                      switch(i)   

                      {    

                      case 0:

                             printf("dir 显示一个目录中的文件和子目录。 ");

                             break;    

                      case 1:

                             printf("cd 显示当前目录的名称或将其更改。 ");

                             break;    

                      case 2:

                             printf("md 创建目录。 ");

                             break;    

                      case 3:

                             printf("rd 删除目录。 ");

                             break;    

                      case 4:

                             printf("cls 清除屏幕。 ");

                             break;    

                      case 5:

                             printf("date 显示或设置日期。 ");

                             break;    

                      case 6:

                             printf("time 显示或设置系统时间。 ");

                             break;    

                      case 7:

                             printf("ren 重命名文件。 ");

                             break;    

                      case 8:

                             printf("copy 将至少一个文件复制到另一个位置。 ");

                             break;

                      case 9:

                             printf("javac 将某一个java程序进行编译。 ");

                             break;

                      case 10:

                             printf("java 运行某一个已编译的java文件。 ");

                             break; 

                      case 11:

                             printf("erase 删除至少一个文件。 ");

                             break; 

                      case 12:

                             printf("chkntfs 显示或修改启动时间磁盘检查。 ");

                             break;

                      case 13:

                             printf("assoc 显示或修改文件扩展名关联。 ");

                             break;

                      case 14:

                             printf("at 计划在计算机上运行的命令和程序。 ");

                             break;

                      case 15:

                             printf("attrib 显示或更改文件属性。 ");

                             break;

                      case 16:

                             printf("call 从另一个批处理程序调用这一个。 ");

                             break;

                      case 17:

                          printf("dir cd md rd cls date time ren copy javac java erase chkntfs assoc at attrib call Enter " quit" to quit this program!! ");

                             break;    

                      case 18:

                             printf("Thanks for using it,bye!! ");

                             break;    }    

                      return 1;

    }  

               printf("No this one!! Not a internal commal. ");

               return 0;

    根据输入的字符串,输出相应的信息。

    1. 4.      运行结果及分析

     

    四、        实验总结

      这次实验用了switch case语句,优点是便于自己编写简单点,而缺点是没有读取文件方便。

     

  • 相关阅读:
    LeetCode 225 Implement Stack using Queues 用队列实现栈
    LeetCode 232 Implement Queue using Stacks 两个栈实现队列
    LeetCode 583 Delete Operation for Two Strings 删除两个字符串的不同部分使两个字符串相同,求删除的步数
    LeetCode 230 Kth Smallest Element in a BST 二叉搜索树中的第K个元素
    LeetCode 236 Lowest Common Ancestor of a Binary Tree 二叉树两个子节点的最低公共父节点
    LeetCode 148 Sort List 链表上的归并排序和快速排序
    LeetCode 069 Sqrt(x) 求平方根
    webpack新版本4.12应用九(配置文件之模块(module))
    webpack新版本4.12应用九(配置文件之输出(output))
    webpack新版本4.12应用九(配置文件之入口和上下文(entry and context))
  • 原文地址:https://www.cnblogs.com/xiaoyy/p/5303807.html
Copyright © 2011-2022 走看看