zoukankan      html  css  js  c++  java
  • 0325命令解释程序的编写

    #include<stdio.h>
    #include<string.h>
    struct cmd
    {
        char cmd_name[10];  //提示符名字
        char cmd_type[10];  //提示符命令类型
        char cmd_func[100]; //提示符功能
    };
    typedef struct cmd CMD;
    
    //设置头部
    void Head()
    {
        printf("Microsoft Windows XP  [版本 5.1.2600]
    ");
        printf("(C) 版权所有 1985-2001 Microsoft Corp.
    
    ");
    }
    //指针数组存放命令信息
    void Save(CMD c[20])
    {
        
        int i=0;
        char *C_name[11]={"dir","cd","md","rd","cls","date","time","ren","cope","help","quit"};
        char *C_type[11]={"内部命令","内部命令","内部命令","内部命令","内部命令","内部命令","内部命令","内部命令","内部命令","外部命令","外部命令"};
        char *C_func[11]={"显示一个目录中的文件和子目录","显示当前目录的名称或将其更改","创建一个目录","删除目录","清除屏幕","显示或设置日期",
            "内部命令显示或设置系统时间","重新命名文件","将至少一个文件复制到另一个位置","提供Windows命令的帮助信息","退出命令解释程序"};
        
        //将已定义好的提示符依次赋值给数组c
        for(i=0;i<11;i++)
        {
            strcpy(c[i].cmd_name,C_name[i]);
            strcpy(c[i].cmd_type,C_type[i]);
            strcpy(c[i].cmd_func,C_func[i]);
        }
    }
    
    //从键盘输入命令提示符,并输出相关结果
    void Input(CMD c[20])
    {
        char name[20];
        int i;
        while(1)
        {
            printf("C:\Documents and Settings\Administrator>");
            gets(name);
    
            //若输入help或HELP,则输出全部提示符信息
            if(strcmp("HELP",name)==0 || strcmp("help",name)==0)
            {    
                for(i=0;i<11;i++)
                {
                    printf("%s",c[i].cmd_name);
                    putchar('	');
                    printf("%s",c[i].cmd_type);
                    putchar('	');
                    printf("%s",c[i].cmd_func);
                    putchar('
    ');
                }
                putchar('
    ');
            }
    
            //若输入quit,则退出程序
            else if(strcmp("quit",name)==0)
            {
                return;
            }
            else
            {
                for(i=0;i<11;i++)
                {
                    
                    if(strcmp(c[i].cmd_name,name)==0)
                    {
                        if(strcmp("cls",name)==0)  //实现cls功能
                        {
                            system("cls");
                            break;
                        }
                        if(strcmp("dir",name)==0)  //实现dir功能
                        {
                            system("dir");
                            break;
                        }
                        printf("'%s'命令输入正确!",c[i].cmd_name);
                        putchar('
    ');
                        printf("%s",c[i].cmd_type);
                        putchar('
    ');
                        printf("该命令的作用是:%s",c[i].cmd_func);
                        //putchar('
    ');
                        putchar('
    ');
                        break;
                    }
                    
                }
    
                //错误提示
                if(i>=11)
                {
                    printf("'%s'不是内部或外部命令,也不是可运行的程序或批处理文件
    
    ",name);
                }
            }
        }
    }
    
    main()
    {
        CMD c[20];
        Head();    
        Save(c);
        Input(c);
    }

    运行结果图:

    cls清屏功能实现

    dir功能实现

  • 相关阅读:
    JS DOM基础
    JS 部分常见循环、分支、嵌套练习
    记一些让footer始终位于网页底部的方法
    JS 实现banner图的滚动和选择效果
    JS 部分基础内容总结
    Flex弹性布局基础教程
    My SQL数据库的安装与配置
    网页共用头部和尾部的部分方法
    Unity3d入门 关于unity工具的熟悉
    Unity3d学习 制作地形
  • 原文地址:https://www.cnblogs.com/55fmj/p/5319013.html
Copyright © 2011-2022 走看看