zoukankan      html  css  js  c++  java
  • 操作系统-命令解释程序(实验一)

    实验一  命令解释程序的编写(两周内)

    一、目的和要求

    1. 实验目的

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

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

    (3)掌握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++程序开发集成环境

    四、实验核心算法及运用文档

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 #include<string.h>
     4 char or[19][20]={"dir","cd","md","rd","cls","date","time","ren","copy","javac","java","erase","chkntfs","assoc","at","attrib","call","help","quit"};
     5 char order[10];
     6 void cmd(int i);
     7 void main()
     8 {
     9     int i;
    10     printf("Microsoft Windows [版本 6.1.7601]
    ");
    11     printf("版权所有 <c> 2009 Microsoft Corporation。版权所有权利。
    
    ");
    12     while(1)
    13     {
    14         printf("C:\Users\USER>");
    15         gets(order);
    16         if(strcmp(order,"
    ")==1)
    17         {
    18             for(i=0;i<19;i++){
    19                 if(stricmp(order,or[i])==0)
    20                     break;
    21             }
    22             if(i==19)
    23                 printf(""%s"不是内部或外部命令,也不是可运行的程序或批处理文件。
    
    ",order);
    24             else if(i==18)
    25                 break;
    26             else if(i==4)
    27                 system("cls");
    28             else{
    29                 cmd(i);
    30                 //system(order);
    31                 printf("
    ");
    32             }
    33         }
    34     }
    35 }
    36 
    37 
    38 void cmd(int i){
    39     FILE *fp;
    40     int j;
    41     int os[19][30];
    42     fp=fopen("order.txt","r+");
    43     for(j=0;j<19;j++)
    44         fscanf(fp,"%s",os[j]);
    45     fclose(fp);
    46     if(i>=0&&i<=16)
    47         printf(""%s"内部命令输入正确。
    ",order);
    48     else
    49         printf(""%s"外部命令输入正确。
    ",order);
    50     if(i==17){
    51         for(j=0;j<19;j++){
    52             printf("%s	",or[j]);
    53             if(j>=0&&j<=16)
    54                 printf("内部命令   ");
    55             else
    56                 printf("外部命令   ");
    57             printf("%s
    ",os[j]);
    58         }
    59 
    60     }
    61     else if(i==4){
    62         system(order);
    63     }
    64     else
    65         printf("该命令的作用是:%s",os[i]);
    66     printf("
    ");
    67 }

    五、运行结果

    六、实验总结

        这次实验可以说是一次很简单的实验,有很多运用到的代码都是以前做大作业的时候写过的了。但是还是存在一些问题,比如这次实验的拓展题就让我有些不知道怎么下手,因为cmd命令解释,如果用所以说system(order);这句代码的话就可以照样的输出本机cmd命令解释的,如果不用的话,暂时还没有想出怎么去写这个代码。

  • 相关阅读:
    LoadRunner参数化取值与连接数据库
    LoadRunner调用Java程序—性能测试
    Linux中crontab定时任务命令
    Ubuntu安装snmp之监控管理
    TestLink1.9.3测试用例:Excel转换XML工具<一>
    探讨LoadRunner的并发用户和集合点
    Ubuntu下安装netsnmp
    Scrum—Sprint 评审
    深入解析LoadRunner下的参数化取值
    TestLink测试用例:Excel转换XML工具<二>实现代码
  • 原文地址:https://www.cnblogs.com/moliny/p/5315121.html
Copyright © 2011-2022 走看看