zoukankan      html  css  js  c++  java
  • 操作系统--命令解释程序_1

    #include<stdio.h>
    #define n 11
    typedef struct node{
        char name[20];
        char use[100];
        char pro[20];
    }DOS;
    
    void Input(DOS dos[])
    {
        strcpy(dos[0].name,"DIR");
        strcpy(dos[0].use,"显示一个目录中的文件和目录。");
        strcpy(dos[0].pro,"内部命令");
    
        strcpy(dos[1].name,"ED");
        strcpy(dos[1].use,"显示当前目录的名称或将其修改。");
        strcpy(dos[1].pro,"内部命令");
    
        strcpy(dos[2].name,"MD");
        strcpy(dos[2].use,"创建一个目录。");
        strcpy(dos[2].pro,"内部命令");
    
        strcpy(dos[3].name,"RD");
        strcpy(dos[3].use,"删除目录。");
        strcpy(dos[3].pro,"内部命令");
    
        strcpy(dos[4].name,"CLS");
        strcpy(dos[4].use,"清除屏幕。");
        strcpy(dos[4].pro,"内部命令");
    
        strcpy(dos[5].name,"DATE");
        strcpy(dos[5].use,"显示或设置日期。");
        strcpy(dos[5].pro,"内部命令");
    
        strcpy(dos[6].name,"TIME");
        strcpy(dos[6].use,"内部命令显示或设置系统时间。");
        strcpy(dos[6].pro,"内部命令");
    
        strcpy(dos[7].name,"REN");
        strcpy(dos[7].use,"重新命名文件。");
        strcpy(dos[7].pro,"内部命令");
    
        strcpy(dos[8].name,"COPY");
        strcpy(dos[8].use,"将至少一个文件复制到另一个位置。");
        strcpy(dos[8].pro,"内部命令");
    
        strcpy(dos[9].name,"HELP");
        strcpy(dos[9].use,"提供Windows命令的帮助信息。");
        strcpy(dos[9].pro,"外部命令");
    
        strcpy(dos[10].name,"QUIT");
        strcpy(dos[10].use,"退出命令解释程序。");
        strcpy(dos[10].pro,"外部命令");
    
    }
    
    //退出系统
    void Exit(int a)
    {
        if(a==0)
            Exit(0);
    }
    
    void Choose(char *str[],DOS dos[])
    {    
        int i,j;
        while(1)
        {
            printf("C:\Documents and Settings\hskd>");
            gets(str);
            strupr(str);    //小写转换成大写
            for(j=0;j<n;j++)
            {
                if(strcmp(str,dos[9].name)==0)
                {
                    printf("有关某个命令的详细信息,请输入 HELP 命令名
    ");
                    for(i=0;i<n;i++)
                        printf("%s	%s
    ",dos[i].name,dos[i].use);
                    printf("
    有关工具的详细信息,请参阅联机帮助中的命令行参考。
    
    ");
                    break;
                }
                else if(strcmp(str,dos[10].name)==0)
                {
                    Exit(0);
                    break;
                }
                else if(strcmp(str,dos[j].name)==0&&strcmp(str,dos[9].name)!=0&&strcmp(str,dos[10].name)!=0)
                {
                    printf("'%s'	%s输入正确!
    该命令的作用是:%s
    
    ",dos[j].name,dos[j].pro,dos[j].use);
                    break;
                }
                else
                {
                    strlwr(str); //大写转换成小写
                    printf("'%s' 不是内部或外部命令,也不是可运行的程序
    或批处理文件
    
    ",str);
                    break;
                }
            }
        }
    }
    
    main()
    {
        DOS dos[n];
        char *str[11];
        printf("Microsoft Window XP [版本 5.1.2600]
    ");
        printf("<C> 版权所有 1985-2001 Microsoft Corp.
    
    ");
        Input(dos);
        Choose(str,dos);
    }

  • 相关阅读:
    字符串案例1
    字符串1
    标准类制作
    构造方法
    封装
    成员变量和局部变量
    类和对象的案例

    案例
    方法的参数传递
  • 原文地址:https://www.cnblogs.com/blueYE00/p/5307888.html
Copyright © 2011-2022 走看看