实验一  命令解释程序的编写(两周内)

一、目的和要求

1. 实验目的

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

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

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

2.实验要求

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

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

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

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

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

(5)用户输入QUIT退出

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

二、实验内容

根据教师指定的实验课题,完成设计、编码、测试工作。

、实验环境

1.PC微机

2.Windows 操作系统

3.C/C++程序开发集成环境

四、实验核心算法及运用文档

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<string.h>
 4 char or[19][20]={"dir","cd","md","rd","cls","date","time","ren","copy","javac","java","erase","chkntfs","assoc","at","attrib","call","help","quit"};
 5 char order[10];
 6 void cmd(int i);
 7 void main()
 8 {
 9     int i;
10     printf("Microsoft Windows [版本 6.1.7601]\n");
11     printf("版权所有 <c> 2009 Microsoft Corporation。版权所有权利。\n\n");
12     while(1)
13     {
14         printf("C:\\Users\\USER>");
15         gets(order);
16         if(strcmp(order,"\n")==1)
17         {
18             for(i=0;i<19;i++){
19                 if(stricmp(order,or[i])==0)
20                     break;
21             }
22             if(i==19)
23                 printf("\"%s\"不是内部或外部命令,也不是可运行的程序或批处理文件。\n\n",order);
24             else if(i==18)
25                 break;
26             else if(i==4)
27                 system("cls");
28             else{
29                 cmd(i);
30                 //system(order);
31                 printf("\n");
32             }
33         }
34     }
35 }
36
37
38 void cmd(int i){
39     FILE *fp;
40     int j;
41     int os[19][30];
42     fp=fopen("order.txt","r+");
43     for(j=0;j<19;j++)
44         fscanf(fp,"%s",os[j]);
45     fclose(fp);
46     if(i>=0&&i<=16)
47         printf("\"%s\"内部命令输入正确。\n",order);
48     else
49         printf("\"%s\"外部命令输入正确。\n",order);
50     if(i==17){
51         for(j=0;j<19;j++){
52             printf("%s\t",or[j]);
53             if(j>=0&&j<=16)
54                 printf("内部命令   ");
55             else
56                 printf("外部命令   ");
57             printf("%s\n",os[j]);
58         }
59
60     }
61     else if(i==4){
62         system(order);
63     }
64     else
65         printf("该命令的作用是:%s",os[i]);
66     printf("\n");
67 }

五、运行结果

六、实验总结

这次实验可以说是一次很简单的实验,有很多运用到的代码都是以前做大作业的时候写过的了。但是还是存在一些问题,比如这次实验的拓展题就让我有些不知道怎么下手,因为cmd命令解释,如果用所以说system(order);这句代码的话就可以照样的输出本机cmd命令解释的,如果不用的话,暂时还没有想出怎么去写这个代码。

转载于:https://www.cnblogs.com/moliny/p/5315121.html

