You are on page 1of 9

Khoa khoa hc v k thut my tnh

B mn Khoa hc my tnh

Mn hc: K thut lp trnh


Bi tp ln 3

Bi Tp Ln 3
Phin bn v1.00

1. Gii thiu
Th thao l mt nhu cu cn thit ca con ngi, n gip con ngi rn luyn sc
khe, kt ni tnh cm gia con ngi v con ngi, hay gii tr sau mt thi gian lm
vic, hc tp cng thng. p ng nhu cu , nhiu tr chi, sn chi b ch ra
i v ngy cng hon thin hn phc v cho ngi chi, trong nhng sn chi b
ch khng th thiu bong mini. Bng mini hp dn gii tr khng ch v mc
thun tin, gi c hp ti tin t sinh vin cho ti ngi i lm m cn kt ni con
ngi, bn b hay cc ng nghip sau thi gian hc tp, lm vic. Hnh thc ph
bin hin nay ca thu sn bng mini l thu theo gi, da vo tnh hnh thc t t
ch trc v t cc. Tuy nhin, cc thao tc hin nay u th cng bng tay, dn n
vic ngi chi phi ti tn ni, kim tra lch, t cc, iu lm gim bt tnh
thun tin. Mt hnh thc c l thun tin nht hin nay l s dng mt trang web,
trong mi ngi c th tra cu lch, trng thi cc sn bong, v da vo , t sn
theo gi, kt hp vi hnh thc thanh ton online. Tuy nhin, v mt s l do kh khn
v kinh ph, k thut nn cc sn bng ang nh cc bn sinh vin vit mt ng dng
s dng trn my tnh bng ngn ng C/C++, ng dng s phc v mt s chc nng
c bn v s c m rng trong tng lai.

2. Yu cu
Sinh vin c yu cu vit mt chng trnh qun l sn bng s dng c trn
my tnh bn s dng ngn ng C/C++. Chng trnh ny phi y nhng chc
nng theo m t bn di.
Sau khi hon thnh ng dng ny, sinh vin c rn luyn mt s kin thc sau:

Lp: while, for,


D liu c cu trc: bn ghi (struct)

X l chui
Con tr, qun l b nh

3. M t ng dng
3.1 Tng quan v ng dng
H thng c 3 chc nng chnh: t ch, tm kim v bo co. Chc nng t ch
nhm gip ngi dng t trc thi gian s dng sn bng mini, hy thng tin t
ch hay cp nht trng thi thanh ton. Chc nng tm kim s hin thc mt s thao
tc tm kim khc nhau v thng tin cc bn ghi. V cui cng, chc nng bo co s
thc hin thao tc in ra bo co di mt s dng khc nhau.
ng dng bao gm 1 menu chnh (Mn0) v 3 menu chc nng: menu t ch
(MnDC), menu tm kim (MnTK) v menu bo co (MnBC). y l cc menu dng

Trang 1

Hc k II / 2013- 2014

Khoa khoa hc v k thut my tnh


B mn Khoa hc my tnh

Mn hc: K thut lp trnh


Bi tp ln 3

text mn hnh v da vo kt qu nhp (la chn) t ngi dng cc menu s c


chuyn i qua li hay thc hin cc thao tc tng ng. T menu chnh, ngi dng
c th thot chng trnh bng cch chn thao tc 0 hoc chuyn sang cc menu con
bng cch chn thao tc 1, 2 hay 3. Tng t nh vy, mi menu con (MnDC,
MnTK, MnBC) , tng ng vi mi thao tc m ngi dng chn th s thc hin cc
chc nng tng ng.
menu t ch, nu ngi dng chn 1 th thao tc t ch s c thc hin,
thc hin thao tc ny ngi dng cn nhp vo cc thng tin t ch theo (1), v
sau thao tc , chng trnh s phi cp nht thm mt record mi vo ng v tr
theo quy nh; sau khi hon thnh thao tc, chng trnh phi in ra thng tin bn ghi
va mi nhp vo ngi dng kim tra li. Textbox di m t cc dng xut ra
mn hnh tng ng vi thao tc t ch va m t.
Cc thao tc tng ng cng vi input/output v m t cho cc thao tc c cho theo
bng 1.

