zoukankan      html  css  js  c++  java
  • 实验一、命令解释程序的编写

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

    商软2班 王大华 221

    一、    实验目的

    (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等。

    源程序:

    #include<stdio.h>
    #include <stdlib.h>
    #include<string.h>
    main()
    { 
    char cmd[20][20]={"dir","cd","md","rd","cls","date","time","ren","copy","quit","help"}; 
    char str[10]; 
    int i;
    printf("Microsoft Windows XP [版本 5.1.2600]
    ");
    printf("<c> 版权所有 1985-2001 Microsoft Corp.
    ");
    printf(" 
    "); 
    while(1){ 
    printf("C:Documents and Settingshskd>"); 
    gets(str);
    strlwr(str); 
    for(i=0;i<20;i++){ 
    { 
    if(strcmp(str,cmd[0])==0) 
    { 
    printf("内部命令 输入正确
    "); 
    printf("该命令的作用:查看当前的目录
    "); 
    printf("
    "); 
    printf("
    "); 
    break; 
    } 
    else if(strcmp(str,cmd[1])==0) 
    { 
    printf("内部命令 输入正确
    "); 
    printf("该命令的作用是:显示当前目录的名称
    "); 
    printf("
    "); printf("
    "); 
    break; 
    } 
    else if(strcmp(str,cmd[2])==0) 
    { 
    printf("内部命令 输入正确
    "); 
    printf("该命令的作用是:创建一个新目录
    "); 
    printf("
    "); 
    printf("
    "); 
    break; 
    } 
    else if(strcmp(str,cmd[3])==0) 
    { 
    printf("内部命令 输入正确
    "); 
    printf("该命令的作用是:删除该目录
    "); 
    printf("
    "); 
    printf("
    "); 
    break; 
    } 
    else if(strcmp(str,cmd[4])==0) 
    { 
    printf("内部命令 输入正确
    "); 
    printf("该命令的作用是:清屏
    "); 
    printf("
    "); 
    printf("
    "); 
    break; 
    } 
    else if(strcmp(str,cmd[5])==0) 
    { 
    printf("内部命令 输入正确
    "); 
    printf("该命令的作用是:显示或设置日期
    "); 
    printf("
    "); 
    printf("
    "); 
    break; 
    } 
    else if(strcmp(str,cmd[6])==0) 
    { 
    printf("内部命令 输入正确
    "); 
    printf("该命令的作用是:显示或设置系统时间
    "); 
    printf("
    "); 
    printf("
    "); 
    break; 
    } 
    else if(strcmp(str,cmd[7])==0) 
    { 
    printf("内部命令 输入正确
    "); 
    printf("该命令的作用是:重命名文件
    "); 
    printf("
    "); 
    printf("
    "); 
    break; 
    } 
    else if(strcmp(str,cmd[8])==0) 
    { 
    printf("内部命令 输入正确
    "); 
    printf("该命令的作用是:将至少一个文件复制到另一个位置
    "); 
    printf("
    "); 
    printf("
    "); 
    break; 
    } 
    else if(strcmp(str,cmd[9])==0) 
    { 
    return 0;
    
    } 
    else if(strcmp(str,cmd[10])==0) 
    { 
    printf("有关某个命令的详细信息,请键入HELP命令名
    "); 
    printf("dir	 显示一个目录中的文件和子目录。
    "); 
    printf("cd	 显示当前目录的名称或将其更改。
    "); 
    printf("md	 创建一个目录。
    "); 
    printf("rd	 删除目录。.
    "); 
    printf("cls	 清除屏幕。
    "); 
    printf("date	 显示或设置日期。
    "); 
    printf("time	 内部命令显示或设置系统时间。
    "); 
    printf("ren	 重新命名文件。
    "); 
    printf("cope	 将至少一个文件复制到另一个位置。
    "); 
    printf("help	 提供Windows命令的帮助信息。
    "); 
    printf("quit	 退出命令解释程序
    "); 
    printf("
    "); 
    printf("
    "); 
    break; 
    }
    else if(strcmp(str,cmd[i])!=0)
    { 
    printf("此命令不是内部或外部命令,也不是可运行的程序或批处理文件!
    "); 
    printf("
    "); 
    break;
    } 
    } 
    } 
    } 
    }
  • 相关阅读:
    POJ 1003 解题报告
    POJ 1004 解题报告
    POJ-1002 解题报告
    vi--文本编辑常用快捷键之光标移动
    常用图表工具
    September 05th 2017 Week 36th Tuesday
    September 04th 2017 Week 36th Monday
    September 03rd 2017 Week 36th Sunday
    September 02nd 2017 Week 35th Saturday
    September 01st 2017 Week 35th Friday
  • 原文地址:https://www.cnblogs.com/wangdahua/p/5318954.html
Copyright © 2011-2022 走看看