软件工程课程实验报告:实验二

实验二:命令行菜单小程序V1.0

咖啡机《软件工程(C编码实践篇)》MOOC课程作业http://mooc.study.163.com/course/USTC-1000002006


新创建一个目录lab2完成实验。

一、实验要求

1. 代码风格规范:
  • 代码风格的原则:简明、易读、无二义性;
  • 缩进、命名、注释等代码编排的风格规范;
2. 具体要求:
  • 实现一个命令行的菜单小程序,执行某个命令时调用一个特定的函数作为执行动作,实现的命令个数不少于8个;
  • 类似ftp的help目录或者bash的help目录;
  • 程序循环、接收用户的命令,如help、others等命令;
  • 可以广泛通用的命令行菜单子系统组件,可方便地定制而嵌入到其他系统;

二、实验过程

1. 创建lab2文件夹,创建menu.c文件:

这里写图片描述

2. 编写程序
  • 实现8个数值计算相关命令,命令选择逻辑如下:
    while (1)
    {
        printf("Plesea choose a command and type it:\n");
        scanf("%s", cmd);
        if (strcmp(cmd, "info") == 0)
        {
            info();
        }
        else if (strcmp(cmd, "plus") == 0)
        {
            plus();
        }
        else if (strcmp(cmd, "minus") == 0)
        {
            minus();
        }
        else if (strcmp(cmd, "multiply") == 0)
        {
            multiply();
        }
        else if (strcmp(cmd, "divide") == 0)
        {
            divide();
        }
        else if (strcmp(cmd, "power") == 0)
        {
            power();
        }
        else if (strcmp(cmd, "square") == 0)
        {
            square();
        }
        else if (strcmp(cmd, "factorial") == 0)
        {
            factorial();
        }
        else if (strcmp(cmd, "absolute") == 0)
        {
            absolute();
        }
        else if (strcmp(cmd, "quit") == 0)
        {
            printf("Quit the program!\n");
            return 0;
        }
        else
        {
            printf("Error:unsupported command!\n");
            printf("Type 'info' for the available commands.\n");
        }
    }
菜单命令包括以下9种:
  • 介绍命令信息info()
  • 加法运算plus()
  • 减法运算minus()
  • 乘法运算multiply()
  • 除法运算divide()
  • 幂运算power()
  • 平方根运算square()
  • 阶乘运算factorial()
  • 绝对值运算absolute()

限制于报告篇幅,以上命令的具体实现代码就不在文中贴出,烦请移步github工程中查看。

https://github.com/973301529/se/tree/master/lab2

3. 编译并执行menu.c文件
  • 初始运行情况,info()介绍可用指令的相关信息:

  • 检测plus()、factorial()、absolute()、power()、quit()等指令的识别情况:

4. 将代码利用git同步到github:

三、实验心得

按照实验要求完成了命令行菜单小程序,实现了9种命令的命令行解释调用。在本次实验中,也了解了代码书写规则,并开始严格遵循其要求,写出了规范的程序代码。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.1编写目的 1.为了让网站开发更具有目的性 2.为了让客户更加清楚软件的开发过程与进度,增加与客户的交流 3.加强项目组内的管理,让工作清晰化 4.可以合理安排组织成员,有效利用时间,以确保项目进度,预见项目风险等活动。 5.项目开发成员通过此计划书明确项目目标以及各自职责 1.2参考资料 《实用软件工程》 《JAVA网络高级编程》 《软件工程》 《信息系统分析与设计》 2.项目概述 2.1工作内容 2.1.1.制作和修订项目开发计划; 2.1.2.进行计划跟踪与监控; 2.1.3.工作产品及时进行受控管理; 2.1.4.按计划提请阶段评审; 2.1.5.提交测试部门评测开发产品; 2.1.6.交付最终工作产品。 2.1.7.项目实施总结 2.1.8.项目验收 2.2条件与制约 2.2.1.能够存储大量图书和读者信息,并方便有效的进行相应的图书操作和管理,这主要包括: A.能够通过书籍基本信息查询书籍信息; B.对于每一种书籍,除可查看其基本信息之外还可查看其总数以及目前在馆数量; C.可增添,删除,修改书籍信息; D.能够添加、修改、删除用户基本信息; E.用户可查看其基本信息之外,还可查看其已借的书籍列表、数量、借还日期。 2.2.2.能够对需要的统计结果提供打印输出。 2.2.3.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。 2.3产品及成果 2.3.1.程序 软件名称:图书馆管理系统编程语言:JSP 存储方式:U盘,计算机 2.3.2.文件 1.用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。 2.软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护。 2.3.3.服务 计划提供以下服务: 1.课堂培训:以讲课形式对客户进行培训,使其能够正确使用软件; 2.免费咨询:客户可以在工作时间向技术人员提出问题并获得解答; 3.技术支持:对于某些客户,采取上门指导的方式; 4.软件维护:获取软件使用中的问题,提供补丁程序; 5.升级通知:在软件新版本发布的时候,及时通知(Email或邮寄信件)注册的用户,并提供试用版本; 6.软件升级:对于注册用户,只需较少的费用即可升级到新的版本;7.培训安装、维护和运行支持从使用该系统开始,维护期限为--年。 2.4运行环境 操作系统为Window 10,使用集成开发工具Eclipse5.5.1,数据库采用SQLServer2012,项目运行环境为IIS5.0。 2.5验收标准 2.5.1.代码的验收 最后在交付客户之前进行小组内评审,代码编写符合HB6465标准,与文档说明保持一致,代码书写风格统一,采用标准规范,没有下列错误:由于软件缺陷造成丢失数据,不符合设计要求,响应时间太长无法接受等问题。 2.5.2.文档验收 最后在交付客户之前进行小组内评审,文档格式符合HB6465标准,功能符合与客户的合同要求,清晰易读,没有语病与歧义。 2.5.3.服务验收 服务硬件达到文档说明的要求,人员技术考核合格,定期上门维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值