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

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

一、 实验目的

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

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

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

二、 实验内容和要求

     1、实验内容:根据教师指定的实验课题,完成设计、编码、测试工作。

     2、实验要求:编写类似于DOS,UNIX的命令行解释程序

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

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

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

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

      (5)用户输入QUIT退出

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

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

      1、实验方法:运用C语言中的while循环语句来控制整个命令解释程序,在循环内运用if和else if语句,条件就利用strcmp函数进行筛选。

      2、实验步骤:先定义两个字符串数组,一个存放输入的显示提示符,另一个提前定义好相关命令dir, cd, md, rd, cls, date, time, ren, copy等。然后用while循环语句嵌套if和else if语句。当输入命令正确显示此命令的解释,若输入为外部命令,显示输入错误需重新输入。

      3、源代码:


          int
main(int argc, char *argv[]) {            int i=1;            char *array;           char *prompt[11]={"help","dir","cd","md","rd","cls","date","time","ren","copy","quit"};            while(i){              printf("\n请输入显示提示符:");             scanf("%s",array);             if(strcmp(array,prompt[0])==0){              printf("dir :显示仪个目录中的文件和子目录。\n");               printf("cd :显示当前目录的名称或将其更改。\n");               printf("md :创建一个目录。\n");               printf("rd :删除目录。\n");              printf("cls :清除屏幕。\n");               printf("date :显示或设置日期。\n");               printf("time :显示或设置系统时间。\n");               printf("ren :重新命名文件。\n");               printf("copy :将至少一个文件复制到另一个位置。\n");              printf("quit :退出。\n");             }              else if (strcmp(array,prompt[1])==0){               printf("dir :显示仪个目录中的文件和子目录。\n");              }             else if (strcmp(array,prompt[2])==0){               printf("cd :显示当前目录的名称或将其更改。\n");             }            else if (strcmp(array,prompt[3])==0){              printf("md :创建一个目录。\n");              }             else if (strcmp(array,prompt[4])==0){               printf("rd :删除目录。\n");              }             else if (strcmp(array,prompt[5])==0){               printf("cls :清除屏幕。\n");             }            else if (strcmp(array,prompt[6])==0){               printf("date :显示或设置日期。\n");              }             else if (strcmp(array,prompt[7])==0){               printf("time :显示或设置系统时间。\n");             }              else if (strcmp(array,prompt[8])==0){                printf("ren :重新命名文件。\n");             }             else if (strcmp(array,prompt[9])==0){                printf("copy :将至少一个文件复制到另一个位置。\n");              }             else if (strcmp(array,prompt[10])==0){              break;              }             else{                printf("输入有误!\n");              }             }              return 0;             }

         4.运行结果如下:
            

四、 实验总结

   做这个程序一开始的时候信心满满,但是真正动手编译时发现对C语言的一些知识淡忘了许多。比如,对多个字符串的定义,一开始居然用了单引号来引住字符串,在编译的时候总是有警报。最后上网认真搜索了一下多个字符串的定义方法,回顾了一遍对多个字符串的定义这一片知识块,程序便顺利的完成了。经过了这次实验,我感悟到C语言若一段时间不运用,就算你之前对它多么熟悉,当你再次拿起它时,却不再得心应手了。

 
  

 

 
 

 

转载于:https://www.cnblogs.com/jun-28blog/p/4385885.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值