zoukankan      html  css  js  c++  java
  • 实验一报告

    实验一、DOS命令解释程序的编写

    13物联网  梁晓旋  201306104136

    一、 实验目的

    (1)认识DOS;

    (2)掌握命令解释程序的原理;

    (3)掌握简单的DOS调用方法;

    (4)掌握C语言编程初步。

    二、 实验内容和要求

    编写类似于DOS,UNIX的命令行解释程序

    (1)自行定义系统提示符

    (2)自定义命令集(8-10个)

    (3)用户输入HELP以查找命令的帮助

    (4)列出命令的功能,区分内部还是外部命令

    (5)用户输入QUIT退出

    (6)内部命令有dir, cd, md,rd, cls, date, time, ren, copy等。

    根据要求,完成设计、编码、测试工作。

    三、 实验方法、步骤及结果测试

    1. 源程序名1.c

    可执行程序名:1.exe

         2.  原理分析:用while语句进行选择,然后用if、 else if进行嵌套。当输入对应的命令则可以显示其命令解释,还可输入help进行查看命令行提示,输入quit后则退出程序。利用strcmp进行判断,虽然程序较为冗余,但是清晰明了。 

         3.程序段及分析:

     #include<stdio.h> 

    #include<string.h> 

    main()

    Charcmd[20][20]={"cd","dir","md","rd","cls","date","time","ren","copy","help","quit"};

     char str[20];                     //这是定义数组,将所需的命令存入到数组内。

    while(1){                          //表示无限循环

    printf("请输入显示符:");   

    gets(str);                        //这个是从键盘输入,并且在之前显示提示信息。  

    if(strcmp(str,cmd[0])==0) 

    {

    printf("cd目录名:进入特定的目录.  ");

    else if(strcmp(str,cmd[1])==0) 

    printf("dir表示无参数:查看当前所在目录的文件和文件夹 ");

    else if(strcmp(str,cmd[2])==0) 

    printf("md 目录名:建立特定的文件夹。dos下面习惯叫目录,win下面习惯叫文件夹 ")

    else if(strcmp(str,cmd[3])==0) 

    printf("rd 目录名:删除特定的文件夹。 ");

    else if(strcmp(str,cmd[4])==0) 

    printf("cls 目录名:表示清屏功能 ");

    else if(strcmp(str,cmd[5])==0) 

    printf("data 设置日期命令 ,功能是设置日期 ");

    else if(strcmp(str,cmd[6])==0) 

    printf("time系统时钟设置命令,功能:设置或显示系统时期。 ");

    else if(strcmp(str,cmd[7])==0) 

    {   

    printf("ren表示文件改个名字,ren命令的格式是:ren 源文件名 目的文件名。 ");

    else if(strcmp(str,cmd[8])==0) 

    {    

    printf("copy表示复制命令,他的功能的复制信息 "); 

    else if(strcmp(str,cmd[9])==0) 

    {

    printf("cd 目录名:进入特定的目录。  "); 

    printf("无参数:查看当前所在目录的文件和文件夹 "); 

    printf("md 目录名:建立特定的文件夹。dos下面习惯叫目录,win下面习惯叫文 件夹)  "); 

    printf("rd 目录名:删除特定的文件夹。 ");    

    printf("cls 目录名:表示清屏功能 "); 

    printf("data 设置日期命令 ,功能是设置日期 "); 

    printf("TIME系统时钟设置命令,功能:设置或显示系统时期。 ");    

    printf("ren表示文件改个名字,ren命令的格式是:ren 源文件名 目的文件名。 "); 

    printf("copy表示复制命令,他的功能的复制信息 ");

    else if(strcmp(str,cmd[10])==0)  

    return;  

    else    

    {    

    printf("你输入错误的信息,请重新输入: ");

    }

          4.运行结果

     

    四、 实验总结

          本次实验难度不大,但是大一学习的c语言知识遗忘了很多,所以刚开始参考了网上的一些程序。遇到的主要问题就是不懂使用字符串处理函数strcmp进行比较用户输入的命令与原有命令的大小。我会利用课余时间查缺补漏,希望下一次实验可以做得更好!

  • 相关阅读:
    vue自定义指令:v-drag使用 拖动拖拽
    element ui 中动态添加的树形结构(带删除功能的),不管点击删除哪个都会删除掉最后一个
    element ui 表格中的插槽用法
    报错:Uncaught SyntaxError: Unexpected token u in JSON at position 0
    vue报错:Duplicate keys detected: ' '. This may cause an update error
    el-input验证规则
    el-input 给v-model赋了默认值后不能编辑
    DC-2 渗透测试
    DC:1渗透测试
    CTF easytrick
  • 原文地址:https://www.cnblogs.com/carrotlxx/p/4866484.html
Copyright © 2011-2022 走看看