欢迎来到天天文库
浏览记录
ID:41942776
大小:77.00 KB
页数:6页
时间:2019-09-04
《以命令行方式进行人机交互的程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一、目的和要求1.实验目的(1)拿握命令解释程序的原理;(2)掌握简单的系统调用方法;(3)掌握C/C++语言编程初步。2.实验学吋:4学吋3.实验要求:使用C/C卄编程语言编写一•个以命令行方式进行人机交互的程序。使用者输入命令,程序负责解释并执行。二、实验内容设计编写一个以命令行方式进行人机交互的程序。使用者输入命令,程序负责解释并执行。完成设计、编码、测试工作。具体要求如下:lo进入系统时显示:"WELCOMETOSIMULAROPERATIONSYSTEM!"的欢迎界面;2。自定义系统提示符,女>〃;3o要求实现的命令集1)Is命令:列
2、出目录文件;2)pwd命令:列出当前目录;3)help命令:列出当前系统町用命令集及貝•功能;4)chdir命令:更换当前目录;5)date命令:查看系统时间;6)cis命令:清除屏幕;7)chkdsk命令:检查系统磁盘状态;8)ver命令:查看当前系统版本号。4o用户输入"quit〃命令退出系统。三、实验步骤1.杳阅网络资料,了解命令解释程序的含义;2.在WINDOWS操作系统下键入"CMD〃命令,进入DOS提示符环境,输入HELP命令,杏看系统可川命令集并尝试去使川它们。3.查阅资料,思考如何实现命令解释程序。4.编写程序实现命令解释程序,
3、程序的调错与测试。5.完成实验报告内容。AttdefineDEBUG*/^include
4、nsourcefile.〃);return1;}if((filed=fopen(arg[2],z,w,z))==NULL){fprintf(stderr,nnotopendestinationfile.,z);return1;}do{ch=fgetc(files);fputc(ch,filed);}while(ch!二EOF);fclose(files);fclose(filed);printf(,zcopyed:form%sto%s!,/,arg[l],arg[2]);return0;}intera(char*arg[],intk
5、){if(unlink(arg[l])!=0){printf(〃f订edeletefail!z,);return0;}elseprintf(〃f订e%sdeleted!z,,arg[l]);Teturn0;intdis(char*arg[],intk){inti,count;char*filename,ch;FILE*stream;ttifdefDEBUGfor(i=0;i6、of(char)*strlen(arg[l]));strcpy(filename,arg[1]);ttifdefDEBUGprintf(〃27filenameis:%srT,filename);ttendifif((stream=fopen(filename,z,rz,))二二NULL){fprintf(stderr,nnotopenfile./z);return1;}clrscr();printfC'filename:%s〃,f订ename);count=0;ch=fgetc(stream);whi1e(ch!二EOF){if(7、ch二二’'){count++;if(count=23){count=0;getchar();}}putchar(ch);ch=fgetc(stream);}printf(〃endoff订e!〃);fclose(stream);free(filename);return0;}intdir()structffblkffblk;intdone;intcount;printf(^Directorylistingof*.*〃);printf(,ztnamettsize,z);done=findfirst(〃*・*〃,&ff8、blk,';count二0;while(!done){/*printf(〃%dtt%s〃,ffblk.ff_fsizc,ffblk.ff_na
6、of(char)*strlen(arg[l]));strcpy(filename,arg[1]);ttifdefDEBUGprintf(〃27filenameis:%srT,filename);ttendifif((stream=fopen(filename,z,rz,))二二NULL){fprintf(stderr,nnotopenfile./z);return1;}clrscr();printfC'filename:%s〃,f订ename);count=0;ch=fgetc(stream);whi1e(ch!二EOF){if(
7、ch二二’'){count++;if(count=23){count=0;getchar();}}putchar(ch);ch=fgetc(stream);}printf(〃endoff订e!〃);fclose(stream);free(filename);return0;}intdir()structffblkffblk;intdone;intcount;printf(^Directorylistingof*.*〃);printf(,ztnamettsize,z);done=findfirst(〃*・*〃,&ff
8、blk,';count二0;while(!done){/*printf(〃%dtt%s〃,ffblk.ff_fsizc,ffblk.ff_na
此文档下载收益归作者所有