Menu0 0: Save data and exit


Menu0 1: Go to MenuDC
Menu0 2: Go to MenuTK
Menu0 3: Go to MenuBC
You choose: 1
MenuDC 0: Return to Menu0
MenuDC 1: Reserve a gridiron
MenuDC 2: Delete reservation
MenuDC 3: Update payment of reservation
You choose: 1
Please input name: Nguyen Van A
Phone: 0909 009 009
Gridiron ID: 2
Hire date (dd/mm/yyyy): 24/05/2014
Reservation date (dd/mm/yyyy): 27/04/2014
Start time (hh:mm): 17:00
End time: (hh:mm): 18:30
Is pay (1/0 for paid/not paid): 1
10000 Nguyen Van A 0909 009 009 2 24/05/2014 27/04/2014 17:00 18:30 1
MenuDC 0: Return to Menu0
MenuDC 1: Reserve a gridiron
MenuDC 2: Delete reservation
MenuDC 3: Update payment of reservation

Trang 2

Hc k II / 2013- 2014

Khoa khoa hc v k thut my tnh


B mn Khoa hc my tnh

Mn hc: K thut lp trnh


Bi tp ln 3

3.2 Cc thao tc
Bng 1: Bng cc thao tc ca ng dng
Menu

Thao tc

Input

Gii thch

Output

Mn0

Thot khi chng trnh, lu d liu ra file

Mn0

Chuyn sang menu t ch

Mn0

Chuyn sang menu tm kim

Mn0

Chuyn sang menu bo co

MnDC

Quay li menu ban u (Mn0)

MnDC

(1)

Bn ghi va nhp

ng k t ch

MnDC

ID

Bn ghi s xa

Hy mt bn ng k, xy ra khi va xong hay ngi ng


k yu cu hy. Nu ID khng tn ti th bo li
ERR_ID_NOT_FOUND

MnDC

ID

Bn ghi va cp nht

Cp nht tnh trng thanh ton cho mt t ch. Bo li


ERR_ID_NOT_FOUND nu ID khng tn ti; bo li
ERR_ALREADY_PAY nu thanh ton

MnTK

Quay li menu ban u (Mn0)

0
1

start time

date1 gridID1

end time

date2 gridID2

Tm sn trng theo gi, tt c cc ngy trong 2 tun k tip k


t ngy hin ti (2)

Trang 3

Hc k II / 2013- 2014

Khoa khoa hc v k thut my tnh


B mn Khoa hc my tnh

Date

Mn hc: K thut lp trnh


Bi tp ln 3

gridID1 startTime1 endTime1


gridID2 startTime2 endTime2

Tm sn trng theo ngy, lit k ra tt c cc khong gi c sn


trng (2)

Th (0..6)

date1 gridID1 startTime1 endTime1


date2 gridID2 startTime2 endTime2

Tm sn trng theo th, ch lit k trong vng 4 tun k t ngy


hin ti (2)

MnBC

Quay li Mn0

0
1

Thng tin cc bn ghi

Danh sch ng k cha thanh ton

Thng tin cc bn ghi

Danh sch tt c cc ng k hin ti

Thng tin cc bn ghi tm c

Tm theo ID hoc s in thoi. Ch : ngi dng ch nhp 1

ID/PHONE

s duy nht, chng trnh s da vo t tm kim thng tin


hp l in ra, v d: ngi dng nhp 12345, chng trnh s
t ng tm trong thng tin v ID in ra, lu l: di
chui ID v s in thoi khc nhau.
4

St

Thng tin cc bn ghi tm c

Trang 4

Tm theo mt phn h tn, khng phn bit hoa thng.

Hc k II / 2013- 2014

Khoa khoa hc v k thut my tnh


B mn Khoa hc my tnh

Mn hc: K thut lp trnh


Bi tp ln 3