操作系统-命令解释程序(实验一)相关推荐

  1. linux命令解释程序实验,实验二 命令解释程序的使用

    实验二 命令解释程序的使用 一.实验目的 掌握UNIX或LINUX环境下命令解释程序的使用 能对编写简单的C程序,进行编译运行和调试. 二.实验内容 输入LINUX相关命令后记录系统输出 简单的C程序 ...

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

    一.目的和要求 1. 实验目的 (1)认识DOS: (2)掌握命令解释程序的原理: (3)掌握简单的DOS调用方法: (4)掌握C语言编程初步. 2.实验要求 编写类似于DOS,UNIX的命令行解释程 ...

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

    一.目的和要求 1. 实验目的 (1)掌握命令解释程序的原理: (2)*掌握简单的DOS调用方法: (3)掌握C语言编程初步. 2.实验要求 编写类似于DOS,UNIX的命令行解释程序 (1)自行定义 ...

  4. 实验1 命令解释程序的编写

    实验1 命令解释程序的编写 一. 实验目的 (1)掌握命令解释程序的原理: (2)掌握简单的DOS调用方法: (3)掌握C语言编程初步. 二. 实验内容和要求 1.实验内容:根据教师指定的实验课题,完 ...

  5. 03-25实验一、命令解释程序的编写

    实验一.命令解释程序的编写 专业:商软二班  姓名:颜文生  学号:201406114256 一.        实验目的 (1)掌握命令解释程序的原理: (2)*掌握简单的DOS调用方法: (3)掌 ...

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

    一.目的和要求 1. 实验目的 (1)掌握命令解释程序的原理: (2)*掌握简单的DOS调用方法: (3)掌握C语言编程初步. 2.实验要求 编写类似于DOS,UNIX的命令行解释程序 (1)自行定义 ...

  7. 操作系统【用户接口】命令解释程序的主要功能、系统调用与一般过程调用的不同之处、系统调用的参数传递方式、系统调用的处理步骤

    操作系统 第九章 接口--用户接口   系统安全 命令解释程序:命令解释程序的主要功能: 系统调用:①系统调用与一般过程调用的不同之处②系统调用的参数传递方式③系统调用的处理步骤 命令解释程序的主要功 ...

  8. 操作系统课程设计---实验十 简单shell命令行解释器的设计与实现

    实验十 简单shell命令行解释器的设计与实现 完整课程设计源码及其报告查看:陈陈的操作系统课程设计 1.实验目的 本实验主要目的在于进一步学会如何在 Linux 系统下使用进程相关的系统调用,了解 ...

  9. 计算机网络实验ifconfig,《计算机网络》操作系统网络配置实验.doc

    文档介绍: 实验序号: 2 <计算机网络> 实验报告 说明 一.排版要求 实验报告"文件名"按模板要求填写. 例:<计算机网络>实验报告_10网络1班_02 ...

最新文章

  1. 和12岁小同志搞创客开发:手撕代码,Arduino IDE 软件下载和环境搭建
  2. python3编译caffe错误:cannot find -lboost_python3
  3. 支付宝支付-常用支付API详解(查询、退款、提现等)-转
  4. [Spring5]IOC容器_Bean管理注解方式_注入属性@Autowired_@Qualified_@Resource_@Value
  5. oracle oms可以调用吗,oracle oms
  6. 微信小程序网络通信(一)
  7. 【数据分析就业实战】——缺失值的常见处理方法
  8. iOS 2x 3x
  9. macOS Big Sur Beta4 无法收到更新通知解决办法
  10. 比赛计分软件部分界面抓图
  11. linux统计某种文件大小命令,linux下对符合条件的文件大小做汇总统计的简单命令...
  12. python+selenium自动化软件测试(第1章)
  13. 开发愤怒的小鸟的Lua语言:Wax框架详解
  14. Sdkman运行时INTERNET NOT REACHABLE问题和解决
  15. 文献笔记:Contrast-Phys: Unsupervised Video-based Remote Physiological Measurement viaSpatiotemporal Con
  16. 华为路由器AR6300 取消密码重置提醒和密码长期有效
  17. Halcon学习笔记-工业相机千兆网线和USB优劣对比
  18. dell电脑如何安装ubuntu系统_Dell Win10系统安装成Ubuntu16.04
  19. 墨修尧哪一章痊愈_第19章 偏心祖母是叶璃墨修尧最新更新章节-TXT全集下载-阅书阁手机阅读...
  20. cartoon drawing_drawing cartoon s是什么意思?

热门文章

  1. linux用户管理常用命令
  2. linux下vim 打开文件方式
  3. 从来没有一种技术是为了解决复用、灵活组合、定制开发的问题
  4. 可能是第二好的 Spring OAuth 2.0 文章,艿艿端午在家写了 3 天~
  5. Linux 还能这么玩,10 个非常有趣的命令!
  6. flowable更换数据源与连接池
  7. 27.能否在构造函数中抛出异常?析构函数呢?
  8. 9.C++弱引用智能指针weak_ptr的用处
  9. 数据库_第一第二第三范式讲解(通俗易懂)
  10. jQuery-点击按钮实现回到顶部的两种方式