zoukankan      html  css  js  c++  java
  • 实验一 认识DOS

    实验一、认识DOS实验

    物联网工程   郑伯瑜  201306104134

    一、 实验目的

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

    可执行程序名:1.exe

    2. 原理分析及流程图

    设计思路

          通过数组来存储命令符,再用switch函数判断输入的命令是否有符合的case,有则输出对应的提示,没有则提示错误。

    流程图

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

    char *b[11]={"dir","cd","md","rd","cls","date","time","ren","copy","help", "quit"}; /*指针数组存储关键字*/

    int pan(char ch1[],char *j[11]);

    char a[10],*p=a;

    printf("Pleas enter a command! Enter 'quit' to quit. For help,Enter 'help'. ");

    c1: printf("c:");

    scanf("%s",a);

    pan(p,b); /*函数调用*/

    if(strcmp(a,b[10])!=0) /*比较输入的字符串是否quit结束命令*/ goto c1;

    else printf("out of work!! ");

    }

    int pan(char ch1[],char *j[11]) /*子函数*/

    {

    int i;

    for( i=0;i<11;i++)

    if(strcmp(ch1,j[i])==0) /*比较输入的字符串与数组的关键字是否相等*/

    {

    switch(i) /*用switch函数判断输入的是什么命令对应输出的文字*/

    {

    case 0:printf("command name is dir. dir表示无参数:查看当前所在目录的文件和文件夹 ");break;

    case 1:printf("command name is cd. cd 目录名:进入特定的目录 ");break;

    case 2:printf("command name is md. md 目录名:建立特定的文件夹 dos下面习惯叫目录,win下面习惯叫文件夹 ");break;

    case 3:printf("command name is rd. rd 目录名:删除特定的文件夹 ");break;

    case 4:printf("command name is cls. cls 目录名:表示清屏功能 ");break;

    case 5:printf("command name is date. date 设置日期命令,功能是设置日期 ");break;

    case 6:printf("command name is time. time 系统时钟设置命令,功能:设置或显示系统时期 ");break;

    case 7:printf("command name is ren. ren 表示文件改个名字,ren命令的格式是:ren 源文件名目的文件名 ");break;

    case 8:printf("command name is copy. copy 表示复制命令,他的功能的复制信息 ");break;

    case 9:printf("dir 表示无参数:查看当前所在目录的文件和文件夹 ");
              printf("cd 目录名:进入特定的目录 ");
              printf("md 目录名:建立特定的文件夹 dos下面习惯叫目录,win下面习惯叫文件夹 ");
              printf("rd 目录名:删除特定的文件夹 ");
              printf("cls 目录名:表示清屏功能 ");
              printf("date 设置日期命令,功能是设置日期 ");
              printf("time 系统时钟设置命令,功能:设置或显示系统时期 ");
              printf("ren 表示文件改个名字,ren命令的格式是:ren 源文件名目的文件名 ");
              printf("copy 表示复制命令,他的功能的复制信息 ");
              printf("Enter " quit" to quit this program!! ");
              break;

    case 10:printf("Thanks for using it,bye!! ");break;

    }

     

    4. 运行结果及分析

    四、实验总结

          通过这次实验,我大概了解DOS系统。因为在大一时有学习C语言程序设计,所以对于这个程序相对来说没有太大的难度。其中,有遇到一些错误,例如括号的匹配问题,无法换行等问题,都能很快得到解决。其余方面,没有多大的问题。在这次实验中,自己对DOS有了初步的认识,希望在后面的学习中能有机会继续深入了解。

  • 相关阅读:
    Codeforces Round #551 (Div. 2) 题解
    【BZOJ5496】[十二省联考2019]字符串问题(后缀树)
    省选题记录
    【BZOJ5495】[十二省联考2019]异或粽子(主席树,贪心)
    Codeforces Global Round 2
    Android Studio安装使用图文教程(转)
    JAVA基础学习day15--集合二 TreeSet和泛型
    AndroidDevTools下载地址
    JAVA基础学习day14--集合一
    JAVA----编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符
  • 原文地址:https://www.cnblogs.com/boyuzheng/p/4859196.html
Copyright © 2011-2022 走看看