Ch : ngy thng tnh theo ngy thng, th thc t, c tnh nm thng nm nhun
Gi tnh th theo ngy thng nm nh sau:
S = Year - 1 + ((Year - 1) / 4) - ((Year - 1) / 100) + ((Year - 1) / 400) + khoangNgay;
khoangNgay = so ngay t u nm, chng hn 1/3/2011 -> 31 + 28 + 1;
S%7 s cho mt kt qu tng ng 0:ch nht; 1: th hai; 2: th ba; 6: th by

nh dng ngy: chui biu din dd/mm/yyyy, trong dd, mm, yyyy l cc ch s
nh dng gi pht: hh:mm trong hh thuc 05-23 v mm thuc(00, 15, 30, 45),
y cc gi t sn ch chp nhn l ti n v 15 pht.
name

(1) Cc trng thng tin c bn (theo ng th t)


textbox

phone
gridironId
hireDate

(2) Trong tt c cc trng hp in ra thng tin gm nhiu

resDate

dng th th t ghi thng tin ra s u tin t cao ti thp


nh sau: ngy thng, gi bt u, s th t ca sn. In ra
theo th t tng dn ca ngy thng, nu cng ngy th
tng dn theo s th t ca gi bt u, v nu c cng

startTime
endTime
isPay

gi bt u th sn no c id thp s in trc.
(3) Trong trng hp in ra cc record tm c, th t in ra phi m bo ng th t
c lu tr theo quy nh, v trong trng hp , s dng hm
printReservation() c vit sn.
(4) Trong tt c cc thao tc lin quan ti ngy, ngy hin ti c tnh l ngy u
tin (ngy 1), v d: tm trong 2 tun tip theo k t ngy hin ti th s tm trong ngy
1, ngy 2, ngy 13, ngy 14.
Gi s rng, khi s dng, ngi dng nhp chnh xc nh dng, v hp l chng
trnh khng phi kim tra tnh hp l ca d liu nhp vo (tr nhng trng hp cn
thit phi kim tra nh m t cc thao tc).

ID s c cp pht t ng bng cch: s dng 1 bin ton cc nextID lu gi tr


ID tip theo s c cp theo nguyn tc sau:
- Sau mi ln cp gi tr nextID c cp nht thm 1 n v
- Nu nextID vt qu gi tr ngng th reset li gi tr ca n l 10000
Khi bt u chy chng trnh nextID c ly nh sau:
- Nu ban u c danh sch th ID s c cp pht l s tip theo ca ID ln nht
hin ti s dng

Trang 5

Hc k II / 2013- 2014

Khoa khoa hc v k thut my tnh


B mn Khoa hc my tnh

Mn hc: K thut lp trnh


Bi tp ln 3

- Nu ban u cha c danh sch th ID l 10000


(Vi s lng sn bng v thi gian nh trn, khi ID t ngng 99999 v reset li
10000 th m bo khng b trng thng tin ID, v vy sinh vin khng cn kim tra
v x l trng hp trng ID)
3.2 D liu
D liu chng trnh cn qun l l cc bn ghi t ch cho sn bng, mi bn ghi
c cu trc nh m t:
id: s nh danh duy nht ca bn ghi, d dng trong trao i thng tin, tm
kim sau ny. y l mt s nguyn c ng 5 ch s: 10000-99999
name: h v tn ca ngi t ch
phone: s in thoi lin h
gridironId: ch s sn l mt s nguyn t 1..N vi N l s sn bng hin ang
qun l (N <= 10)
hireDate: ngy m ngi chi mun thu sn (ch khng phi ngy ngi chi
t ch, c th t ch trc nhiu ngy)
resDate: ngy t ch
startTime: gi bt u
endTime: gi kt thc
isPay: 1/0 tng ng thanh ton/cha thanh ton
Ch : gi m ca cho thu sn ch t 5:00 ti 23:45, nn thi gian bt u v
thi gian kt thc khng c ra ngoi qu gii hn trn.
d dng qun l v thao tc, cc bn ghi c lu tr theo th t tng dn ca
thi gian bt u (ngy, gi), v nu hai bn ghi c cng thi gian bt u (thu 2 sn
khc nhau) th sn no c ch s sn nh hn s c xp trc. Ch rng, ti mi
sn no , khng th c ng thi 2 nhm thu, v vy cc bn ghi t ch ca cng
mt sn th c thi gian v khng gi ln nhau, ch c th trng nhau mt, chng
hn sn s 1 c i thu t 15:00-17:00 th i tip theo c th thu t 17:00, coi nh
thi gian tr sn v nhn sn khng ng k.
Trong bi tp ln ny, sinh vin khng c s dng array lu tr cc bn ghi
thng tin t ch cng nh cc gi tr lin quan, thay vo , sinh vin s dng cu
trc lin kt biu din. Ch s dng new/delete cp pht v gii phng b nh,
sinh vin khng c s dng nhng hm/th tc khc. Cc th vin cn thit s
dng c include y , v vy sinh vin khng c include bt c th vin no
khc. Nu c tnh s dng mng tnh hay include thm th vin, bi lm ca sinh vin
s b im 0.

