您的位置:首页 > 其它

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

2016-03-25 13:07 78 查看
实验一、命令解释程序的编写

专业:商业软件工程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. 主要程序段及其解释:

#include<stdio.h>
#include<string.h>
void main()
{
char mingling[15][15]={"dir","cd","md","rd","cls","date","time","ren","cope","help","quit"};
char ch[15];
printf("Microsoft Windows XP [版本 5.1.2600]\n");
printf("<c> 版权所有 1985-2001 Microsoft Corp.");
printf("c:\Users\Administrator");

while(1)
{
printf("请输入命令>");
gets(ch);//读入字符串
if(strcmp(ch,mingling[0])==0)
{
printf("dir  内部命令 显示一个目录中的文件和子目录\n");
}
else if(strcmp(ch,mingling[1])==0)
{
printf("cd 内部命令 显示当前目录的名称或将其更改。\n");
}
else if(strcmp(ch,mingling[2])==0)
{
printf("md 内部命令 创建一个目录。\n");
}
else if(strcmp(ch,mingling[3])==0)
{
printf("rd 内部命令 删除目录。\n");
}
else if(strcmp(ch,mingling[4])==0)
{
printf("cls 内部命令 清除屏幕\n");
}
else if(strcmp(ch,mingling[5])==0)
{
printf("date 内部命令 显示或设置日期\n");
}
else if(strcmp(ch,mingling[6])==0)
{
printf("time 内部命令 内部命令显示或设置系统时间\n");
}
else if(strcmp(ch,mingling[7])==0)
{
printf("ren 内部命令 重新命名文件\n");
}else if(strcmp(ch,mingling[8])==0)
{
printf("cope 内部命令 将至少一个文件复制到另一个位置\n");
}
else if(strcmp(ch,mingling[9])==0)
{
printf("dir 内部命令 显示一个目录中的文件和子目录\n");
printf("cd 内部命令 显示当前目录的名称或将其更改。\n");
printf("md 内部命令 创建一个目录。\n");
printf("rd 内部命令 删除目录。\n");
printf("cls 内部命令 清除屏幕\n");
printf("date 内部命令 显示或设置日期\n");
printf("time 内部命令 内部命令显示或设置系统时间\n");
printf("ren 内部命令 重新命名文件\n");
printf("cope 内部命令 将至少一个文件复制到另一个位置\n");
printf("help 外部命令 提供Windows命令的帮助信息\n");
printf("quit 外部命令 退出命令解释程序\n");
}
else if(strcmp(ch,mingling[10])==0)
return;
else
{
printf("你输入错误的信息,请重新输入:\n");
}
}
}






四、 实验总结

原本是想通过读取文件进行对比判断后打印文件内容的方法,但是由于本身对C语言的运用不够熟悉,所以选择了简单的直接的键盘读取和直接printf。在今后的学习中要加强对编程的运用,熟悉更多的方法,以便更好地辅助操作系统的学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: