操作系统实验一.命令解释程序的编写

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

专业:商业软件工程1班   姓名:周诗琦  学号:201406114108

一、        实验目的

(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.      源程序名:压缩包文件中源程序名 MiniOS.cpp

                 可执行程序名:MiniOS.exe

        2.      原理分析及流程图

                  本次实验主要是用while语句进行选择,用if、else if等循环语句嵌套做出判断。

                  利用strcmp进行判断,当输入与对应的命令相等时,则可以显示其命令解释,还可输入help进行查看命令行提示,输入quit后则退出程序。

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

 1 #include<stdio.h>
 2 #include<string.h>
 3 void main()
 4 {
 5     char mingling[15][15]={"dir","cd","md","rd","cls","date","time","ren","cope","help","quit"};
 6     char ch[15];
 7     printf("Microsoft Windows XP [版本 5.1.2600]\n");
 8     printf("<c> 版权所有 1985-2001 Microsoft Corp.");
 9     printf("c:\Users\Administrator");
10     
11     while(1)
12     {
13         printf("请输入命令>");
14         gets(ch);//读入字符串
15         if(strcmp(ch,mingling[0])==0)
16         {
17             printf("dir  内部命令 显示一个目录中的文件和子目录\n");
18         }
19         else if(strcmp(ch,mingling[1])==0)  
20         {
21             printf("cd 内部命令 显示当前目录的名称或将其更改。\n");
22         }
23         else if(strcmp(ch,mingling[2])==0)  
24         {
25             printf("md 内部命令 创建一个目录。\n");
26         }
27         else if(strcmp(ch,mingling[3])==0)    
28         {
29             printf("rd 内部命令 删除目录。\n");
30         } 
31         else if(strcmp(ch,mingling[4])==0)  
32         {
33             printf("cls 内部命令 清除屏幕\n");
34         }
35         else if(strcmp(ch,mingling[5])==0)  
36         {
37             printf("date 内部命令 显示或设置日期\n");
38         }
39         else if(strcmp(ch,mingling[6])==0)  
40         {
41             printf("time 内部命令 内部命令显示或设置系统时间\n");
42         }
43         else if(strcmp(ch,mingling[7])==0)  
44         {
45             printf("ren 内部命令 重新命名文件\n");
46         }else if(strcmp(ch,mingling[8])==0)  
47         {
48             printf("cope 内部命令 将至少一个文件复制到另一个位置\n");
49         }
50         else if(strcmp(ch,mingling[9])==0) 
51         {
52             printf("dir 内部命令 显示一个目录中的文件和子目录\n");
53             printf("cd 内部命令 显示当前目录的名称或将其更改。\n");
54             printf("md 内部命令 创建一个目录。\n");
55             printf("rd 内部命令 删除目录。\n");
56             printf("cls 内部命令 清除屏幕\n");
57             printf("date 内部命令 显示或设置日期\n");
58             printf("time 内部命令 内部命令显示或设置系统时间\n");
59             printf("ren 内部命令 重新命名文件\n");
60             printf("cope 内部命令 将至少一个文件复制到另一个位置\n");
61             printf("help 外部命令 提供Windows命令的帮助信息\n");
62             printf("quit 外部命令 退出命令解释程序\n");
63         }
64         else if(strcmp(ch,mingling[10])==0)
65             return;
66         else
67         {
68             printf("你输入错误的信息,请重新输入:\n");  
69         }
70     }
71 }

四、        实验总结

             原本是想通过读取文件进行对比判断后打印文件内容的方法,但是由于本身对C语言的运用不够熟悉,所以选择了简单的直接的键盘读取和直接printf。在今后的学习中要加强对编程的运用,熟悉更多的方法,以便更好地辅助操作系统的学习。

转载于:https://www.cnblogs.com/sr1zsq/p/5319044.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值