21一个支持sorthelp和quit命令的字符shell.docx
- 文档编号:24485408
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:11
- 大小:103.65KB
21一个支持sorthelp和quit命令的字符shell.docx
《21一个支持sorthelp和quit命令的字符shell.docx》由会员分享,可在线阅读,更多相关《21一个支持sorthelp和quit命令的字符shell.docx(11页珍藏版)》请在冰豆网上搜索。
21一个支持sorthelp和quit命令的字符shell
河北工业大学计算机软件技术基础(VC)2012年课程设计报告
学院电气信息学院班级C1109班姓名韩国强学号115260成绩____
一、题目:
一个仅支持sort、help和quit命令的字符Shell
二、设计思路
1、总体设计
1)分析程序的功能
2)该程序是通过对计算机输入命令字符,使其执行相应的操作,本程序仅支持sort、help和quit命令的字符Shell,通过help命令执行显示帮助的信息,“sort+参数”命令执行排序操作;quit命令执行退出系统的操作。
3)系统总体结构:
本程序中共有三种命令,quit,help,sort+参数命令:
(1)当执行help命令时,只有一个显示子函数。
模块
函数名称
显示帮助信息
DisplayHelp
(2)当执行quit命令时直接通过break退出程序。
(3)当执行sort+参数命令时,需要多个函数进行数据处理。
模块
函数名称
分离命令符
SeparateCmd
检验前四个字符是否为sort
ExamSort
检验后面参数是否正确
ExamCan
分离数字
SeparateNum
数字排序
NumSort
在该部分中,主要需要克服的困难是如何识别字符命令shell,如何分离字符串中的数字,如何将字符类型的数字装换为整型的数字,主要困难在SeparateNum函数中。
而整个分离数字然后排序的sort命令流程可见下图:
2、各功能模块的设计:
说明各功能模块的实现方法
(1)主函数模块
主函数调用各个子函数,通过if语句对指令进行识别,while
(1)死循环使程序一直循换,直到遇见quit指令,输出显示有help帮助信息,指令不能识别,sort参数错误,将sort后面数字排序输出。
代码参加main函数模块;
2)显示帮助函数模块
通过十个指针数组进行显示,每个指针显示一行输出结果,这样在主函数中,结构比较清晰,不会因为过多的cout使程序结构看起来更加复杂。
代码参见DisplayHelp函数模块;
(3)分离指令函数模块
根据Cmd【i】指令,i根据for循环在有控制的增加,将输入的cmd变量分离,将前四个字符分离出来,然后赋值给中间变量cmdtemp1,如果cmdtemp1和sort相同,则分离指令成功。
代码参见SeparateCmd函数模块;
(4)检验参数函数模块
当分离出指令以后,如果sort后面不是数字,则输出参数错误。
代码参见ExamCan;
5)分离数字函数模块
主要要考虑如何区分不限定个数和位置的空格,还有不限定个数的数字,对于判断数字,它的前一个是空格,后一个字符SDCII码值在0到9的字符之间,这样就能确定数字的开始位置,而检验数字的结束位,也检测它的后一个什么时候出现空格,这样每次检测到总数加1,全局变量n加1,知道遇见‘\0’.
(6)排序函数模块
将分离出来的变量储存到整型数组,利用forfor循环,冒泡法排序。
代码参见NumSort函数;
7)创新设计部分
颜色控制+延时输出
要改变控制台的颜色设置需要调用两个Windows操作系统的API函数。
GetStdHandle函数用来获得当前控制台的句柄,用SetConsoleTextAttribute函数来改变选中控制台的颜色控制。
这两个函数的声明存在于
可以将这两个调用封装到SetColor函数中。
对于输出的延时,可以调用Sleep函数,使显示更加形象。
俩者也可以有机的结合人到一起进行输出控制
例如:
如果需要改变当前的控制台输出颜色为白底红字,则可以书写如下代码:
#include
voidSetColor(unsignedshortForeColor=7,unsignedshortBackGroundColor=0)//设置显示颜色函数
{
HANDLEhCon=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hCon,ForeColor+BackGroundColor*0x10);
}
比如:
NumSort函数可以创新如下:
voidNumSort()//冒泡法排序
{
inttemp;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 21 一个 支持 sorthelp quit 命令 字符 shell