Skip to content

Commit 8f96aab

Browse files
committed
=init
0 parents  commit 8f96aab

File tree

13 files changed

+4894
-0
lines changed

13 files changed

+4894
-0
lines changed

README

Lines changed: 241 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,241 @@
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

Comments
 (0)