码迷,mamicode.com
首页 > 其他好文 > 详细

实验一报告

时间:2015-10-07 20:23:07      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

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

物联网工程 刘烨 201306104146

一、 实验目的

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

   可执行程序名:caozuo.exe

2.原理分析及流程图

主要算法:运用while(1)循环语句,在while(1)里面主要用if 与 else if的嵌套实现。在程序中,将数组把命令集存储起来,后用strcmp( )来将用户输入的字符串与数组的进行比较,若正确,则出现相关命令功能。若不正确,则会提醒用户输入错误,要求重新输入。

 

技术分享

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

main()

{                     

  char com[30][30]={"dir","cd","md","rd","cls","date","time",

"ren","copy","help","arp","start","mem","winver","format","taskmgr","netsh","status","system","quit"};  //此数组将命令集存储起来

  char str1[30];//定义另一个数组用于存储用户输入的字符串

   while (1)

 {

   printf("input the  command:");

   gets(str1);  //获取用户输入的字符串

   if (strcmp(str1,com[0])==0)  //将命令集数组元素与用户输入的字符串作比较

 

   printf("dir 表示无参数:查看当前所在目录的文件和文件夹\n");

  else if (strcmp(str1,com[1])==0) 

printf("cd 目录名:进入特定的目录\n");

......

......

......

else if (strcmp(str1,com[19])==0)

   return ; //若用户输入字符串quit,则退出程序

   else 

    printf("你输入的信息错误!请重新输入:\n");

  }

 }

4.运行结果及分析

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

技术分享

用户输入其他命令

 技术分享

用户输入错误

 

 技术分享

用户输入quit则退出程序

 技术分享

四、 实验总结

       在开始实验前,曾想过用while循环里嵌套else if语句来实现,但却忘记了如何比较字符串。查找了书籍后清楚了strcmp()的用法。在编写完成后,利用VC++编译,仍有些错误。虽然只是简单的C语言编写,但若不够仔细,依然完成不了工作。

 

实验一报告

标签:

原文地址:http://www.cnblogs.com/46ly/p/4859270.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!