MUMPS 程式設計/簡單輸入和輸出
外觀
MUMPS 使用 WRITE(縮寫為 W)命令用於輸出,並且使用 READ (R) 命令用於輸入。除非由 USE (U) 命令指定,否則,輸出的內容預設為與實現等效的 STDOUT,輸入的內容預設為與 STDIN 等效。
USE 命令將 I/O 裝置重定向到其他裝置。它的語法因實現而異。在執行 DSM-11 的較早的 PDP-11 計算機上,裝置進行了整數標識。VAX-DSM 和其他實現允許字串指定主機作業系統的裝置。
任何特定正在執行的例項的預設裝置始終是 $PRINCIPLE ($P),並且大多數實現也將接受 0 作為 $P 的等效項。
ATM
Withdraw
K Amount,Availablenotes,TMP
I ($G(^ATM(1000))+$G(^ATM(500))+$G(^ATM(100)))<=0 D
. W #,!,"There is no money available in this Machine. Sorry for the inconvenience."
. Q
Set Availablenotes=$S($G(^ATM(100)):"100",1:"")
Set Availablenotes=Availablenotes_" "_$S($G(^ATM(500)):"500",1:"")
Set Availablenotes=Availablenotes_" "_$S($G(^ATM(1000)):"1000",1:"")
W #,!,"Only ",Availablenotes," note(s) are available"
R !,"Enter the Amount :",Amount:60
I '$T D
. W !,"Sorry! Time Out!"
. R TMP#1:5
. G Exit
I Amount>10000 D
. W !,"Please enter an amount less then 10000."
. R TMP#1:5
. G Withdraw
I (Amount#100) D
. W !,"Please enter an amount in multiples of 100."
. R TMP#1:5
. G Withdraw
I (($G(^ATM(1000))*1000)+($G(^ATM(500))*500)+($G(^ATM(100))*100))<Amount D
. W !,"Transaction failed"
. R TMP#1:5
. G Withdraw
I (Amount<500)&&($G(^ATM(100))<(Amount#100)) D
. W !,"Transaction failed"
. R TMP#1:5
. G Withdraw
Exit
W !,"Thank you visit again"
Q
; Sundara Moorthy
; Sr. Cache And MUMPS Developer
; suthy.s.45@gmail.com