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

    实验一、认识DOS实验

    专业:物联网工程   姓名:张欣怡  学号201306104135

    一、 实验目的     

            (1)认识DOS

          (2)掌握命令解释程序的原理;

          (3)掌握简单的DOS调用方法;

          (4)掌握C语言编程初步

    二、 实验内容和要求    

      根据要求,完成设计、编码、测试工作。

      编写类似于DOSUNIX的命令行解释程序

         (1)自行定义系统提示符

         (2)自定义命令集(8-10个)

         (3)用户输入HELP以查找命令的帮助

         (4)列出命令的功能,区分内部还是外部命令

         (5)用户输入QUIT退出

         (6)内部命令有dir, cd, md,rd, cls, date, time, ren, copy等。

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

    1. 源程序名:1230.c     可执行程序名:1230.exe
    2. 原理分析及流程图      

      主要总体设计问题:用C语言编写一个解释DOS系统的某些指令的解释。输入某个指令,就会显示这个指令的意思。

          核心的程序段(算法):

    显示程序提示信息;

    While(1)

    { 显示提示符;

    接收键盘的字符串;

    判断是否quit程序退出指令,是则退出;

    判断是否内部命令,并给出相应的信息,否则给出错误信息; 

    显示退出程序信息;

       本程序定义一个字符数组,输入一个字符串,用gets获得,用字符串的比较,对应到某个字符数组里的其中一个。用if--else实现选择;用while进行循环,可以进行查询。但运行quit指令时,程序就会退出。

    3.主要程序段及其解释:

    #include<stdio.h>

    #include<string.h>

    void main() 

    {       

    char cmd[20][20]={"dir","cd","md","rd","data","copy","help","quit"};     /*定义一个字符数组   

    char cm[20];   

    printf("`````````````欢迎进入DOS系统``````````````");

    while(1){         /*while循环进行连续查询  

    printf(" 输入:");      

    gets(cm);

    if(strcmp(cm,cmd[0])==0)   /* 输入的字符与数组中第0个字符进行比较

    {   

    printf("dir 查看当前所在目录的文件和文件夹 "); /*若匹配则输出该字符的解释

    }  

    else if(strcmp(cm,cmd[1])==0) /*  若不匹配,则与其他的进行比较

    {  

    printf("cd 进入特定的目录 ");

    }

    else if(strcmp(cm,cmd[2])==0) {   

    printf("md 建立特定的目录 ");

    }

    else if(strcmp(cm,cmd[3])==0) {   

    printf("rd 删除特定的文件夹 ");

    }

    else if(strcmp(cm,cmd[4])==0) {  

    printf("data 设置日期命令 ");

    }

    else if(strcmp(cm,cmd[5])==0) {   

    printf("copy 复制文件 ");

    }

    else if(strcmp(cm,cmd[6])==0) {   /* 输入help指令则输出在数组定义的所有字符的解释

    printf("dir 查看当前所在目录的文件和文件夹 ");  

    printf("cd 进入特定的目录 ");  

    printf("md 建立特定的目录 ");  

    printf("rd 删除特定的文件夹 ");  

    printf("data 设置日期命令 ");  

    printf("copy 复制文件 ");

    }

    else if(strcmp(cm,cmd[7])==0) {    /*若输入quit,则退出程序

    printf("退出!");    

    return;

    }

    else {    /*如果输入数组中没有定义的字符或其他,则显示错误信息

    printf("输入错误,重新输入: ");

    }

    }

    }

    4.运行结果及分析

    四、 实验总结

        在本次实验中,刚开始还不知道用什么软件写,所以感觉很困难。后面发现这是一个用C语言写的一个程序,就有了头绪。在实验中,对数组的定义要加一对双引号。程序的其他部分,进行的还是挺顺利的。

  • 相关阅读:
    从零开始——PowerShell应用入门(全例子入门讲解)
    详解C# Tuple VS ValueTuple(元组类 VS 值元组)
    How To Configure VMware fencing using fence_vmware_soap in RHEL High Availability Add On——RHEL Pacemaker中配置STONITH
    DB太大?一键帮你收缩所有DB文件大小(Shrink Files for All Databases in SQL Server)
    SQL Server on Red Hat Enterprise Linux——RHEL上的SQL Server(全截图)
    SQL Server on Ubuntu——Ubuntu上的SQL Server(全截图)
    微软SQL Server认证最新信息(17年5月22日更新),感兴趣的进来看看哟
    Configure Always On Availability Group for SQL Server on RHEL——Red Hat Enterprise Linux上配置SQL Server Always On Availability Group
    3分钟带你了解PowerShell发展历程——PowerShell各版本资料整理
    由Find All References引发的思考。,
  • 原文地址:https://www.cnblogs.com/z1230/p/4864826.html
Copyright © 2011-2022 走看看