打印机队列解读.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计报告 设计题目: 打印机任务队列 学生姓名: 专 业: 计算机科学与技术 班 级: 学 号: 指导教师: 完成日期: 合肥工业大学 计算机与信息学院 一. 需求和规格说明 题目:打印机任务队列 要求:打印机的打印队列中,每一个打印任务都有一个优先级,为1~9的一个整数(9的优先级最高,1的优先级最低),打印按如下方法进行. (1)取出打印队列中队首的打印任务J; (2)如果打印队列中存在优先级高于J的打印任务,则将J移动到打印队列的队尾;否则,打印J. 现在的问题是,要确定你要打印的文件何时打印完毕。给定当前打印队列(一个优先级队列)和你的打印任务在当前打印队列中的位置,确定你的打印任务完成时需要多长时间。为了简化问题,假定没有新的打印任务加入到打印队列中;并且,假定完成任何一个打印任务均需要1min时间,向打印队列中加入一个打印任务或从打印队列中移除一个打印任务不需要时间。 例如,当前打印队列为“1 1 9 1 1 1”且你的打印任务在队首时,需要5min. printqueue() int count; int front; int rear; int data[ ]; int flag; int time; error_code createqueue( int x); bool empty() const; bool full() const; error_code get_front(int x) const; error_code append(const int x); error_code serve(); bool priority(); error_code print(const int x); 2.设计表示: 属性和方法定义: 类名 成员类别 类型 成员名 描述 printqueue 属性 int count 当前打印队列中的打印任务数private int front 打印队列的队头指针private int rear 打印队列的队尾指针private int data[] 存储打印队列的数组private int flag 标识符,标记要打印的任务在打印队列中的位置public int time 打印完成所需时间public 方法 printqueue() 构造函数public error_code createqueue() 输入并构造打印队列public bool empty() 判断打印队列是否为空public bool full() 判断打印队列是否已满public error_code get_front() 取打印队列的队头元素public error_code append() 出队public error_code serve() 入队public bool priority() 判断队头打印任务是否优先级最高public error_code print() 打印函数public 三. 用户手册 1,使用时先输入打印队列,注意打印队列为优先级队列,优先级为1~9,输入-1作为打印队列的输入结束符,且打印队列长度不能超过98。 2,输入打印任务在打印队列中的位置,用数字表示,位置不能超出打印队列长度。 之后计算机便可自行执行打印任务并计算时间。 四. 调试及测试 此次设计的程序基本实现了题目中的要求。 程序运行的时空效率分析: 空间消耗:需要空间存储打印队列,front,rear,count,flag,time及其他中间变量的值,空间消耗较少。 时间性能:若队列长度为n,则最多需要移动元素n!次,最多需要打印n次。时间性能较佳。 测试数据集; 打印队列 打印任务所在位置 运行结果 正确输入 1 1 9 1 1 1 -1 1 所用时间为5min 打印任务位置错误 1 2 3 4 5 -1 6 所用时间为0min 打印队列输入错误 1 1 2 2 4 10 9 2 1 -1 -- 输入错误 打印队列输入错误 c a b e 1 2 3 -1 -- 输入错误 打印队列超长 1 2 3 4 5 6 7 8 9 ….(共99个数) -- 所用时间为0min 打印队列为空 -1 --

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档