实验一 命令解释程序的编写
2016-03-25 14:08
183 查看
实验一 命令解释程序的编写
专业:商软一班 姓名:杨子健 学号:201406114137一、 实验目的
(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. 源程序名:压缩包文件(命令解释.rar)中源程序名 miniOS.c
可执行程序名:miniOS.exe
2.主要采用嵌套的方法来完成程序。字符串存到定义的数组内,若输入的命令是正确的,便会会显示命令的解释。(这次没用结构体)
3. 主要程序段及其解释:
if(strcmp(str,cmd[0])==0) { printf("dir 内部命令:显示一个目录中的文件和子目录\n"); } else if(strcmp(str,cmd[1])==0) { printf("cd 内部命令:显示当前目录的名称或将其更改\n"); } else if(strcmp(str,cmd[2])==0) { printf("md 内部命令:建立一个目录或文件夹.dos下面习惯叫目录,win下面习惯叫文件夹\n"); } else if(strcmp(str,cmd[3])==0) { printf("rd 内部命令:删除目录\n"); } else if(strcmp(str,cmd[4])==0) { printf("cls 内部命令:清除屏幕\n"); } else if(strcmp(str,cmd[5])==0) { printf("data 内部命令:显示或设置日期\n"); } else if(strcmp(str,cmd[6])==0) { printf("time 内部命令:显示或设置系统时间\n"); } else if(strcmp(str,cmd[7])==0) { printf("ren 内部命令:重新命名文件,ren命令的格式是:ren 源文件名目的文件名\n"); } else if(strcmp(str,cmd[8])==0) { printf("copy 内部命令:将至少一个文件复制到另一个位置\n"); } else if(strcmp(str,cmd[9])==0) { printf("dir 显示一个目录中的文件和子目录\n"); printf("cd 显示当前目录的名称或将其更改\n"); printf("md 建立一个目录或文件夹.dos下面习惯叫目录,win下面习惯叫文件夹\n"); printf("rd 删除目录\n"); printf("cls 清除屏幕\n"); printf("data 显示或设置日期\n"); printf("time 显示或设置系统时间\n"); printf("ren 重新命名文件,ren命令的格式是:ren 源文件名目的文件名\n"); printf("copy 将至少一个文件复制到另一个位置\n"); printf("help 提供Windows命令的帮助信息\n"); printf("quit 退出命令解释程序\n"); } else if(strcmp(str,cmd[10])==0) return; else { printf("你输入错误的信息,请重新输入!\n"); } } }
![](http://images2015.cnblogs.com/blog/809208/201603/809208-20160325140438511-1907354611.png)
四、实验心得 本次的实验,用了较多以前学过的知识,但是由于之前没有认真学习,导致了这次并不能像老师所给的程序那样去完成程序,只能用了这次这种较为简单的方式。但是,课后会学习老师这种通过文件的保存与读取,把文件的内容保存到结构体数组中的方法。
相关文章推荐
- 10大H5前端框架,让你开发不愁
- 40个Java多线程问题总结
- Python中如何把程序放到后台执行
- android studio的第一行代码
- Java关键字final、static使用总结
- ASP.NET 按规定尺寸缩放图片
- 改序列号增幅
- iOS UILabel 使用姿势大全(标红关键字)
- 搭建Windows Network Load Balance环境无法 Add Host To Cluster的解决方案
- C++ 实现对计算机服务的一系列操作
- Android内存优化图片二次采样
- 设置图片的背景色
- 字符编码进化史
- 动画—Core Animation初步学习五:转场动画_从一个场景以动画的形式过渡到另一个场景
- 写一个程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示。(单词之间用空格隔开,如“Hello World My First Unit Test”)
- 把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”
- Xcode运行的错误bug收集
- 开始实习
- 浅谈DrawerLayout(抽屉效果)
- 【转】判断完全平方数的算法