博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实验一 命令解释程序的编写
阅读量:5088 次
发布时间:2019-06-13

本文共 1787 字,大约阅读时间需要 5 分钟。

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

一、目的和要求

  1. 掌握命令解释程序的原理;
  2. 掌握简单的DOS调用方法;
  3. 掌握C语言编程初步。

二、实验要求

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

  1. 自行定义系统提示符
  2. 自定义命令集
  3. 用户输入HELP以查找命令的帮助
  4. 列出命令的功能,区分内部还是外部命令
  5. 用户输入QUIT退出
  6. 内部命令有dir,cd,md,rd,cls,date,time,ren,copy等

 三、编程实现流程

显示程序提示信息;

While(1)

{ 显示提示符;

接收键盘的字符串;

判断是否quit程序退出指令,是则退出;

判断是否内部命令,并给出相应的信息,否则给出错误信息;

 }

显示退出程序信息;

具体实现:

  1. 整体体现

    本程序利用C语言文件存储的方式实现cmd命令相关信息的存储,相关代码片段为:

FILE *fp;

fp=fopen("E:\\caozuo.txt","a+");打开文件,采用可写入方式,原文件夹的文件不会覆盖,将会在文件最后面加上。

fclose(fp);关闭文件。

     2.显示提示符

        显示界面输入,界面如下:

        

       3.接收键盘的字符串;

          接受键盘输入的字符串,输入的字符串采用结构体的方法实现,存储到TXT文件中,可以方便一直使用。具体实现代码如下:

1 void input() 2 {   FILE *fp;  3 fp=fopen("E:\\caozuo.txt","a+"); 4     int i; 5     int n; 6     printf("请输入你要录入的个数n\n:"); 7     scanf("%d",&n); 8     for(i=0;i

    上面这段是录入信息的代码片段。

    接受键盘输入命令符进行判断则定义一个数组search[]和已有的存储的信息进行判断,例如:

char search[5];

scanf("%s",search);

判断语句(部分):if(strcmp(search,other[i])==0)

 

     4.判断是否quit程序退出指令,是则退出;并显示退出程序信息

实现代码:

1 for(i=0;i<2;i++) 2 { 3   if(strcmp(search,another[i])==0) 4         {    printf(" quit 外部命令  将退出命令解释程序 \n"); 5   printf("\n");           6   printf("程序结束\n "); 7   printf("\n");  8  9   exit (0);10   }

      

      实现结果如图:

      

     

     5.判断是否内部命令,并给出相应的信息,否则给出错误信息;

判断(随机):

     

 

     

     四、实验拓展

     实现大小写的输入:

本程序主要是实现大写转为小写即可,小写能实现:

实现具体代码为:

     

1 for( i=0;i

     实现此功能需要加上头文件#include <string.h>和#include <ctype.h>

实现结果为:

     

    五:实验总结

    了解了cmd的运行与实现,和最基础的命令相关信息。

    六、源程序为:

    

1 #include 
2 #include
3 #include
4 #include
5 #define N 10 6 7 typedef struct cmd 8 { 9 char name[5]; 10 char type[10]; 11 char function[30]; 12 }CMD; 13 CMD cmd[N]; 14 15 void input() 16 { FILE *fp; 17 fp=fopen("E:\\caozuo.txt","a+"); 18 int i; 19 int n; 20 printf("请输入你要录入的个数n\n:"); 21 scanf("%d",&n); 22 for(i=0;i

 

转载于:https://www.cnblogs.com/Ranjer/p/5317626.html

你可能感兴趣的文章
rand()函数的用法
查看>>
Tesseract-OCR4.0识别中文与训练字库实例
查看>>
Android Button.getWidth()为0的问题
查看>>
浏览器 Event对象 及 属性 的兼容处理
查看>>
使用robot合并Robot Framework测试报告
查看>>
ef core code first 模式提示"可能会导致循环或多重级联路径"问题
查看>>
UVA-1608
查看>>
【bzoj3926】[Zjoi2015]诸神眷顾的幻想乡 广义后缀自动机
查看>>
容器监控—阿里云&容器内部服务监控
查看>>
个人编程作业2
查看>>
PHP在foreach中对$value赋值
查看>>
nginx学习-超详细nginx配置文件
查看>>
高性能 CSS3 动画
查看>>
Socket 1vs1 聊天工具
查看>>
AtCoder Regular Contest 095E - Symmetric Grid
查看>>
134. Gas Station leetcode
查看>>
jQuery基础教程(第3版)
查看>>
一个JS正则的字符串替换函数
查看>>
1-5色彩模式的选择
查看>>
RABBITMQ安装注意点
查看>>