I think you may be a little confused so I will try to elaborate on Set and Setq.
Code:
(setq X (getstring "\nEnter String: "))
(set (quote X) (getstring "\nEnter String: "))
Are fundamentally equal.
You setting the symbol X to be a value.
setq and set are different functions
In your code above you have
Should be
Since in you example you set X to a string.
If you want it to be a number
Code:
(setq X (getdist "\nEnter Number: "))
or
Code:
(setq X (getreal "\nEnter Number: "))
for whole numbers
Code:
(setq X (getint "\nEnter Integer: "))
for Integers
If I were you I would use setq and not use set.