欢迎来到天天文库
浏览记录
ID:53001353
大小:93.33 KB
页数:7页
时间:2020-04-10
《以命令行方式进行人机交互的程序.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、目的和要求1.实验目的(1)掌握命令解释程序的原理;(2)掌握简单的系统调用方法;(3)掌握C/C++语言编程初步。2.实验学时:4学时3.实验要求:使用C/C++编程语言编写一个以命令行方式进行人机交互的程序。使用者输入命令,程序负责解释并执行。二、实验内容设计编写一个以命令行方式进行人机交互的程序。使用者输入命令,程序负责解释并执行。完成设计、编码、测试工作。具体要求如下:1。进入系统时显示:”WELCOMETOSIMULAROPERATIONSYSTEM!”的欢迎界面;2。自定义系统提示符,
2、如“C:>”;3。要求实现的命令集1)ls命令:列出目录文件;2)pwd命令:列出当前目录;3)help命令:列出当前系统可用命令集及其功能;4)chdir命令:更换当前目录;5)date命令:查看系统时间;6)cls命令:清除屏幕;7)chkdsk命令:检查系统磁盘状态;8)ver命令:查看当前系统版本号。4。用户输入“quit”命令退出系统。三、实验步骤1.查阅网络资料,了解命令解释程序的含义;2.在WINDOWS操作系统下键入“CMD”命令,进入DOS提示符环境,输入HELP命令,查看系统可用命
3、令集并尝试去使用它们。3.查阅资料,思考如何实现命令解释程序。4.编写程序实现命令解释程序,程序的调错与测试。5.完成实验报告内容。/*#defineDEBUG*/#include
4、TE);if((files=fopen(arg[1],"r"))==NULL){fprintf(stderr,"Cannotopensourcefile.");return1;}if((filed=fopen(arg[2],"w"))==NULL){fprintf(stderr,"Cannotopendestinationfile.");return1;}do{ch=fgetc(files);fputc(ch,filed);}while(ch!=EOF);fclose(files);fclos
5、e(filed);printf("copyed:form%sto%s!",arg[1],arg[2]);return0;}intera(char*arg[],intk){if(unlink(arg[1])!=0){printf("filedeletefail!");return0;}elseprintf("file%sdeleted!",arg[1]);return0;}intdis(char*arg[],intk){inti,count;char*filename,ch;FILE*str
6、eam;#ifdefDEBUGfor(i=0;i7、f(stderr,"Cannotopenfile.");return1;}clrscr();printf("filename:%s",filename);count=0;ch=fgetc(stream);while(ch!=EOF){if(ch==''){count++;if(count==23){count=0;getchar();}}putchar(ch);ch=fgetc(stream);}printf("endoffile!");fclose(stream);fre8、e(filename);return0;}intdir(){structffblkffblk;intdone;intcount;printf("Directorylistingof*.*");printf("tnamettsize");done=findfirst("*.*",&ffblk,'?');count=0;while(!done){/*printf("%dtt%s",ffblk.ff_fsize,ffblk.ff_name
7、f(stderr,"Cannotopenfile.");return1;}clrscr();printf("filename:%s",filename);count=0;ch=fgetc(stream);while(ch!=EOF){if(ch==''){count++;if(count==23){count=0;getchar();}}putchar(ch);ch=fgetc(stream);}printf("endoffile!");fclose(stream);fre
8、e(filename);return0;}intdir(){structffblkffblk;intdone;intcount;printf("Directorylistingof*.*");printf("tnamettsize");done=findfirst("*.*",&ffblk,'?');count=0;while(!done){/*printf("%dtt%s",ffblk.ff_fsize,ffblk.ff_name
此文档下载收益归作者所有