zoukankan      html  css  js  c++  java
  • 实验一 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等。

    三. 实验方法、步骤及结果测试

    1.源程序名:1.c

    可执行文件名:1.exe

    2.原理图分析和流程图

    原理分析:将命令符用二维数组存储起来,然后将用户输入的命令符用另一数组存起来,然后将该命令与原有的命令逐一进行比较匹配,匹配相同的则输出相应信息,若比较后都不相同则提醒用户这个命令符不存在,重新输入。

    3.主要程序及解释:

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    main()
    {
    char *cmd[10]={"dir","cd","md","cls","date","time","copy","quit","help"};
    char b[10];
    int a;
    while(1){
    printf("请你输入提示符,输入help可查看所有命令:>");
    gets(b);
    for(a=0;a<10;a++){
    {
    if(strcmp(b,cmd[0])==0)
    {
    printf("类型:内部命令 ");
    printf("作用:查看当前的目录 ");
    printf(" ");
    break;
    }
    else if(strcmp(b,cmd[1])==0)
    {
    printf("类型:内部命令 ");
    printf("作用:显示当前目录的名称 ");
    printf(" ");
    break;
    }
    else if(strcmp(b,cmd[2])==0)
    {
    printf("类型:内部命令 ");
    printf("作用:创建一个新目录 ");
    printf(" ");
    break;
    }

    else if(strcmp(b,cmd[3])==0)
    {
    printf("类型:内部命令 ");
    printf("作用:清屏 ");
    printf(" ");
    break;
    }
    else if(strcmp(b,cmd[4])==0)
    {
    printf("类型:内部命令 ");
    printf("作用:显示或设置日期 ");
    printf(" ");
    break;
    }
    else if(strcmp(b,cmd[5])==0)
    {
    printf("类型:内部命令 ");
    printf("作用:显示或设置系统时间 ");
    printf(" ");
    break;
    }

    else if(strcmp(b,cmd[6])==0)
    {
    printf("类型:内部命令 ");
    printf("作用:将至少一个文件复制到另一个位置 ");
    printf(" ");
    break;
    }
    else if(strcmp(b,cmd[7])==0)
    {
    return 0;

    }
    else if(strcmp(b,cmd[8])==0)
    {
    printf("类型:外部命令 ");
    printf("dir 内部命令 显示一个目录中的文件和子目录。 ");
    printf("cd 内部命令 显示当前目录的名称或将其更改。 ");
    printf("md 内部命令 创建一个目录。 ");
    printf("cls 内部命令 清除屏幕。 ");
    printf("date 内部命令 显示或设置日期。 ");
    printf("time 内部命令 内部命令显示或设置系统时间。 ");
    printf("cope 内部命令 将至少一个文件复制到另一个位置。 ");
    printf("help 外部命令 提供Windows命令的帮助信息。 ");
    printf("quit 外部命令 退出命令解释程序 ");
    printf(" ");

    break;
    }
    else if(strcmp(b,cmd[a])!=0)
    {
    printf("这个命令不存在,请重新输入! ");
    printf(" ");
    break;
    }
    }
    }
    }
    }

    4.运行结果及分析

    提示输入

    输入命令符后的显示

    输入help可显示所有命令符及其作用

    输入quit命令符

    四.实验总结:

      本实验从字面看起来有点难度的味道,其实是比较简单的一个实验,通过本次实验能初步认识到DOS的基本架构。

  • 相关阅读:
    CodeForces 706C Hard problem
    CodeForces 706A Beru-taxi
    CodeForces 706B Interesting drink
    CodeForces 706E Working routine
    CodeForces 706D Vasiliy's Multiset
    CodeForces 703B Mishka and trip
    CodeForces 703C Chris and Road
    POJ 1835 宇航员
    HDU 4907 Task schedule
    HDU 4911 Inversion
  • 原文地址:https://www.cnblogs.com/jiandong/p/4867283.html
Copyright © 2011-2022 走看看