操作系统--命令解释程序

#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,"COPE");
    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 命令名\n");
                for(i=0;i<n;i++)
                    printf("%s\t%s\n",dos[i].name,dos[i].use);
                printf("\n有关工具的详细信息,请参阅联机帮助中的命令行参考。\n\n");
                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‘\t%s输入正确!\n该命令的作用是:%s\n\n",dos[j].name,dos[j].pro,dos[j].use);
                break;
            }
            else
            {
                strlwr(str); //大写转换成小写
                printf("‘%s‘ 不是内部或外部命令,也不是可运行的程序\n或批处理文件\n\n",str);
                break;
            }
        }
    }
}

main()
{
    DOS dos[n];
    char *str[11];
    printf("Microsoft Window XP [版本 5.1.2600]\n");
    printf("<C> 版权所有 1985-2001 Microsoft Corp.\n\n");
    Input(dos);
    Choose(str,dos);
}

时间: 2024-08-27 14:35:36

操作系统--命令解释程序的相关文章

操作系统-命令解释程序(拓展)

实验一  命令解释程序的编写(拓展) 一.目的和要求 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等

0923《操作系统教程》实验一 &#183;DOS命令解释程序的编写

实验一  DOS命令解释程序的编写 一.目的和要求 1. 实验目的 (1)认识DOS: (2)掌握命令解释程序的原理: (3)掌握简单的DOS调用方法: (4)掌握C语言编程初步. 2.实验要求 编写类似于DOS,UNIX的命令行解释程序 (1)自行定义系统提示符 (2)自定义命令集(8-10个) (3)用户输入HELP以查找命令的帮助 (4)列出命令的功能,区分内部还是外部命令 (5)用户输入QUIT退出 (6)内部命令有dir, cd, md,rd, cls, date, time, ren

实验1&#160;&#160;DOS命令解释程序的编写

一.目的和要求 1. 实验目的 (1)认识DOS: (2)掌握命令解释程序的原理: (3)掌握简单的DOS调用方法: (4)掌握C语言编程初步. 2.实验要求 编写类似于DOS,UNIX的命令行解释程序 (1)自行定义系统提示符 (2)自定义命令集(8-10个) (3)用户输入HELP以查找命令的帮助 (4)列出命令的功能,区分内部还是外部命令 (5)用户输入QUIT退出 (6)内部命令有dir, cd, md,rd, cls, date, time, ren, copy等. 二.实验内容 根据

实验一 DOS命令解释程序的编写

一.目的和要求 1. 实验目的 (1)认识DOS: (2)掌握命令解释程序的原理: (3)掌握简单的DOS调用方法: (4)掌握C语言编程初步. 2.实验要求 编写类似于DOS,UNIX的命令行解释程序 (1)自行定义系统提示符 (2)自定义命令集(8-10个) (3)用户输入HELP以查找命令的帮助 (4)列出命令的功能,区分内部还是外部命令 (5)用户输入QUIT退出 (6)内部命令有dir, cd, md,rd, cls, date, time, ren, copy等. 二.实验内容 根据

实验一 命令解释程序的编写

一.目的和要求 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. 实验目的 (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等. 二.实验内容 根据教师指定的实验课题

实验一、DOS命令解释程序的编写

一. 实验目的 (1)认识DOS: (2)掌握命令解释程序的原理: (3)掌握简单的DOS调用方法: (4)掌握C语言编程初步. 二. 实验内容和要求 编写类似于DOS,UNIX的命令行解释程序 (1)自行定义系统提示符 (2)自定义命令集(8-10个) (3)用户输入HELP以查找命令的帮助 (4)列出命令的功能,区分内部还是外部命令 (5)用户输入QUIT退出 (6)内部命令有dir, cd, md,rd, cls, date, time, ren, copy等. 根据要求,完成设计.编码.

实验一 命令解释程序cmd的编写

#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 30main(){ char str[N]; int i,j; char cmd[N][N] = {"dir","cd","md","rd","cls","date","time","ren&quo

实验一 命令解释程序

                   实验一.命令解释程序的编写   一. 实验目的 (1)掌握命令解释程序的原理: (2)掌握简单的DOS调用方法: (3)掌握C语言编程初步. 二.        实验内容和要求 编写类似于DOS,UNIX的命令行解释程序 (1)自行定义系统提示符 (2)自定义命令集(8-10个) (3)用户输入HELP以查找命令的帮助 (4)列出命令的功能,区分内部还是外部命令 (5)用户输入QUIT退出 (6)内部命令有dir, cd, md, rd, cls, date