Course

- 2008 Fall OS

- Project2 的程式使用解說

Author

  • Crilit 2008/11/13 21:13
  • 請勿轉載, 謝謝 ! — Crilit 2008/11/13 21:13
  • 此程式是由修 2007 Fall OS 袁國訓同學的作業作修改的, 僅供教學使用. — Crilit 2008/09/16 14:37
  • 以下將介紹程式該如何使用. — Crilit 2008/11/13 21:13
  • template 程式碼下載. — Crilit 2008/11/13 21:26

Usage

  • 將 schedule 的 requests, 按照時間填至 rooms[] 陣列的 timeTable 內, 在列印即可.

Variables

  1. nr_room: 紀錄 room 的數目.
  2. nr_class: 紀錄 class 的數目.
  3. nr_user: 紀錄 user 的數目.
  4. nr_request: 紀錄 request 的數目.
  5. rooms: 存放 rooms 的陣列.
  6. classes: 存放 classes 的陣列.
  7. requests: 存放 requests 的陣列.

Functions

  1. printTimeTable: 秀出最後的 TimeTable.
  2. checkTime0000to2359: 用來檢查 request 來的時間是否在範圍內. [0:00 - 23:59]
  3. checkTime0800to1800: 用來檢查 request 的時間是否在範圍內. [8:00 - 18:00]
  4. checkTimeSlot: 用來檢查 request 要求的時間是否在範圍內. [8:00 - 18:00]

Structures

  • USER 結構
    1. classid: 代表 user 的 class id.
    2. userid: 代表 user 的 id.
    3. nr_room: user 有幾間 prefer 的 room.
    4. room: preferred room 的陣列.
  • CLASS 結構
    1. classid: 代表 user 的 class id.
    2. nr_user: 這個 class 有幾個 user.
    3. users: 指向這個 class 有的 user. (USER 結構)
  • REQUEST 結構
    1. requestid: request 的 id, 以 parse 近來的順序編號.
    2. priority: request 的 priority, 即 class 的等級.
    3. users: 指向有這個 request 的 user.
    4. timeStamp: request 來的時間.
    5. date: request 要預約哪一天.
    6. startTime: request 開始的時間.
    7. reserveSlot: 預計要 reverse 的時間.
    8. occupiedSlot: 實際使用的時間.
  • ROOM 結構
    1. roomid: 房間編號, e.g. 102.
    2. timeTable: 以時間劃分. [第幾天][Hour][Minute]
    3. pos: 用來記錄是否連續同一個 request.
    4. timeLine: 實際 request 排列的時間.
courses/97/os/project2/code_description.txt · 上一次變更: 2008/11/24 15:01 由 crilit
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0