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

实验一报告

时间:2015-10-07 16:06:59      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:

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

13物联网  李小娜  201306104148

一、 实验目的

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.原理分析及流程图

  原理分析:先将命令符用一个字符串数组存储起来等待用户输入命令进行匹配,然后将用户输入的命令用另一数组存起来,而后将该命令与已有的命令逐一进行比较,对比相同则输出对应内容,若对比后都不相同则提醒用户输入有错。

 技术分享

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

 

 char *a[11]={"dir","cd","md","rd","cls","date","time","ren","copy","help","quit"};

 //字符指针数组a用于存储命令符,数组b存储用户输入的命令符

 char b[11];

 printf("欢迎使用,输入help可显示所有命令\n");

 while(1){

   printf("操作系统>实验一>DOS>");

   scanf("%s",b); //用户输入命令符

   //输入的命令与数组各元素进行比较,对应匹配成功执行相关功能

   //strcmp功能为将两参数进行对比,对比完全一致则为0

   if(strcmp(b,a[0])==0)

   { printf("\tdir:内部命令,查看当前所在目录的文件和文件夹\n");}

...........

else if(strcmp(b,a[10])==0)

   { return ;}//return 为退出函数

 else printf("\t输入有错,请重新输入!\n");//若都匹配不成功则显示输入有错提示

 

      4.运行结果及分析

用户进入界面后,给出使用提示:

 技术分享

输入help可显示所有命令符及其作用:

 技术分享

 

举例输入time命令后的界面:

 技术分享

输入命令符出错,给予输错提示:

 技术分享

输入quit,退出程序:

 技术分享

四、 实验总结

  本次实验其实不会太难,只是太久没运用C语言的知识,一开始有些生疏。其中遇到的问题主要是使用字符串处理函数strcmp进行比较用户输入的命令与原有命令的大小;另一问题则是实现当输入quit时直接退出函数的功能,开始想到用exit函数实现,找了点资料后知道要引用头文件sdlib.h,后发现可直接简单的使用return语句便可实现功能。

 

实验一报告

标签:

原文地址:http://www.cnblogs.com/dmbs/p/4858768.html

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