欢迎来到天天文库
浏览记录
ID:57700222
大小:521.83 KB
页数:10页
时间:2020-09-01
《命令解释程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一、命令解释程序实验专业:软件工程姓名:陈朝杰学号:201206014147一、实验目的(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.源程序名:cmd.cpp可
2、执行程序名:cmd.exe命令及其说明文件:cmd.txtI-101.原理分析及流程图开始读取文件将文件中的奇数行存储到cmd字符数组中,偶数行存储到fun字符数组中读取用户输入的字符流,并存储到str字符数组中str是否为quit是否Str是否为help是输出所有cmd[][]和fun[][]否否与cmd[i]匹配输出非操作命令是输出fun[i]结束I-101.主要程序段及其解释:实现主要功能的程序段,重要的是程序的注释解释。{/*==定义变量====================*/inti=0,j=0,n;//定义变量charstr[1
3、0];//用于存储用户输入的命令(字符串流)charstrsd[100];//用于存储获取的当前目录charcmd[20][10];//用于存储从文件中读取的命令charfun[20][50];//用于读取从文件中读取的命令的功能说明/*=========文件读取============\=========*/charfilename[]="D:\cmd.txt";//命令及其功能说明的文件的路径及其文件名FILE*fp;//文件指针charStrLine[50];//每行最大读取的字符数if((fp=fopen(filename,"r"
4、))==NULL)//判断文件是否存在及可读{printf("error!");return-1;}/*========读取文件并存储到cmd[][]和fun[][]中=====*/while(!feof(fp)){if(i%2==0){//如果是单行,则存到cmd【】(命令)中fgets(StrLine,10,fp);strcpy(cmd[i/2],StrLine);cmd[i/2][strlen(cmd[i/2])-1]=0;//消除从文件读入字符串时的换行符}else//如果是偶数行,则存到fun【】(功能说明)中I-10{fgets(S
5、trLine,50,fp);strcpy(fun[i/2],StrLine);fun[i/2][strlen(fun[i/2])-1]=0;//消除从文件读入字符串时的换行符}n=i/2+1;//n为命令的个数i++;}for(i=strlen(fun[n-1])-1;i<=50;i++)//消除文件最后读入的结束符(?)fun[n-1][i]=0;//printf("%d",n);fclose(fp);//关闭文件/*===判断用户输入的命令并作出相应的回应======*/while(strcmp(str,"quit")!=0)//判断用
6、户输入的是否为quit,是则跳出循环结束程序{if(strcmp(str,"help")==0)//判断用户输入的是否为help,是则输出所有的cmd【】,fun【】{for(i=0;i7、==n)printf("%s不是内部操作命令!",str);}//若不能配对到相同命令,则输出该命令不是操作命令printf("%s>",strsd);gets(str);//进行循环}I-104.运行结果及分析1.输入help命令:分析:程序输出所有命令及其功能2.输入cls命令:分析:程序能正确输出其功能I-103.输入quit:分析:程序能正常退出1.输入time分析:文件中并没有time这个命令(没加入),故提示不是操作命令I-101.输入time分析:此时已在文件中加入了time命令,故可以输出其功能说明一、实验总结通过这次的实验8、,复习了c语言。许多忘记或从未记住过的知识重新看了一遍。字符串配对部分在同学的帮助下认识到了错误的所在,通过查找资料找到了具体的解决方法,完成了作业。
7、==n)printf("%s不是内部操作命令!",str);}//若不能配对到相同命令,则输出该命令不是操作命令printf("%s>",strsd);gets(str);//进行循环}I-104.运行结果及分析1.输入help命令:分析:程序输出所有命令及其功能2.输入cls命令:分析:程序能正确输出其功能I-103.输入quit:分析:程序能正常退出1.输入time分析:文件中并没有time这个命令(没加入),故提示不是操作命令I-101.输入time分析:此时已在文件中加入了time命令,故可以输出其功能说明一、实验总结通过这次的实验
8、,复习了c语言。许多忘记或从未记住过的知识重新看了一遍。字符串配对部分在同学的帮助下认识到了错误的所在,通过查找资料找到了具体的解决方法,完成了作业。
此文档下载收益归作者所有