实验一 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>
main()
{
char cmd[20][20]={"dir", "cd"," md","rd", "cls", "date","time","ren","copy","help","quit"};
char str[20];
while(1)
{
printf("请输入显示符");
gets(str);
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:内部命令 创建一个目录。\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:内部命令 重新命名文件。\n");
}
else if(strcmp(str,cmd[8])==0)
{
printf("copy:内部命令 将至少一个文件复制到另一个位置。\n");
}
else if(strcmp(str,cmd[9])==0)
{
printf("类型:外部命令\n");
printf("dir\t内部命令 显示一个目录中的文件和子目录。\n");
printf("cd\t内部命令 显示当前目录的名称或将其更改。\n");
printf("md\t内部命令 创建一个目录。\n");
printf("rd\t内部命令 删除目录。.\n");
printf("cls\t内部命令 清除屏幕。\n");
printf("date\t内部命令 显示或设置日期。\n");
printf("time\t内部命令 内部命令显示或设置系统时间。\n");
printf("ren\t内部命令 重新命名文件。\n");
printf("copy\t内部命令 将至少一个文件复制到另一个位置。\n");
printf("help\t外部命令 提供Windows命令的帮助信息。\n");
printf("quit\t外部命令 退出命令解释程序\n");
printf("\n");
printf("\n");
}
else if(strcmp(str,cmd[10])==0)
{
printf("quit:886\n:");
return;
}
else
{
printf("你输入错误的信息,请重新输入:\n");
}
}

}

实验结果分析:

1.用户进入界面后:

2:输入help后显示:

3:举例输入date:

五:实验总结

  对于本次的实验,对大一学习过的C语言还是有所遗忘,通过请教厉害点的同学和舍友间的讨论,已经熟悉了一点。希望通过接下来的实验可以慢慢的回忆起来,熟悉以后可以更好的进行实验操作。

转载于:https://www.cnblogs.com/ongbenny/p/4866920.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构(WMI) wupdmgr--------windows更新程序 wscript--------windows脚本宿主设置 write----------写字板 winmsd---------系统信息 wiaacmgr-------扫描仪和照相机向导 winchat--------XP自带局域网聊天 mem.exe--------显示内存使用情况 Msconfig.exe---系统配置实用程序 mplayer2-------简易widnows media player mspaint--------画图板 mstsc----------远程桌面连接 mplayer2-------媒体播放机 magnify--------放大镜实用程序 mmc------------打开控制台 mobsync--------同步命令 dxdiag---------检查DirectX信息 drwtsn32------ 系统医生 devmgmt.msc--- 设备管理器 dfrg.msc-------磁盘碎片整理程序 diskmgmt.msc---磁盘管理实用程序 dcomcnfg-------打开系统组件服务 ddeshare-------打开DDE共享设置 dvdplay--------DVD播放器 net stop messenger-----停止信使服务 net start messenger----开始信使服务 notepad--------打开记事本 nslookup-------网络管理的工具向导 ntbackup-------系统备份和还原 narrator-------屏幕“讲述人” ntmsmgr.msc----移动存储管理器 ntmsoprq.msc---移动存储管理员操作请求 netstat -an----(TC)命令检查接口 syncapp--------创建一个公文包 sysedit--------系统配置编辑器 sigverif-------文件签名验证程序 sndrec32-------录音机 shrpubw--------创建共享文件夹 secpol.msc-----本地安全策略 syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码 services.msc---本地服务设置 Sndvol32-------音量控制程序 sfc.exe--------系统文件检查器 sfc /scannow---windows文件保护 tsshutdn-------60秒倒计时关机命令 tourstart------xp简介(安装完成后出现的漫游xp程序) taskmgr--------任务管理器 eventvwr-------事件查看器 eudcedit-------造字程序 explorer-------打开资源管理器 packager-------对象包装程序 perfmon.msc----计算机性能监测程序 progman--------程序管理器 regedit.exe----注册表 rsop.msc-------组策略结果集 regedt32-------注册表编辑器 rononce -p ----15秒关机 regsvr32 /u *.dll----停止dll文件运行 regsvr32 /u zipfldr.dll------取消ZIP支持 cmd.exe--------CMD命令提示符 chkdsk.exe-----Chkdsk磁盘检查 certmgr.msc----证书管理实用程序 calc-----------启动计算器 charmap--------启动字符映射表 cliconfg-------SQL SERVER 客户端网络实用程序 Clipbrd--------剪贴板查看器 conf-----------启动netmeeting compmgmt.msc---计算机管理 cleanmgr-------垃圾整理 ciadv.msc------索引服务程序 osk------------打开屏幕键盘 odbcad32-------ODBC数据源管理器 oobe/msoobe /a----检查XP是否激活 lusrmgr.msc----本机用户和组 logoff---------注销命令 iexpress-------木马捆绑工具,系统自带 Nslookup-------IP地址侦测器 fsmgmt.msc-----共享文件夹管理器 utilman--------辅助工具管理器 gpedit.msc-----组策略
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值