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

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

    商软2班   刘皓  201406114229

    一、 实验目的

    (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 #include <fstream>
     2 #include <iostream>
     3 #include <stdio.h>
     4 
     5 struct cmd
     6 {
     7     char name[40];
     8     char effect[100];
     9 };
    10 
    11 int main(void)
    12 {
    13     std::ifstream OpenFile("test.txt");
    14 
    15     if (!OpenFile)
    16     {
    17         std::cout << "Can't not open this file.
    ";
    18         exit(0);
    19     }
    20 
    21     const int N = 100;
    22 
    23     cmd c[N];
    24     int n = 0;
    25     while (!OpenFile.eof())
    26     {
    27         OpenFile >> c[n].name;
    28         OpenFile >> c[n].effect;
    29 
    30         n++;
    31     }
    32     OpenFile.close();
    33 
    34     char ch[20];
    35     int x;
    36     std::cout << "Microsoft Windows [版本 6.1.7601]
    版权所有 (c) 2009 Microsoft Corporation。保留所有权利。";
    37     std::cout << "
    
    C:\Users\Administrator>";
    38     gets(ch);
    39     while (1)
    40     {
    41         x = 0;
    42         for (int i = 0; i < 20; i++)
    43         {
    44             if (ch[i] >= 'a' && ch[i] <= 'z')
    45                 ch[i] -= 32;
    46         }
    47         for (i = 0; i < n; i++)
    48             if (strcmp(ch, c[i].name) == 0)
    49             {
    50                 std::cout << c[i].name << c[i].effect << std::endl;
    51                 x = 1;
    52                 break;
    53             }
    54 
    55         if (strcmp(ch, "HELP") == 0)
    56         {
    57             for (int i = 0; i < n; i++)
    58                 std::cout << c[i].name << "        " << c[i].effect << std::endl;
    59             x = 1;
    60         }
    61 
    62         if (strcmp(ch, "EXIT") == 0)
    63         {
    64             std::cout << "程序即将退出!
    
    ";
    65             exit(0);
    66         }
    67 
    68         if (x == 0)
    69             std::cout << "'" <<ch << "'" <<"不是内部或外部命令,也不是可运行的程序或批处理文件。
    ";
    70 
    71         std::cout << "
    C:\Users\Administrator>";
    72         gets(ch);
    73     } 
    74 
    75     return 0;
    76 }

  • 相关阅读:
    Python全栈之机器学习参考笔记
    每个Kaggle冠军的获胜法门:揭秘Python中的模型集成
    logback配置文件
    浅谈Spring中的IOC容器
    JavaWeb三大组件之Servlet
    JavaWeb三大组件之Filter
    常用执行计划操作符
    Linux环境下Redis集群实践
    SQL事物隔离级别
    任务调度框架-Quartz.Net
  • 原文地址:https://www.cnblogs.com/shuaibi/p/5320160.html
Copyright © 2011-2022 走看看