• 实验一 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.PC微机

    2.Windows 操作系统

    3.C/C++程序开发集成环境

    四、实验原理及核心算法参考程序段

    用while语句进行选择,然后使用if,else if 进行嵌套。当输入对应的命令是会显示出命令的解释,还可输入help查看命令提示,输入quit退出程序。使用strcmp比较函数,如strcmp(str,cmd[0])==0,和前面的数组进行比较,相同为0,不同为1。0时实现输出。

    #include<stdio.h>
    #include <stdlib.h>
    # include<string.h>
    main()

    char cmd[30][30]={"dir","cd","md","rd","cls","date","time","ren", "copy","quit","help"};
    char str[10];

    int i;

    while(1){

    printf("请输入提示符:>");
    gets(str);


    for(i=0;i<20;i++){

    {

    if(strcmp(str,cmd[0])==0)
    {
    printf("类型:内部命令 ");
    printf("查看当前的目录 ");
    printf(" ");
    printf(" ");
    break;
    }
    else if(strcmp(str,cmd[1])==0)
    {
    printf("类型:内部命令 ");
    printf("显示当前目录的名称 ");
    printf(" ");
    printf(" ");
    break;
    }
    else if(strcmp(str,cmd[2])==0)
    {
    printf("类型:内部命令 ");
    printf("创建一个新目录 ");
    printf(" ");
    printf(" ");
    break;
    }
    else if(strcmp(str,cmd[3])==0)
    {
    printf("类型:内部命令 ");
    printf("删除该目录.... ");
    printf(" ");
    printf(" ");
    break;
    }
    else if(strcmp(str,cmd[4])==0)
    {

    printf("类型:内部命令 ");
    printf("清屏 ");

    printf(" ");
    printf(" ");
    break;
    }
    else if(strcmp(str,cmd[5])==0)
    {
    printf("类型:内部命令 ");
    printf("显示或设置日期??? ");
    printf(" ");
    printf(" ");
    break;
    }
    else if(strcmp(str,cmd[6])==0)
    {
    printf("类型:内部命令 ");
    printf("显示或设置系统时间 ");
    printf(" ");
    printf(" ");
    break;
    }
    else if(strcmp(str,cmd[7])==0)
    {
    printf("类型:内部命令 ");
    printf("重命名文件 ");
    printf(" ");
    printf(" ");
    break;
    }
    else if(strcmp(str,cmd[8])==0)
    {
    printf("类型:内部命令 ");
    printf("将至少一个文件复制到另一个位置 ");
    printf(" ");
    printf(" ");
    break;
    }
    else if(strcmp(str,cmd[9])==0)
    {
    return 0;

    }
    }


    }
    }
    }

     

  • 相关阅读:
    Gitlab+Jenkins学习之路(二)之gitlab部署
    Gitlab+Jenkins学习之路(一)之Git基础
    Zabbix学习之路(十)之分布式监控zabbix_proxy及交换机监控
    Zabbix学习之路(九)之低级自动发现以及MySQL多实例
    Zabbix学习之路(八)之自动化监控网络发现和主动注册
    Zabbix学习之路(七)之Nginx的状态监控
    Zabbix学习之路(六)TCP状态监控
    Zabbix学习之路(五)之MySQL监控
    Zabbix学习之路(四)之Web监控
    Zabbix学习之路(三)之使用SMTP发送邮件报警及定制邮件报警内容
  • 原文地址:https://www.cnblogs.com/panhaohua/p/4859569.html
Copyright © 2020-2023  润新知