代码改变世界

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

2015-04-02 09:50  27唐凤婵  阅读(181)  评论(1编辑  收藏  举报

 

#include<stdio.h>
#include<string.h>
main()
{
    char cmd[10][10]={"dir","cd","md","rd","date","time", //用一个数组来存放命令,方便之后调用
        "ren","copy","quit","help"};
    char str[10];      //定义
    int year,month,day;//定义
    do{
        printf("please enter the command: %c",str); //从键盘输入字符串
     gets(str);
    if (strcmp(str,cmd[0])==0)   //判断输入的字符串与数组中的命令是否一致
    {
        printf("\ndir:显示目录中的文件和子目录列表(内部命令)\n");
    
    }    
    else if (strcmp(str,cmd[1])==0)
    {
        printf("\ncd:改变当前目录(内部命令)\n");
    }
    else if (strcmp(str,cmd[2])==0)
    {
        printf("\nmd:建立一个新的子目录(内部命令)\n");
    }
    else if (strcmp(str,cmd[3])==0)
    {
        printf("\nrd:删除空文件夹(内部命令)\n");
    }
    else if (strcmp(str,cmd[4])==0)
    {
        printf("\ndate:显示或设置日期(内部命令)\n");
    }
    else if (strcmp(str,cmd[5])==0)
    {
        printf("\ntime:系统时钟设置命令,功能:设置或显示系统时期。\n");
    }
    else if (strcmp(str,cmd[6])==0)
    {
        printf("\nren:表示文件改个名字(内部命令)\n");
    }
    else if (strcmp(str,cmd[7])==0)
    {
        printf("\ncopy:表示复制命令,他的功能的复制信息(内部命令)\n");
    }
    else if (strcmp(str,cmd[8])==0)
    {
        printf("\nquit:不是内部或外部命令\n");
    }
    else if (strcmp(str,cmd[9])==0)
    {
        printf("\nhelp:\ndir:显示目录中的文件和子目录列表(内部命令)\n");
        printf("cd:改变当前目录(内部命令)\n");
        printf("md:建立一个新的子目录(内部命令)\n");
        printf("rd:删除空文件夹(内部命令)\n");
        printf("date:显示或设置日期(内部命令)\n");
        printf("time:系统时钟设置命令,功能:设置或显示系统时期\n");
        printf("ren:表示文件改个名字,ren命令的格式是:ren 源文件名 目的文件名\n");
        printf("copy:表示复制命令,他的功能的复制信息\n");
    }
    else    //除数组中定义的命令之外,从键盘输入的其他命令同意提示输入错误,并且重新输入
    {
    printf("The command you input is wrong! Please enter again!\n");    
    }
    }while(strcmp(str,cmd[8])!=0);  //判断是否跳出循环

}

实验一心得体会:在实验一中,我主要采用do while 的循环结构和if else if 的判断结构,实现连续输入客户需要查询的命令,在遇到quit 退出命令时,跳出循环,结束输入命令。关键函数采用strcmp 函数,用来比较客户输入的命令与cmd命令是否一致。一致则解释命令含义,否则则提示重新输入命令。

在编写程序的过程中,重复的输入输出的实现使得整个代码程序变得冗杂。在这个方面,我们应该在原有程序上进行改善处理,将输入输出操作赋予循环,让繁杂的代码变得更加简洁明了。 在输出的时候,首个字符出现乱码现象,在代码前面添加换行之后,乱码现象消失。