연산리습 수정 부탁드립니다
아래 리습을 두가지 정도 수정 하고 싶습니다.
1. 소수점 2자리 -> 소숫점 자리수 질문 후 자릿수 결정
2. 나누기 에서 작은수을 큰수로 나누면 percent(--%)로 표시됨 -> 0.000으로 표시되게
감사합니다. 부탁드립니다.
;*********************** ADDING THE NUMBERS PROGRAM ************************
;;===========================================================
; Number plus(98CHO_I)
; ->숫자의 합 구하기(2자리)
;;-----------------------------------------------------------
(defun c:+(/ myerror choi d_ts w_os ht ss grpt pt1 n k tot en tv rtv an)
;start --- Internal error handler ----------
(defun myerror(S)
(if (/= s "Function cancelled")(princ (strcat "nError:" s)))
(setvar "osmode" w_os)
(setq *error* olderr)(princ) )
(setq olderr *error* *error* myerror)
;end----------------------------------------
(setq choi (getvar "orthomode") d_ts (getvar "textsize")
w_os (getvar "osmode") )
(prompt "... 더하기")
(setvar "orthomode" 0) (setvar "osmode" 0)
(setq ht d_ts)
(prompt "nText Height<") (prin1 ht) (prompt ">: ")
(setq ht (getdist))
(if (= ht nil) (setq ht d_ts))
(prompt "nSelect number->")
(setq ss (ssget))
(setq grpt (grread T))
(setq pt1 (cadr grpt))
(setq n (sslength ss))
(setq k 0 tot 0)
(while (<= 1 n)
(setq en (ssname ss k))
(setq tv (cdr (assoc 1 (entget en))))
(setq rtv (atof tv))
(setq tot (+ tot rtv))
(setq n (- n 1))
(setq k (+ k 1))
)
(setq tot (rtos (* tot 10000) 2 0))
(setq an (strlen tot))
(setq tot (strcat (substr tot 1 (- an 4)) "." (substr tot (- an 3) 2) ))
(command "text" "j" "r" pt1 ht "0" tot)
(prompt "nEnter text point->")
(command "move" "l" "" pt1 pause)
(setvar "orthomode" choi) (setvar "osmode" w_os)
(prompt "n합 계 : ") (prin1 tot)
(prin1)
)
;;===========================================================
; Number minus(98CHO_I)
; ->두 수의 차 구하기(2자리)
;;-----------------------------------------------------------
(defun c:-(/ myerror choi d_ts w_os ht ss1 en1 ent1 tv1 ss2 en2 ent2 tv2 grpt pt1 rst1
tot1 rtv1 rtv2 en an)
;start --- Internal error handler ----------
(defun myerror(S)
(if (/= s "Function cancelled")(princ (strcat "nError:" s)))
(setvar "osmode" w_os)
(setq *error* olderr)(princ) )
(setq olderr *error* *error* myerror)
;end----------------------------------------
(prompt "... 빼기")
(setq choi (getvar "orthomode") d_ts (getvar "textsize")
w_os (getvar "osmode") )
(setvar "orthomode" 0) (setvar "osmode" 0)
(setq ht d_ts)
(prompt "nText Height<") (prin1 ht) (prompt ">: ")
(setq ht (getdist))
(if (= ht nil) (setq ht d_ts))
(prompt "nSelect first number->")
(setq ss1 (entsel) en1 (car ss1)) (redraw en1 3)
(setq ent1 (assoc 1 (entget (car ss1))))
(setq tv1 (cdr ent1))
(prompt "nSelect second number->")
(setq ss2 (entsel) en2 (car ss2)) (redraw en2 3)
(setq ent2 (assoc 1 (entget (car ss2))))
(setq tv2 (cdr ent2))
(setq grpt (grread T) pt1 (cadr grpt))
(setq rst1 0)
(setq rtv1 (atof tv1) rtv2 (atof tv2))
(setq rst1 (- rtv1 rtv2))
(setq tot1 (abs rst1))
(setq tot1 (rtos tot1 2 2))
(if (= (wcmatch tot1 "*.*") nil)
(setq tot1 (strcat tot1 ".00")))
(setq an (strlen tot1))
(if (= (substr tot1 (- an 1) 1) ".")
(setq tot1 (strcat tot1 "0")) )
(if (< rst1 0)
(setq tot1 (strcat "-" tot1)))
(command "text" "j" "r" pt1 ht "0" tot1)
(redraw en1 4) (redraw en2 4)
(prompt "nEnter text point->")
(command "move" "l" "" pt1 pause)
(setvar "orthomode" choi) (setvar "osmode" w_os)
(prompt "n결 과 : ")(prin1 rtv1)(prompt "-")
(prin1 rtv2)(prompt "= ")(prin1 rst1)
(prin1)
)
;;===========================================================
; Number by(0010cho_i)
; ->두 수의 곱 구하기(2자리)
;;-----------------------------------------------------------
(defun c:*(/ myerror choi d_ts w_os ht ss1 en1 ent1 tv1 ss2 en2 ent2
tv2 grpt pt1 rst1 tot1 rtv1 rtv2 en an)
;start --- Internal error handler ----------
(defun myerror(S)
(if (/= s "Function cancelled")(princ (strcat "nError:" s)))
(setvar "osmode" w_os)
(setq *error* olderr)(princ) )
(setq olderr *error* *error* myerror)
;end----------------------------------------
(prompt "... 곱하기")
(setq choi (getvar "orthomode") d_ts (getvar "textsize")
w_os (getvar "osmode") )
(setvar "orthomode" 0) (setvar "osmode" 0)
(setq ht d_ts)
(prompt "nText Height<") (prin1 ht) (prompt ">: ")
(setq ht (getdist))
(if (= ht nil) (setq ht d_ts))
(prompt "nSelect first number->")
(setq ss1 (entsel) en1 (car ss1)) (redraw en1 3)
(setq ent1 (assoc 1 (entget (car ss1))))
(setq tv1 (cdr ent1))
(prompt "nSelect second number->")
(setq ss2 (entsel) en2 (car ss2)) (redraw en2 3)
(setq ent2 (assoc 1 (entget (car ss2))))
(setq tv2 (cdr ent2))
(setq grpt (grread T) pt1 (cadr grpt))
(setq rst1 0)
(setq rtv1 (atof tv1) rtv2 (atof tv2))
(setq rst1 (* rtv1 rtv2));곱하기
(setq tot1 (abs rst1))
(setq tot1 (rtos tot1 2 2))
(if (= (wcmatch tot1 "*.*") nil)
(setq tot1 (strcat tot1 ".00")))
(setq an (strlen tot1))
(if (= (substr tot1 (- an 1) 1) ".")
(setq tot1 (strcat tot1 "0")) )
(if (< rst1 0)
(setq tot1 (strcat "-" tot1)))
(command "text" "j" "r" pt1 ht "0" tot1)
(redraw en1 4) (redraw en2 4)
(prompt "nEnter text point->")
(command "move" "l" "" pt1 pause)
(setvar "orthomode" choi) (setvar "osmode" w_os)
(prompt "n결 과 : ")(prin1 rtv1)(prompt "*")
(prin1 rtv2)(prompt "= ")(prin1 rst1)
(prin1)
)
;;=========================================================
; Number divide('0106cho_i)
; ->두 수의 나누기 구하기(2자리)
; 작은수을 큰수로 나누면 percent(--%)로 표시됨
;;---------------------------------------------------------
(defun c:/(/ myerror choi d_ts w_os ht ss1 en1 ent1 tv1 ss2 en2 ent2
tv2 grpt pt1 rst1 tot1 rtv1 rtv2 en an)
;start --- Internal error handler ----------
(defun myerror(S)
(if (/= s "Function cancelled")(princ (strcat "nError:" s)))
(setvar "osmode" w_os)
(setq *error* olderr)(princ) )
(setq olderr *error* *error* myerror)
;end----------------------------------------
(prompt "... 나누기")
(setq choi (getvar "orthomode") d_ts (getvar "textsize")
w_os (getvar "osmode") )
(setvar "orthomode" 0) (setvar "osmode" 0)
(setq ht d_ts)
(prompt "nText Height<") (prin1 ht) (prompt ">: ")
(setq ht (getdist))
(if (= ht nil) (setq ht d_ts))
(prompt "nSelect first number->")
(setq ss1 (entsel) en1 (car ss1)) (redraw en1 3)
(setq ent1 (assoc 1 (entget (car ss1))))
(setq tv1 (cdr ent1))
(prompt "nSelect second number->")
(setq ss2 (entsel) en2 (car ss2)) (redraw en2 3)
(setq ent2 (assoc 1 (entget (car ss2))))
(setq tv2 (cdr ent2))
(setq grpt (grread T) pt1 (cadr grpt))
(setq rst1 0)
(setq rtv1 (atof tv1) rtv2 (atof tv2))
(setq rst1 (/ rtv1 rtv2));나누기
(if (< rtv1 rtv2) (setq rst1 (* rst1 100)))
(setq tot1 (abs rst1))
(setq tot1 (rtos tot1 2 2))
(if (= (wcmatch tot1 "*.*") nil)
(setq tot1 (strcat tot1 ".00")))
(setq an (strlen tot1))
(if (= (substr tot1 (- an 1) 1) ".")
(setq tot1 (strcat tot1 "0")) )
(if (< rst1 0)
(setq tot1 (strcat "-" tot1)))
(command "text" "j" "r" pt1 ht "0" tot1)
(redraw en1 4) (redraw en2 4)
(prompt "nEnter text point->")
(command "move" "l" "" pt1 pause)
(setvar "orthomode" choi) (setvar "osmode" w_os)
(prompt "n결 과 : ")(prin1 rtv1)(prompt "/")
(prin1 rtv2)(prompt "= ") (prin1 rst1)
(if (< rtv1 rtv2)(progn
(prompt "n결 과 : ")(prin1 rtv1)(prompt "/")(prin1 rtv2)
(prompt "*100")(prompt "= ") (prin1 rst1)(prompt"%")
))
(prin1)
)
번호 | 제목 | 작성자 | 작성일 | 조회 |
8205 |
건설 장비 도면입니다(1) (1)
지율아빠
|
2014.11.26
|
조회 801
|
지율아빠 | 2014.11.26 | 801 |
8204 |
CADIAN3D 프로그램으로 그린 테트라포드
백발도인
|
2014.11.06
|
조회 380
|
백발도인 | 2014.11.06 | 380 |
8203 |
유압회로도
기쁜날
|
2014.08.13
|
조회 273
|
기쁜날 | 2014.08.13 | 273 |
8202 |
캐드 알바 방법 문의 (1)
아프리카꽃
|
2014.07.29
|
조회 489
|
아프리카꽃 | 2014.07.29 | 489 |
8201 |
autocad 2015에서 hatch된 솔리드 인쇄시 일그러지는 문제해결좀 부탁합니다.
pbcjking
|
2014.06.18
|
조회 266
|
pbcjking | 2014.06.18 | 266 |
8200 |
blipmode 가 안듣는데 해결책좀 부탁드려요 (2)
수기양
|
2014.06.17
|
조회 225
|
수기양 | 2014.06.17 | 225 |
8199 |
Pipetool 사용설명서 (상하수도 설계 자동화 프로그램)
vbcad
|
2014.06.12
|
조회 458
|
vbcad | 2014.06.12 | 458 |
8198 |
TEXT 관련 문자 치환 리습 구합니다. 고수님들
kk47914
|
2014.06.09
|
조회 341
|
kk47914 | 2014.06.09 | 341 |
8197 |
오죽헌이나 다른 고건축 캐드파일이나 3d 파일 가지고 계신분 있나요??
입문자꺼벙이
|
2014.06.05
|
조회 238
|
입문자꺼벙이 | 2014.06.05 | 238 |
8196 |
경기도 관련 모든 지적도 부탁드립니다.
간지대빵
|
2014.05.13
|
조회 195
|
간지대빵 | 2014.05.13 | 195 |
8195 |
캐드폰트 구합니다
캐드의달
|
2014.04.21
|
조회 317
|
캐드의달 | 2014.04.21 | 317 |
8194 |
화성시 지적도 구합니다.
안양보쓰
|
2014.03.18
|
조회 143
|
안양보쓰 | 2014.03.18 | 143 |
8193 |
인벤터2010 윈도우8에서 활성화되나요?? (1)
조용현
|
2014.03.06
|
조회 154
|
조용현 | 2014.03.06 | 154 |
8192 |
태안군 지적도
힘쎈농부
|
2014.03.05
|
조회 196
|
힘쎈농부 | 2014.03.05 | 196 |
8191 |
연산리습 수정 부탁드립니다
chuls
|
2014.02.27
|
조회 233
|
chuls | 2014.02.27 | 233 |
8190 |
동적블럭을 컨트롤 하는 명령어 부탁드립니다.
askasme
|
2014.02.25
|
조회 217
|
askasme | 2014.02.25 | 217 |
8189 |
충남 병천면 쪽 지적도 캐드 파일로 구해봅니다 (1)
하나전설
|
2014.02.17
|
조회 173
|
하나전설 | 2014.02.17 | 173 |
8188 |
y 스트레이너 도면 부탁합니다
냇물
|
2014.02.17
|
조회 172
|
냇물 | 2014.02.17 | 172 |
8187 |
인벤터2008한글버전 급구
큐피트
|
2014.02.10
|
조회 194
|
큐피트 | 2014.02.10 | 194 |
8186 |
cad m10 볼트 너트 도면 및 3D (2)
캐드맨이얌
|
2013.12.18
|
조회 980
|
캐드맨이얌 | 2013.12.18 | 980 |