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

1006实验一实验报告

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

标签:

实验一报告

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

13物联网工程  张学玲  201306104140

一、 实验目的

(1)认识DOS;

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

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

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

 

二、 实验内容和要求

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

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

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

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

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

(5)用户输入QUIT退出

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

根据要求,完成设计、编码、测试工作。

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

  1. 源程序名:zxl.c

          可执行程序名:zxl.exe

     2.原理分析及步骤

  原理分析:分别定义一个一维数组和一个二维数组,一位数组用于存放用户输入发命令,二维数组存放各种内部命令,当用户输入各个命令时,都有相对应的提示显示。

步骤:首先,定义一位数组用于存放用户输入发命令,二维数组存放各种内部命令;然后,用strcmp函数来判断用户输入的字符串是否与数组里的字符串相等,如果相等,则输出printf里的提示,如果不相等,则提示错误。

     3.主要程序段及其解释

#include<stdio.h>
#include<stdlib.h>
#include<string.h>


int main()
{
char cmd[30][30]={"dir","cd","md","rd","cls","date","time","ren","copy","help","quit"};//定义了个二维数组,存放各种内部命令
char str[20]={0};//定义一个一维数组,用于存放用户输入发命令
while(1)
{
printf("Welcome to DOS!\nPlease enter the command:");
scanf("%s",&str);
if(strcmp(str,cmd[0])==0)//用了strcmp函数来判断字符串是否相等
{
printf("dir可查看当前所在目录的文件\n");
}
else if(strcmp(str,cmd[1])==0)
{
printf("cd可进入特定的目录\n");
}
else if(strcmp(str,cmd[2])==0)
{
printf("md可建立自定义文件夹\n");
}
else if(strcmp(str,cmd[3])==0)
{
printf("rd可删除特定的文件夹\n");
}
else if(strcmp(str,cmd[4])==0)
{
printf("cls有清屏功能\n");
}
else if(strcmp(str,cmd[5])==0)
{
printf("date可设置日期\n");
}
else if(strcmp(str,cmd[6])==0)
{
printf("time可设置或显示系统时钟\n");
}
else if(strcmp(str,cmd[7])==0)
{
printf("ren可改文件名\n");

}
else if(strcmp(str,cmd[8])==0)
{
printf("copy可复制信息\n");

}
else if(strcmp(str,cmd[9])==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");

}
else if(strcmp(str,cmd[10])==0)
{
return 0;
}
else
{
printf("你输入错误的信息,请重新输入:\n");

}
}
return 0;
}

 

      4.运行结果及分析

起始页面及help:

技术分享

 dir命令:

技术分享

cd命令:

技术分享

 

date命令:

技术分享

time命令:

技术分享

 

四、 实验总结

 DOS命令解释程序的编写不是很难,但是做起来得花些时间。定义数组,用于存放命令,用strcmp函数来判断字符串是否相等。在运行的过程中也有出现错误,是二维数组里的数字设置得太小导致出现问题,经过修改,就没有错误了。利用if,else if 以及else将各个字符所代表的不同含义一一列举,这样子很清晰地呈现出程序整体的结构。

1006实验一实验报告

标签:

原文地址:http://www.cnblogs.com/zxl467408826/p/4859184.html

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