我寫了這段代碼來轉換測量值。但是,當我使用命令運行它時, (fce cm mm 5)我沒有看到任何輸出和任何錯誤。
#lang racket
(define eq equal?)
(define (fce jednotka jednotka2 cislo)
(cond
((eq jednotka "mm") (mm cislo jednotka2))
((eq jednotka "cm") (cm cislo jednotka2))
((eq jednotka "m") (m cislo jednotka2))
((eq jednotka "km") (km cislo jednotka2))))
(define (mm c j)
(cond
((eq j "cm") (format "~a mm = ~a ~a" c (* c 0.1) j))
((eq j "m") (format "~a mm = ~a ~a" c (* c 0.001) j))
((eq j "km") (format "~a mm = ~a ~a" c (* c 0.000001) j))))
(define (cm c j)
(cond
((eq j "mm") (format "~a mm = ~a ~a" c (* c 0.1) j))
((eq j "m") (format "~a mm = ~a ~a" c (* c 0.001) j))
((eq j "km") (format "~a mm = ~a ~a" c (* c 0.000001) j))))
(define (m c j)
(cond
((eq j "cm") (format "~a mm = ~a ~a" c (* c 0.1) j))
((eq j "mm") (format "~a mm = ~a ~a" c (* c 0.001) j))
((eq j "km") (format "~a mm = ~a ~a" c (* c 0.000001) j))))
(define (km c j)
(cond
((eq j "cm") (format "~a mm = ~a ~a" c (* c 0.1) j))
((eq j "m") (format "~a mm = ~a ~a" c (* c 0.001) j))
((eq j "km") (format "~a mm = ~a ~a" c (* c 0.000001) j))))
uj5u.com熱心網友回復:
您忘記參考字串,并且正在比較程式。你應該這樣做:
(fce "cm" "mm" 5)
不過邏輯看起來不太對。上面的列印:
"5 mm = 0.5 mm"
您需要在每個幫助程式中計算出正確的轉換和顯示的訊息。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/376173.html
上一篇:如何將海龜設定函式呼叫到移動海龜的函式中,然后將該函式呼叫到主函式?
下一篇:減少A到Z字母集的函式數量
