文章目录

  • 作业设计要求
  • 作业报告要求
  • 作业提交要求
  • 知识点

作业设计要求

  • 总体要求

    • linux环境下,采用C或C++
    • 存储一张表,然后能对该表进行查询、添加等操作
    • 上述功能以API的形式提供给应用使用
  • 存储要求

    • 利用已学的文件操作API,在文件系统中存储一张表
    • 该表有100个属性,每个属性都是8字节大小(int64_t)
    • 需要支持的最大行数为1百万行
  • 添加要求

    • 提供API函数,实现向表格添加一行的功能(添加到表格的末尾)
  • 搜索要求

    • 提供API函数,实现对表格的某一个属性进行范围查找或精确查找的功能。例如:

      • 查找在属性A上,大于等于50,小于等于100的所有行,当上下限相等时,即为精确查找
    • 用户可以指定在哪一个属性上进行搜索
    • 当搜索结果包含的行数过多时,可以只返回一小部分,如10行等
  • 索引要求

    • 提供API函数,为表格的某一个属性建立索引结构,以实现快速搜索
    • 自行选择使用哪种数据结构,建立索引结构,比如B+树等
    • 建立的索引结构,需要保存到一个文件中(索引文件 attr2.index);下次重启应用程序,并执行搜索任务时,应先检查是否已为相应属性建立了索引结构,即,搜索功能实现时,需要查找是否有索引文件存在,若有,则使用该文件加速搜索
  • 并发要求

    • 应用程序可以以多线程的方式,使用我们提供的上述API

    • 要保证多线程环境下,表、索引结构、索引文件的一致性(考虑互斥的要求)

  • 测试要求

    • 表中的数据随机生成
    • 测试用例要覆盖主要的需求
  • 附加

    • 插入、删除、修改表中的数据不做要求
    • 要求使用C或C++语言

作业报告要求

  • 形式要求

    • 按照“研究生学位论文”的撰写格式

      • 例如:正文小四号字,行间距20磅等等;
      • 每一章都需要从新的一页开始。
  • 内容需要包括一下几个部分

    • 第一章:需求分析(可以使用用例图等等)
    • 第二章:总体设计(给出整个程序的架构,以及关键的流程分析)
    • 第三章:详细设计与实现(详细说明各个模块的实现细节,包括模块内流程、类图、关键代码、文字说明)
    • 第四章:测试
      • 包括测试环境、测试用例、测试结果
      • 注意测试结果中必须有截图,截图中必须包括主机名,主机名必须是自己姓名的汉语拼音
      • 代码里有20%的注释或者命名易懂
    • 全文页数必须在20页以上

作业提交要求

  • 提交截止时间:2020-11-16 17:00
  • 只需要提交电子版,发送至:linuxcoding@163.com
  • 主题格式:“学号姓名”
  • 代码和作业报告压缩成一个文档,命名为:“学号姓名.rar”
  • 两天之内回复,若两天之后没有收到回复,联系:liujy@uestc.edu.cn

知识点

  • C++学习之路-由浅入深(快速掌握其基础)
  • lseek函数
  • B树和B+树的插入、删除图文详解
  • srand((unsigned)time(NULL))详解
  • srand((unsigned int)time(NULL))引发的思考
  • C++中new的用法
  • static 的深入
  • 【C++快速上手】三、static学习笔记
  • C++中的_access函数
  • 析构函数写成virtual的好处