Trang 6

Hc k II / 2013- 2014

Khoa khoa hc v k thut my tnh


B mn Khoa hc my tnh

Mn hc: K thut lp trnh


Bi tp ln 3

4. D liu nhp/xut
4.1 D liu nhp
Tt c cc d liu nhp c a vo thng qua bn phm. Sinh vin cn lu
cc trng d liu c yu cu nhp trong mi thao tc. Ban u chng trnh load
file d liu data.csv vo, nu khng tn ti file ny trong th mc hin hnh th coi
nh d liu ban u trng. Cu trc file data.csv tun theo nh dng file csv, cc
trng d liu c vit cch nhau 1 du phy (,), v cc trng d liu c ghi ra
theo ng th t trong cu trc Reservation ngha l mi dng c nh dng nh
sau: ID,name,phone,gridironID,hireDate,resDate,startTime,endTime,isPay
4.2 D liu xut
Tt c cc d liu xut c ghi ra mn hnh (ch tr thao tc xut ra file lu
tr khi kt thc chng trnh). Cc thng tin xut ra mn hnh s c s dng
chm bi sinh vin, v vy, nh dng xut ra, kt qu xut ra phi chnh xc nh yu
cu ca tng thao tc, khng c tha, thiu bt k k t no, k c du chm (.),
phy (,), khong cch, xung dng, tab, Nu khng tun theo ng nh dng xut
ra, sinh vin c th b im 0 d nhng ni dung khc lm chnh xc.
Tt c cc hng chui cn s dng u c nh ngha sn, sinh vin c
khuyn co nn s dng nhng hng chui ny v c th dng thm hng endl trong
cc thao tc ghi ra mn hnh trnh nhng sai st ng tic trong vic xut ra chui
khng ph hp.
endl c s dng tch cc thng tin c ghi ra trn nhiu dng (lc tm
kim, bo co, ), v/hoc cc thng tin tch ri nhau (sau khi in thng tin quay li
menu,), ngoi ra khng c s dng cho nhng mc ch khc, lu rng, theo
nguyn tc ny, trn mn hnh chy chng trnh khng c bt c dng trng no
(sinh vin trnh trng hp mun in ra mn hnh cho p nn chn thm nhiu dng
trng vo; chng hn trc cc menu; iu ny s to ra cc dng trng v sinh vin
c nguy c b im 0 v nh dng xut ra sai yu cu). i vi cc trng hp nhp
liu, sau khi in ra dng hng dn nhp th khng xung dng m ch ngi dng
nhp d liu ngay ti dng .

5. M ban u
Sinh vin download file assigment3.zip t trang Web ca mn hc. Khi gii nn
file ny, s c c cc file sau theo m t bng 2.
Bng 2: Danh sch cc file c cung cp ban u ca bi tp ln 3
Assignmen3.pdf

File m t ni dung bi tp ln.

