0923《操作系统教程》实验一 ·DOS命令解释程序的编写
2015-09-23 19:42
211 查看
实验一 DOS命令解释程序的编写
一、目的和要求
1. 实验目的
(1)认识DOS;
(2)掌握命令解释程序的原理;
(3)掌握简单的DOS调用方法;
(4)掌握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++程序开发集成环境
四、实验原理及核心算法参考程序段
#include<stdio.h>
#include<string.h>
void main(){
char command[20];
char s[20][20]={"dir","cd","md","rd","cls","date","time","ren","copy","help","quit","haha","hehe","xixi"};
int count,key;
while(strcmp(command,"quit")!=0){
printf("Please input command:\n");
gets(command);
for(count=0;count<20;count++){
if(strcmp(command,s[count])==0){
key=count;
}
}
switch(key){
case 0:
printf("dir表示无参数:查看当前所在目录的文件和文件夹\n");
break;
case 1:
printf("cd 目录名:进入特定的目录。\n");
break;
case 2:
printf("md 目录名:建立特定的文件夹。dos下面习惯叫目录,win下面习惯叫文件夹\n");
break;
case 3:
printf("rd 目录名:删除特定的文件夹。\n");
break;
case 4:
printf("cls 目录名:表示清屏功能\n");
break;
case 5:
printf("data 设置日期命令 ,功能是设置日期\n");
break;
case 6:
printf("time系统时钟设置命令,功能:设置或显示系统时期。\n");
break;
case 7:
printf("ren表示文件改个名字,ren命令的格式是:ren 源文件名 目的文件名。\n");
break;
case 8:
printf("copy表示复制命令,他的功能的复制信息\n");
break;
case 9:
printf("我不会救你的\n");
break;
case 11:
printf("哈哈\n");
break;
case 12:
printf("呵呵\n");
break;
case 13:
printf("嘻嘻\n");
break;
}
}
printf("you`ve quit the dos\n");
}
一、目的和要求
1. 实验目的
(1)认识DOS;
(2)掌握命令解释程序的原理;
(3)掌握简单的DOS调用方法;
(4)掌握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++程序开发集成环境
四、实验原理及核心算法参考程序段
#include<stdio.h>
#include<string.h>
void main(){
char command[20];
char s[20][20]={"dir","cd","md","rd","cls","date","time","ren","copy","help","quit","haha","hehe","xixi"};
int count,key;
while(strcmp(command,"quit")!=0){
printf("Please input command:\n");
gets(command);
for(count=0;count<20;count++){
if(strcmp(command,s[count])==0){
key=count;
}
}
switch(key){
case 0:
printf("dir表示无参数:查看当前所在目录的文件和文件夹\n");
break;
case 1:
printf("cd 目录名:进入特定的目录。\n");
break;
case 2:
printf("md 目录名:建立特定的文件夹。dos下面习惯叫目录,win下面习惯叫文件夹\n");
break;
case 3:
printf("rd 目录名:删除特定的文件夹。\n");
break;
case 4:
printf("cls 目录名:表示清屏功能\n");
break;
case 5:
printf("data 设置日期命令 ,功能是设置日期\n");
break;
case 6:
printf("time系统时钟设置命令,功能:设置或显示系统时期。\n");
break;
case 7:
printf("ren表示文件改个名字,ren命令的格式是:ren 源文件名 目的文件名。\n");
break;
case 8:
printf("copy表示复制命令,他的功能的复制信息\n");
break;
case 9:
printf("我不会救你的\n");
break;
case 11:
printf("哈哈\n");
break;
case 12:
printf("呵呵\n");
break;
case 13:
printf("嘻嘻\n");
break;
}
}
printf("you`ve quit the dos\n");
}
相关文章推荐
- CoreLocation框架定位详解
- HDU 5120 Intersection(几何模板题)
- 欢迎使用CSDN-markdown编辑器
- UVa 1586 - Molar mass
- 注意身体
- SignalTap Ⅱ使用步骤整理
- 使用JBoss 5.1.0.GA部署项目可能遇到的问题汇总
- zoj3829 Known Notation --- 2014 ACM-ICPC Asia Mudanjiang Regional Contest
- Linux 磁阵性能瓶颈定位过程
- javascript模拟getElementByClassName
- Android设计支持库(Android Design Support Library)
- 实现一个工具类,可以把HBase任意表的任意多的列导出到任意指定的HDFS中
- VS2010+WDK配置要点
- LeetCode(53) Climbing Stairs (剑指Offer->跳台阶、变态跳台阶)
- 数独设计(2)
- Number Sequence
- The Water Problem hdoj 5443 (排序)
- HDU 5464 Clarke and problem(dp 动态规划)——BestCoder Round #56(div.1 div.2)
- strcpy
- javascript自学之路(二)————js对象类型之宿主对象