zoukankan      html  css  js  c++  java
  • 实验一 命令解释的编写

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

    一、        实验目的

     

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

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

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

        

    二、        实验内容和要求

    编写类似于DOS,UNIX的命令行解释程序

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

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

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

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

    (5)用户输入QUIT退出

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

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

     

    1. 1.      源程序名:压缩包文件(rarzip)中源程序名×××.c

    可执行程序名:×××.exe

    1. 2.      原理分析及流程图

    主要总体设计问题。

    (包括存储结构,主要算法,关键函数的实现等)

    1. 3.      主要程序段及其解释:
     1  1 #include<stdio.h>
     2  2 #include<string.h>
     3  3 char *cmd[]={"dir","cd","md","rd","cls","date","time","ren","copy","help","quit"};
     4  4 
     5  5 
     6  6 void main()
     7  7 {
     8  8     char str[10];
     9  9         printf("Microsoft Windows [版本 6.1.7601]
    ");
    10 10     printf("版权所有 (c) 2009 Microsoft Corporation。保留所有权利
    
    ");    
    11 11     while(1)
    12 12     {
    13 13          printf("C:/Users/Administrator>");
    14 14         scanf("%s",str);
    15 15        
    16 16     if(strcmp(str,cmd[0])==0)
    17 17                 printf("dir  显示一个目录的文件和子目录
    ");    
    18 18     else if(strcmp(str,cmd[1])==0)
    19 19                 printf("cd   显示当前目录的名称或将其更改
    ");
    20 20     else if(strcmp(str,cmd[2])==0)
    21 21                 printf("md   创建一个目录
    ");
    22 22     else if(strcmp(str,cmd[3])==0)
    23 23                 printf("rd   删除目录
    ");
    24 24     else if(strcmp(str,cmd[4])==0)
    25 25                 printf("cls  清除屏幕
    ");
    26 26     else if(strcmp(str,cmd[5])==0)
    27 27                 printf("date  显示或设置日期
    ");
    28 28     else if(strcmp(str,cmd[6])==0)
    29 29                 printf("time  内部命令显示或设置系统时间
    ");
    30 30     else if(strcmp(str,cmd[7])==0)
    31 31                 printf("ren  重新命名文件
    ");
    32 32     else if(strcmp(str,cmd[8])==0)
    33 33                 printf("cope  将至少一个文件复制到另一个位置
    ");
    34 34     else if(strcmp(str,cmd[9])==0)
    35 35     {
    36 36         printf("有关某个命令的详细信息,请键入 HELP 命令名
    ");
    37 37         printf("dir  显示一个目录的文件和子目录
    ");
    38 38         printf("cd   显示当前目录的名称或将其更改
    ");
    39 39         printf("md   创建目录
    ");
    40 40         printf("rd   删除目录
    ");
    41 41         printf("cls  清除屏幕
    ");
    42 42         printf("date  显示或设置日期
    ");
    43 43         printf("time  显示或设置系统时间
    ");
    44 44         printf("ren  重命名文件
    ");
    45 45         printf("cope  将至少一个文件复制到另一个位置
    ");
    46 46         printf("help  提供Window命令的帮助信息
    ");
    47 47         printf("quit  退出命令解释程序
    ");
    48 48         printf("有关某个工具的详细信息,请参阅联机帮助中的命令行参考
    
    ");
    49 49     }
    50 50     else if(strcmp(str,cmd[10])==0)
    51 51         exit(0);
    52 52     else
    53 53     {    
    54 54         printf("'%s'不是内部或外部命令,也不是可运行的程序
    ",str);
    55 55         printf("或批处理文件。
    ");
    56 56     }
    57 57     }
    58 58 
    59 59 }
    1. 4.      运行结果及分析

    一般必须配运行结果截图,结果是否符合预期及其分析。

       (截图需根据实际,截取有代表性的测试例子)

     

     

     

     

     

    四、        实验总结

    心得体会,实验过程的难点问题及其解决的方法。

     

  • 相关阅读:
    Minimum Sum
    Prefix and Suffix
    BBuBBBlesort!
    Wanna go back home
    The Chosen One+高精度
    一元三次方程
    文本文件比对
    nginx日志文件切割
    nginx启动脚本
    nginx
  • 原文地址:https://www.cnblogs.com/B5002/p/5319727.html
Copyright © 2011-2022 走看看