实验1-命令解释程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
院(系):
专业班级:
学号:
姓名:
实验地点:
实验日期:
一、实验目的及要求
1.理解命令解释程序工作原理。
2.掌握c语言编程初步。
二、实验环境
计算机,Microsoft Visual C++ 6.0;
三、实验内容
利用高级语言编写一个微型命令解释程序,接收并解释执行以下命令:dir 列出当前目录
cop 文件1 文件2 拷贝文件
era 文件名删除文件
dat 显示日期
tim 显示时间
end 结束,退出
画出程序流程图,编写程序,实现上述功能。
四、实验步骤
1.实验过程:
a.设计界面
b.设计主函数
c.各个函数的实现
d.连接调用
2.画流程图
3.根3.根据指令,以及流程图编写c语言代码
代码如下:
#include
#include
#include
void main()
{
int i,num;
char a[10],b[50],c[50],d[50],e[50],f[50];
char sjs[6][20]={"dir","cop","era","dat","tim","end"};
while(1)
{
printf("******************************\n");
printf("*dir:List File *\n");
printf("*cop:Copy File *\n");
printf("*era:Delete File*\n");
printf("*dat:Date *\n");
printf("*tim:Time *\n");
printf("*end:Quit *\n");
printf("******************************\n");
printf("******************************\n");
printf("Please Input b:\n");
scanf("%s",&a);
for(i=0;i<=6;i++)
{
if(!strcmp(a,sjs[i]))
{
num=i;
break;
num=7;
}
}
strcpy(b,"");
strcpy(c,"");
strcpy(d,"");
switch(num)
{
case 0:
strcpy(b,"dir");break;
case 1:
printf("Please Input Source File:");
scanf("%s",&e);
printf("\nPlease Input Destination:");
scanf("%s",&c);
strcat(b,"copy");
strcat(b,e);
strcat(b," ");
strcat(b,c);
break;
case 2:
printf("Please Input Delete File:");
scanf("%s",&d);
strcat(b,"del");
strcat(b,d);
break;
case 3:printf("Please Input String Date:");
scanf("%s",&e);
strcat(b,"Date ");
printf("Data:%s",e);
break;
case 4:printf("Please Input Tim:");
scanf("%s",&f);
strcat(b,"Time ");
printf("Tim:%s",f);
break;
case 5:
printf("退出!!\n");exit(0);
default:
printf("Err Command,Input Command Again!\n"); }
if(num>=0&&num<=5)
system(b);
}
}
五、调试过程
1.在写程序的过程中始终出现错误,忘记写
2.在建立txt文档时,不需要后缀名,系统会默认txt类型。
六、实验结果及分析
本次实验依次实现了列出当前目录、拷贝文件、删除文件、显示日期、显示时间、结束退出等功能。如下图所示:
七、总结
1.在程序中所用到的系统函数必须写上头文件。
2.通过编程也了解了系统函数的一些功能,加深了对它的了解。
3.在调试过程中,难免会出现错误,要耐心查找错误源。