a3.cpp

Chng trnh khi to.

Trang 7

Hc k II / 2013- 2014

Khoa khoa hc v k thut my tnh


B mn Khoa hc my tnh

Mn hc: K thut lp trnh


Bi tp ln 3

main.cpp

Cha hm main, im khi u ca chng trnh

predefine.h

Cc cu trc, hng, th vin, c th s dng trong bi


tp ln c nh ngha, include sn

File a3.cpp l chng trnh khi to, trong c mt s hm, thnh phn
c vit sn h tr sinh vin hon thin bi tp ln. Sinh vin c th thm, bt,
sa code c sn hon thnh bi tp ln. Hm int manageGridiron() l im
khi u gi chng trnh ca sinh vin, v vy sinh vin khng nn thay i c t
hm ny (c th thay i ni dung thn hm).
bt u vit chng trnh trn Visual Studio, sinh vin nn to mt Empty
project v add cc file a3.cpp, main.cpp, predefine.h vo bt u lp trnh.

6. Np bi
Khi np bi, sinh vin s dng account c cp pht np bi qua h
thng Sakai. Sinh vin ch np ng mt file a3.cpp (tn file phi c vit
thng).File c np phi l file chng trnh gc, SINH VIN KHNG C
NN FILE KHI NP BI. Sinh vin phi kim tra chng trnh ca mnh trn
Microsoft Studio 2010 trc khi np.
Thi hn cht np bi l 16:00 th hai ngy 20/05/2014. KHNG nhn
bi c gi qua mail hoc bt k hnh thc no khc. Bi np tr s KHNG c
nhn. to iu kin cho sinh vin, trc thi im np bi chnh thc khong 1
tun h thng chm bi online s c bt sinh vin np th, cc bi np s c
chm bng b testcases chnh thc v kt qu s c cng b trc tip (qua trang
web), sinh vin c th da vo kt qu chm th iu chnh bi lm sao cho c
kt qu tt nht. Lu :
1)

Kt qu chm s b khng tnh vo im cui cng, nn d kt qu chm s b cao


nhng nu im cui cng c thp hn th vn ch tnh kt qu im cui cng.

2)

y l c hi tt cho sinh vin nhm hon thin bi lm ca mnh, v vy khng nn


b qu, t , sinh vin cng nn lp k hoch lm bi t sm, khng nn ti
tun cui cng ri mi bt u

i vi bi tp ln ny, thi gian chy ti a cho mi testcase l 3 giy, cc


testcase bo m nu sinh vin lm ng quy trnh th tha thi gian cho chng trnh
thc thi testcase .

7. Chm im
i vi bi tp ln ny ngoi kim tra s chnh xc ca kt qu cc thao tc
da vo d liu xut ra mn hnh th bi lm ca sinh vin cn c nh gi v
qun l b nh. T l im thnh phn c cho bng 3.

Trang 8

Hc k II / 2013- 2014

Khoa khoa hc v k thut my tnh


B mn Khoa hc my tnh

Mn hc: K thut lp trnh


Bi tp ln 3

Bng 3: T l im nh gi cc thnh phn


Thnh phn

T l

Kt qu chnh xc

80%

Qun l b nh

20%

8. X l gian ln
Bi tp ln phi c sinh vin T LM. Sinh vin s b coi l gian ln nu:
- C s ging nhau bt thng gia m ngun ca cc bi np. Trong
trng hp ny, TT C cc bi np u b coi l gian ln. Do vy sinh
vin phi bo v m ngun bi tp ln ca mnh.
- Sinh vin khng hiu m ngun do chnh mnh vit, tr nhng phn m
c cung cp sn trong chng trnh khi to. Sinh vin c th tham
kho t bt k ngun ti liu no, tuy nhin phi m bo rng mnh hiu
r ngha ca tt c nhng dng lnh m mnh vit.
KHNG CHP NHN BT K GII THCH NO V KHNG C BT K
NGOI L NO!

Trang 9

Hc k II / 2013- 2014

You might also like