zoukankan      html  css  js  c++  java
  • 实验一


    #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[30]={0};//定义一个一维数组,用于存放用户输入发命令
        int i;
        
        while(1)//如果用户不想结束就一直循环
        {
            printf("请输入命令:");
            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 目录名:建立特定的文件夹。dos下面习惯叫目录,win下面习惯叫文件夹\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("data 设置日期命令,功能是设置日期\n");
                
            }
            
            
            else if(strcmp(str,cmd[6])==0)
            {
                printf("time系统时钟设置命令,功能:设置或显示系统时期。\n");
                
            }
            
            else if(strcmp(str,cmd[7])==0)
            {
                
                
                printf("ren表示文件改个名字,ren命令的格式是:ren 源文件名目 的文件名。\n");
                
            }
            
            else if(strcmp(str,cmd[8])==0)
            {
                printf("copy表示复制命令,他的功能的复制信息\n"); 
                
            }
            
            else if(strcmp(str,cmd[9])==0)
            {
                
                printf("无参数:查看当前所在目录的文件和文件夹\n");  
                printf("cd 目录名:进入特定的目录。\n");  
                printf("md 目录名:建立特定的文件夹。dos下面习惯叫目录,win下面习惯叫文件夹)\n ");  
                printf("rd 目录名:删除特定的文件夹。\n"); 
                printf("cls 目录名:表示清屏功能\n");  
                printf("data 设置日期命令,功能是设置日期\n");  
                printf("TIME系统时钟设置命令,功能:设置或显示系统时期。\n");  
                printf("ren表示文件改个名字,ren命令的格式是:ren 源文件名目 的文件名。\n");  
                printf("copy表示复制命令,他的功能的复制信息\n");
                
            }
            else if(strcmp(str,cmd[10])==0)
            {
                return 0;
            }
            else
            {
                printf("你输入错误的信息,请重新输入:\n"); 
                
            }
        }
        
        return 0;
    }

      

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

    专业计算机科学与技术   姓名 胡洁如  学号 201306114125

    一、        实验目的

     

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

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

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

    实验内容和要求

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

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

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

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

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

    (5)用户输入QUIT退出

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

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

    1. 1.       源程序名:dos.cpp
    1. 2.      原理分析及流程图

    本程序采用了c语言中的while语句和if „else if的嵌套的方法完成。将所需的命令字符串存到定义的数组内,从键盘输入利用strcmp进行筛选,若输入正确的命令会显示此命令的解释。输入“help”会提示,将命令提示全部显示出来,而输入“quit”就会退出程序。

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

     见插入代码

      

    1. 4.      运行结果及分析

                 
     
      
      
      
      
      
      
      
      
      
      
      
      
     
     
     


             

    结果符合预期

    三、        实验总结

    刚开始,我总以为这个程序很难,一直在钻研,导致我两节课下来都没有做出来,后来经过同学的指点,我恍然大悟,原来是我把简单的问题复杂化了,下次我不会这样了,会看清楚实验要求的。

     

  • 相关阅读:
    PHP安全编程:更优的会话数据安全 更好地防范session暴露(转)
    PHP安全编程:会话数据注入 比会话劫持更强大的攻击(转)
    小菜学习设计模式(四)—原型(Prototype)模式
    小菜学习设计模式(三)—工厂方法(Factory Method)模式
    从头学习设计模式(一)——单例模式
    javascript Date format(js日期格式化)
    您尝试打开的文件的格式与文件扩展名指定的格式不一致
    C# foreach 中获取索引index的方法
    C# DateTime日期格式化
    oracle的常用函数 instr() 和substr()函数
  • 原文地址:https://www.cnblogs.com/jieru/p/4396354.html
Copyright © 2011-2022 走看看