【2020学年】电子科大Linux高级环境编程大作业相关推荐

  1. Linux 高级环境编程

    一 Unix / Linux系统介绍 unix / C unix 是操作系统 熟练应用操作系统 unix / linux C是计算机语言 基本命令 ls cd cp mkdir rm tar 文件的权 ...

  2. 《UNIX高级环境编程》 -- apue.h

    在看<UNIX高级环境编程>这本书的时候,会遇到一个问题就是这个"apue.h",这个是作者为了编写代码方便封装了一个库,我们可以使用下面的方式解决这个问题,让我们的代 ...

  3. Unix高级环境编程 学习小结(一)

    这个系列的博客主要是针对Unix高级环境编程的内容做一个小结,针对的是面试中经常问道或者可能问到的问题. Unix体系结构: 环境的核心是内核,内核的接口被称为系统调用,公用函数库建立在系统调用接口只 ...

  4. 计算机系统操作在线作业,电子科大《计算机操作系统》在线作业3

    计算机操作,计算机网络 14春13秋 13春电子科大<计算机操作 14春13秋 13春电子科大<计算机操作系统>在线作业3 1 2 试卷总分:100 测试时间:-- 单选题 .单选题 ...

  5. Linux大作业任务书,《Linux系统管理》期末大作业任务书(计网14级).doc

    <Linux系统管理>期末大作业任务书(计网14级) 软件学院大作业任务书 课程名称: Linux系统管理 题 目: Linux系统管理期末大作业 专 业: 班 级: 学 号: 学生姓名: ...

  6. Linux大作业任务书,《Linux系统管理》期末大作业任务书(2014.12)(1).doc

    软件学院大作业任务书 课程名称: Linux系统管理 题 目: Linux系统管理期末大作业 专 业: 班 级: 学 号: 学生姓名: 完成人数: 1人 起讫日期: 任课教师: 李荣鑫 职称: 部分管 ...

  7. linux程序设计项目报告,Linux程序设计实验报告大作业

    Linux程序设计实验报告大作业 实 验 报 告 课程名称: LINUX程序设计 学 院: 计算机学院 专 业: 软件工程 班 级: 14-3 姓 名: 张正锟 学 号: 201401061038 2 ...

  8. 电子科大16秋计算机应用基础在线作业一,电子科大16秋《计算机应用基础(本科)》在线作业3...

    电子科技大学电子科大16秋<计算机应用基础(本科)>在线作业3 一.单选题(共35 道试题,共70 分.) 1. 在Windows,打开一个菜单后,其中某菜单项会出现下属级联菜单的标识是( ...

  9. 3D游戏编程 大作业 逃生

    前言 这次的作业是在智能巡逻兵的基础上,改的一个新游戏.本来第七次作业想要效仿学长的3d大作,没想到各种fsm,欧拉角的应用之类的看得我发蒙:之后照着抄也是抄出一堆bug,不得已只好随便敷衍一下,做个 ...

最新文章

  1. 集结阿里云数据库最强阵容 DTCC 2019 八大亮点抢先看
  2. 主线程和子线程的同步控制
  3. 伪距定位算法(matlab版)
  4. JavaScript的鼠标事件
  5. 太阳花浏览器_一道浏览器面试题,就能看出你的前端功底
  6. 分布式监控之Zabbix-Server
  7. python模块之hashlib加密
  8. Word List 26
  9. 使用JUnit规则进行干净的集成测试
  10. Akka Notes –演员记录和测试
  11. user-agent java_user-agent
  12. 顺风车订单已结束仍在录音 嘀嗒出行回应录音机制
  13. 注册表和计算机用户名关系,IUSR_计算机名和IWAM_计算机名帐户的用户名和密码...
  14. linux日志清除脚本,linux 日志清除脚本
  15. 软硬负载之间的对比及优缺点
  16. python抖音涨粉代码_python制作抖音代码舞
  17. pkg_resources.ContextualVersionConflict: (pyasn1 0.1.9 (c:\users\dell\anaconda3\lib\site-packages)
  18. 小数分频器vhdl实现_使用VHDL进行分频器设计(含小数)
  19. 威纶通触摸屏MT6071IP如何使用宏指令编程设置密码登陆界面进行用户操作权限管理
  20. 直线回归和相关------(四)直线相关系数和决定系数(原理与公式推导)

热门文章

  1. 中国音乐家献艺卡耐基音乐厅 中美歌唱家合唱《我爱你中国》
  2. Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的区别
  3. python实现美空图片抓取机器人
  4. openssl一套证书-配置文件和证书签发
  5. ATM柜员机模拟程序
  6. 尽在双11 阿里巴巴技术演进与超越
  7. java 使用POI导出为pdf,通过浏览器直接下载
  8. G711编码原理及代码
  9. 商业大数据线下回归实验:北京二手房房价实验步骤(上)
  10. 使用node.js搭建简单服务器