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


    
    

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

                                                          班级:13级网络工程  姓名:麦嘉雯  学号:201306114130

    
    

    一、目的

    (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等。

    三、实验方法、步骤以及实验结果

     

    源代码:
       #include <stdio.h>
        #include
    <stdlib.h>
        #include
    <string.h>
        int main(int argc, char *argv[]){
       
    char *cmd[11]={"dir","cd","md","rd","cls","date","time","ren","copy","quit","help"};
       
    char *str[11];
       
    while(1)
        {
            printf(
    "请输入提示符:>");
            gets(str);
               
    if(strcmp(str,cmd[0])==0)
                {
                    printf(
    "内部命令\n");
                    printf(
    "显示一个目录中的文件与子文件\n");
                    printf(
    "\n");
                }
               
    else if(strcmp(str,cmd[1])==0)
                {
                    printf(
    "内部命令·\n");
                    printf(
    "显示当前目录的名称或将其更改\n");
                    printf(
    "\n");
                }
               
    else if(strcmp(str,cmd[2])==0)
                {
                    printf(
    "内部命令\n");
                    printf(
    "创建一个目录\n");
                    printf(
    "\n");
                }
               
    else if(strcmp(str,cmd[3])==0)
                {
                    printf(
    "内部命令\n");
                    printf(
    "删除目录\n");
                    printf(
    "\n");
                }
               
    else if(strcmp(str,cmd[4])==0)
                {
                    printf(
    "内部命令\n");
                    printf(
    "清除屏幕\n");
                    printf(
    "\n");
                }
               
    else if(strcmp(str,cmd[5])==0)
                {
                    printf(
    "内部命令\n");
                    printf(
    "显示或者设置日期\n");
                    printf(
    "\n");
                }
               
    else if(strcmp(str,cmd[6])==0)
                {
                    printf(
    "内部命令\n");
                    printf(
    "显示或者设置系统时间\n");
                    printf(
    "\n");
                }
               
    else if(strcmp(str,cmd[7])==0)
                {
                    printf(
    "内部命令\n");
                    printf(
    "重命名文件夹\n");
                    printf(
    "\n");
                }
               
    else if(strcmp(str,cmd[8])==0)
                {
                    printf(
    "内部命令\n");
                    printf(
    "将至少一个文件复制到另一个位置\n");
                    printf(
    "\n");
                }
               
    else if(strcmp(str,cmd[9])==0)
                {
                   
    return 0;
                }
               
    else if(strcmp(str,cmd[10])==0)
                {
                    printf(
    "外部命令\n");
                    printf(
    "dir\t显示一个目录中的文件与子文件。\n");
                    printf(
    "cd\t显示当前目录的名称或将其更改。\n");
                    printf(
    "md\t创建一个目录。\n");
                    printf(
    "rd\t删除目录。\n");
                    printf(
    "cls\t清除屏幕。\n");
                    printf(
    "date\t显示或设置日期。\n");
                    printf(
    "time\t显示或设置系统时间。\n");
                    printf(
    "ren\t重新命名文件。\n");
                    printf(
    "copy\t将至少一个文件复制到另一个位置。\n");
                    printf(
    "help\t提供命令的帮助信息。\n");
                    printf(
    "quit\t退出。\n");
                    printf(
    "\n");
                }
               
    else
                {
                    printf(
    "该命令不是内部或外部命令,也不是可运行的程序或批处理文件。\n");
                    printf(
    "\n");
                }
        }
       
    return 0;
    }

    运行结果截图:





     

                  四、实验总结

        刚看到这个实验题目的的时候,我觉得无从下手,后来参照文档中所给的提示以及上网搜索的资料,慢慢的开始了编写。当我编写完以后,发现只有“dir”这个提示符可以显示,其他的都会引起程序自动关闭,我想了很久,还是不明白问题出在哪里。后来同学告诉我,是我的符号出现错误,修改以后,程序就可以正常运行了。这次是我第一次运用strcmp这个函数,感觉挺好用的。一开始的无从下手到后来的成功运行,真的感觉编程是个很好玩的东西;同时其中出现的问题更是让我知道很多错误都是一些小细节引起的,要注意细节。做完这个实验,我知道了做事要细心注意细节,我也知道我还有很多不足之处,需要慢慢的去学习、去改正。





  • 相关阅读:
    Numpy
    Homer SIP capture and VoIP Monitoring Install Guide
    How to install FreeSWITCH in Centos 7
    Media Samples
    lavfi
    Jitsi Sip Communicator Source Code Build Guide for Windows
    How to install Asterisk 13 with WebRTC support in CentOS
    How to build PJSIP with WebRTC
    WebRTC & SIP: The Demo
    WebRTC tutorial using SIPML5
  • 原文地址:https://www.cnblogs.com/qing0715/p/4385965.html
Copyright © 2020-2023  润新知