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++程序开发集成环境

    四、具体代码实现

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    char or[19][20]={"dir","cd","md","rd","cls","date","time","ren","copy","javac","java","erase","chkntfs","assoc","at","attrib","call","help","quit"};
    char order[10];
    void cmd(int i);
    void main()
    {
        int i;
        printf("Microsoft Windows [版本 6.1.7601]
    ");
        printf("版权所有 <c> 2009 Microsoft Corporation。版权所有权利。
    ");
        while(1)
        {
            printf("
    C:\Users\USER>");
            gets(order);
            for(i=0;i<19;i++){
                if(stricmp(order,or[i])==0)
                    break;
            }
            if(i==19)
                printf(""%s"不是内部或外部命令,也不是可运行的程序或批处理文件。
    ",order);
            else if(i==18)
                    break;
            else{
                cmd(i);
                //system(order);
            }
        }
    }
    
    
    void cmd(int i){
        FILE *fp;
        int j;
        int os[19][30];
        fp=fopen("order.txt","r+");
        for(j=0;j<19;j++)
            fscanf(fp,"%s",os[j]);
        fclose(fp);
        if(i>=0&&i<=16)
            printf(""%s"内部命令输入正确。
    ",order);
        else
            printf(""%s"外部命令输入正确。
    ",order);
        if(i==17){
            for(j=0;j<19;j++){
                printf("%s	",or[j]);
                if(j>=0&&j<=16)
                    printf("内部命令   ");
                else
                    printf("外部命令   ");
                printf("%s
    ",os[j]);
            }
    
        }
        else if(i==4){
            system(order);
        }
        else
            printf("该命令的作用是:%s",os[i]);
        printf("
    ");
    }

  • 相关阅读:
    什么是交互式?
    python之禅
    爬虫保存cookies时重要的两个参数(ignore_discard和ignore_expires)的作用
    PL/0编译器(java version) – Symbol.java
    PL/0编译器(java version) – Scanner.java
    PL/0编译器(java version)–Praser.java
    PL/0编译器(java version)–PL0.java
    PL/0编译器(java version)–Pcode.java
    PL/0编译器(java version)
    PL/0编译器(java version)
  • 原文地址:https://www.cnblogs.com/joker317/p/5319694.html
Copyright © 2011-2022 走看看