zoukankan      html  css  js  c++  java
  • 1006实验一实验报告

    实验一报告

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

    13物联网工程  张学玲  201306104140

    一、 实验目的

    (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. 源程序名:zxl.c

              可执行程序名:zxl.exe

         2.原理分析及步骤

      原理分析:分别定义一个一维数组和一个二维数组,一位数组用于存放用户输入发命令,二维数组存放各种内部命令,当用户输入各个命令时,都有相对应的提示显示。

    步骤:首先,定义一位数组用于存放用户输入发命令,二维数组存放各种内部命令;然后,用strcmp函数来判断用户输入的字符串是否与数组里的字符串相等,如果相等,则输出printf里的提示,如果不相等,则提示错误。

         3.主要程序段及其解释

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>


    int main()
    {
    char cmd[30][30]={"dir","cd","md","rd","cls","date","time","ren","copy","help","quit"};//定义了个二维数组,存放各种内部命令
    char str[20]={0};//定义一个一维数组,用于存放用户输入发命令
    while(1)
    {
    printf("Welcome to DOS! Please enter the command:");
    scanf("%s",&str);
    if(strcmp(str,cmd[0])==0)//用了strcmp函数来判断字符串是否相等
    {
    printf("dir可查看当前所在目录的文件 ");
    }
    else if(strcmp(str,cmd[1])==0)
    {
    printf("cd可进入特定的目录 ");
    }
    else if(strcmp(str,cmd[2])==0)
    {
    printf("md可建立自定义文件夹 ");
    }
    else if(strcmp(str,cmd[3])==0)
    {
    printf("rd可删除特定的文件夹 ");
    }
    else if(strcmp(str,cmd[4])==0)
    {
    printf("cls有清屏功能 ");
    }
    else if(strcmp(str,cmd[5])==0)
    {
    printf("date可设置日期 ");
    }
    else if(strcmp(str,cmd[6])==0)
    {
    printf("time可设置或显示系统时钟 ");
    }
    else if(strcmp(str,cmd[7])==0)
    {
    printf("ren可改文件名 ");

    }
    else if(strcmp(str,cmd[8])==0)
    {
    printf("copy可复制信息 ");

    }
    else if(strcmp(str,cmd[9])==0)
    {
    printf("dir可查看当前所在目录的文件 ");
    printf("cd可进入特定的目录 ");
    printf("md 可建立自定义文件夹 ");
    printf("rd 可删除特定的文件夹 ");
    printf("cls有清屏功能 ");
    printf("date可设置日期 ");
    printf("time可设置或显示系统时钟 ");
    printf("ren可改文件名 ");
    printf("copy可复制信息 ");

    }
    else if(strcmp(str,cmd[10])==0)
    {
    return 0;
    }
    else
    {
    printf("你输入错误的信息,请重新输入: ");

    }
    }
    return 0;
    }

     

          4.运行结果及分析

    起始页面及help:

     dir命令:

    cd命令:

     

    date命令:

    time命令:

     

    四、 实验总结

     DOS命令解释程序的编写不是很难,但是做起来得花些时间。定义数组,用于存放命令,用strcmp函数来判断字符串是否相等。在运行的过程中也有出现错误,是二维数组里的数字设置得太小导致出现问题,经过修改,就没有错误了。利用if,else if 以及else将各个字符所代表的不同含义一一列举,这样子很清晰地呈现出程序整体的结构。

  • 相关阅读:
    python json 访问与字符串截取
    python 12306 车次数据获取
    12306 城市代码 切片技巧
    python 9*9 乘法表
    python 列表转为字典的两个小方法
    python 三种遍历列表里面序号和值的方法
    虚拟机中访问连接在物理机上的摄像机(使用桥接)
    C++程序调用python3
    Notepad++编写运行python程序
    查看进程被哪台电脑的哪个进程连接(netstat)
  • 原文地址:https://www.cnblogs.com/zxl467408826/p/4859184.html
Copyright © 2011-2022 走看看