|
| 1 | +08839125d.tar.z README Last changed: 13 July 2013 |
| 2 | + |
| 3 | +------------------------------------------------------- |
| 4 | +Car Park System (CPS) README |
| 5 | +------------------------------------------------------- |
| 6 | + |
| 7 | +This file will guide you through the CPS. Please read |
| 8 | +carefully before you proceed to any operation. |
| 9 | + |
| 10 | +NOTE: This file has to contain less than 8000 lines in |
| 11 | +order to be displayed properly in CPS. |
| 12 | + |
| 13 | +------------------------------------------------------- |
| 14 | +Distribution Contents |
| 15 | +------------------------------------------------------- |
| 16 | + |
| 17 | +This CPS distribution contents following files |
| 18 | + |
| 19 | +core.h - The general head file earn.c lxs.c makefile - |
| 20 | +Used by make to build CPS power.c README - This file, |
| 21 | +providing guidance record.c store.c ui.c yhz.c |
| 22 | + |
| 23 | +All the files above except makefile and README are |
| 24 | +essential for CPS. |
| 25 | + |
| 26 | +------------------------------------------------------- |
| 27 | +System Requirements |
| 28 | +------------------------------------------------------- |
| 29 | + |
| 30 | +Screen Size: Columns >= 35, Lines >= 10 |
| 31 | + |
| 32 | +Platform: UNIX-like |
| 33 | + |
| 34 | +Max Memory Consumption: 1.3 gigabytes for largest |
| 35 | +possible database size, 7 million parking slots |
| 36 | + |
| 37 | +Max Disk Space Consumption: same as above |
| 38 | + |
| 39 | +Developing tools: C compiler, ncurses library, make |
| 40 | + |
| 41 | +NOTE: The system should have ncurses library to run |
| 42 | +CPS. |
| 43 | + |
| 44 | +------------------------------------------------------- |
| 45 | +Preliminaries & Installation |
| 46 | +------------------------------------------------------- |
| 47 | + |
| 48 | +0. If you are reading this, you have presumably |
| 49 | +succeeded in extracting the distribution from the |
| 50 | +compressed tar archive file, via the following command, |
| 51 | +or equivalent: |
| 52 | + |
| 53 | + tar zxf cps.tar.z |
| 54 | + |
| 55 | +1. Then use "make" to build the executable "cps". |
| 56 | + |
| 57 | +------------------------------------------------------- |
| 58 | +User Interface and Operation |
| 59 | +------------------------------------------------------- |
| 60 | + |
| 61 | +0.0 Overall Screen Display |
| 62 | + |
| 63 | +0.1 Except for the initialization menus, the screen is |
| 64 | +divided into three parts: Main Window for menu and main |
| 65 | +output, Parameters Window for a quick reference and |
| 66 | +History Window recording recent operations. |
| 67 | + |
| 68 | +0.2 The last three lines of the screen is preserved. |
| 69 | +The third last one is for character input. The second |
| 70 | +last is for key function displaying. The last line |
| 71 | +acts as the status bar. |
| 72 | + |
| 73 | +0.3 The current active window is marked with reverse |
| 74 | +video. |
| 75 | + |
| 76 | +1.0 Key Instruction Bar |
| 77 | + |
| 78 | +1.1 In most situations, the function keys (direction |
| 79 | +keys, tab and 0 - 9) for window & menu operation is |
| 80 | +displayed in the 2nd last line. |
| 81 | + |
| 82 | +1.2 Users are always advised to stick to function keys |
| 83 | +only shown in this bar. |
| 84 | + |
| 85 | +2.0 Status Bar |
| 86 | + |
| 87 | +2.1 The status bar display short information for |
| 88 | +current operation. It may display important info so |
| 89 | +please keep an eye on it. |
| 90 | + |
| 91 | +2.2 The status bar will sometime display a progress |
| 92 | +bar. |
| 93 | + |
| 94 | +3.0 Character Input Mode |
| 95 | + |
| 96 | +3.1 In the input mode, the available input keys will be |
| 97 | +shown on the status bar. Backspace and horizontal |
| 98 | +arrow keys also function as in common sense. |
| 99 | + |
| 100 | +3.2 The up arrow key inputs the cancel command which |
| 101 | +rollback any modification to current entry. |
| 102 | + |
| 103 | +3.3 The down arrow key inputs the send-in command which |
| 104 | +submit the input for examination. Should the input |
| 105 | +failed to qualified, the input line will be restore to |
| 106 | +initial state for another input. Should it passes, the |
| 107 | +entry will be modified. |
| 108 | + |
| 109 | +4.0 Menus |
| 110 | + |
| 111 | +4.1 Menu items comes with different functions. The |
| 112 | +current one is marked in bold and with reversed item |
| 113 | +number. |
| 114 | + |
| 115 | +4.2 The items are numbered in the following way: the |
| 116 | +first digit indicates the ancestor item in the main |
| 117 | +menu, the second, if any, indicates the ancestor in the |
| 118 | +secondary menu. |
| 119 | + |
| 120 | +5.0 Result Display Pad |
| 121 | + |
| 122 | +5.1 The result display pad is a scrollable pad |
| 123 | +containing relatively long operation result. It ends |
| 124 | +with an EOF line of asterisks. |
| 125 | + |
| 126 | +5.2 Sometimes, the result display pad is used to get |
| 127 | +confirmation from the user. |
| 128 | + |
| 129 | +5.3 If the information to be displayed exceeds the size |
| 130 | +of the pad, CPS will ask for saving it. |
| 131 | + |
| 132 | +6.0 Parameter Window |
| 133 | + |
| 134 | +6.1 Within the parameter window, the item names are |
| 135 | +underlined while their values are displayed in plain. |
| 136 | + |
| 137 | +6.2 For the slots state item. The numerator shows the |
| 138 | +occupied slots. The denominator shows the capacities. |
| 139 | +When CPS is empty or full, this value will be displayed |
| 140 | +in bold. |
| 141 | + |
| 142 | +7.0 History Window |
| 143 | + |
| 144 | +7.1 The history window displays operation history, with |
| 145 | +the latest at the bottom of the window. |
| 146 | + |
| 147 | +7.2 The character within the brackets after the license |
| 148 | +No. indicates the operation. 'I' stands for check-in. |
| 149 | +'O' stands for check-out. |
| 150 | + |
| 151 | +7.3 The '#' stands for slot number, '$' for |
| 152 | +money/balance. |
| 153 | + |
| 154 | +7.4 The history window only holds a certain number of |
| 155 | +records. Once the content exceeds it, the oldest one |
| 156 | +will be deleted from storage. |
| 157 | + |
| 158 | +8.0 Discount Policies |
| 159 | + |
| 160 | +8.1 CPS provide 2 "discount" policies: special time |
| 161 | +span and cumulative award. |
| 162 | + |
| 163 | +8.2 The special time span policy offers another price |
| 164 | +to be set for a certain time span during a day. The |
| 165 | +price does not necessarily be lower than normal. |
| 166 | + |
| 167 | +8.3 The cumulative award policy reward customer once |
| 168 | +they have spent certain amount of money. The award |
| 169 | +will be taken off from the current bill. If the award |
| 170 | +exceeds the payment, the extra amount will be |
| 171 | +discarded. |
| 172 | + |
| 173 | +9.0 Search |
| 174 | + |
| 175 | +9.1 In all interval searches, strings are compared |
| 176 | +based on ascii character value. |
| 177 | + |
| 178 | +9.2 In all interval searches, leaving the start and end |
| 179 | +point empty makes search display all cars checked-in. |
| 180 | + |
| 181 | +10.0 Business Records |
| 182 | + |
| 183 | +10.1 Total business records is calculated and replace |
| 184 | +the detailed record after a day or month has passed. |
| 185 | +This prevents herding a large number of record files |
| 186 | +and makes detailed information inaccessible. |
| 187 | + |
| 188 | +11.0 Limits |
| 189 | + |
| 190 | + CPS Profile: 30 characters |
| 191 | + |
| 192 | + License: 20 characters |
| 193 | + |
| 194 | + Customer Name: 30 characters |
| 195 | + |
| 196 | + File Path & Name: 90 characters |
| 197 | + |
| 198 | + Price: 7 digits (including decimal point) |
| 199 | + |
| 200 | + README: (somewhat fewer than) 8000 lines |
| 201 | + |
| 202 | + Result display: somewhat fewer than) 8000 lines |
| 203 | + |
| 204 | + History: (somewhat fewer than) 250 operations |
| 205 | + |
| 206 | +12.0 Special Notifications |
| 207 | + |
| 208 | +12.1 For CPS operations involving slot update. All the |
| 209 | +time need to be as new as or newer than latest time |
| 210 | +recorded. |
| 211 | + |
| 212 | +12.2 The CPS will create a folder named after the car |
| 213 | +park under the program directory. Manually operated it |
| 214 | +only with full understanding and due care. |
| 215 | + |
| 216 | +12.3 The user should guarantee enough disk space for |
| 217 | +functioning. |
| 218 | + |
| 219 | +12.4 All the double variables, i.e., money related |
| 220 | +calculation are no more precise that one thousandth. |
| 221 | + |
| 222 | +12.5 All time used in CPS are measured in 24 hour |
| 223 | +clock. Daylight Saving Time is not considered. |
| 224 | + |
| 225 | +12.6 CPS uses a failsafe mechanism to ensure that |
| 226 | +transactions are preserved under failure. (Only |
| 227 | +affected by disk cache) |
| 228 | + |
| 229 | +------------------------------------------------------- |
| 230 | +License |
| 231 | +------------------------------------------------------- |
| 232 | + |
| 233 | +All the documents accompanied within this distribution |
| 234 | +are available under terms of GNU Free Document Licence. |
| 235 | + |
| 236 | +All the source codes, scripts, programs are available |
| 237 | +under terms of GNU GPL. |
| 238 | + |
| 239 | +------------------------------------------------------- |
| 240 | +End of README |
| 241 | +------------------------------------------------------- |
0 commit comments