Skip to content

Instantly share code, notes, and snippets.

Created November 13, 2014 21:29
Show Gist options
  • Save anonymous/104ac989aa7475065132 to your computer and use it in GitHub Desktop.
Save anonymous/104ac989aa7475065132 to your computer and use it in GitHub Desktop.
def calcCircleArea(side1, side2)
return ((side1*2) + (side2*2))
end
def calcCirclePerimeter(side1, side2)
return ((side1*2) + (side2*2))
end
def calcRectangleArea(side1, side2)
return ((side1*2) + (side2*2))
end
def calcRectanglePerimeter(side1, side2)
return ((side1*2) + (side2*2))
end
def calcSquareArea(side1, side2)
return ((side1*2) + (side2*2))
end
def calcSquarePerimeter(side1, side2)
return ((side1*2) + (side2*2))
end
def calcTrianglePerimeter(side1, side2)
return ((side1*2) + (side2))
end
def calcTriangleHypotenuse
return (side1.Math.sqrt(x)**2) + (side2.Math.sqrt(x)**2)
end
def create_writefile(file, square_area)
File.open(file, 'a') do |file|
file.write("%-10s %-25s %-15s %-16s\n")
file.write(square_area)
end
end
unless ARGV.size == 2
STDERR.puts "Error: Incorrect number of arguements\n\nOK. Goodbye."
else
puts " "
puts "--------------------"
puts " "
puts "Processing: #{ARGV[0]} (input), #{ARGV[1]} (output)"
puts " "
puts "--------------------"
puts " "
create_writefile(ARGV[1], "Shape Type", "Area", "Perimeter", "Data\n")
in_file = File.new(ARGV[0], 'r')
in_file.each_line do |line|
if line.include?("S") || line.include?("s")
puts "Square"
nums = line.scan(/\d+/).map(&:to_i)
nums.map(&:to_i)
side1 = nums[0]
side2 = nums[1]
if !side2
puts "ERROR"
else
square_area = calcSquareArea(side1, side2)
end
puts " "
elsif line.include?("R") || line.include?("r")
puts "Rectangle"
nums = line.scan(/\d+/).map(&:to_i)
nums.map(&:to_i)
side1 = nums[0]
side2 = nums[1]
if !side2
else
end
puts " "
elsif line.include?("C") || line.include?("c")
puts "Circle"
nums = line.scan(/\d+/).map(&:to_i)
nums.map(&:to_i)
side1 = nums[0]
side2 = nums[1]
if !side2
else
end
puts " "
elsif line.include?("T") || line.include?("t")
puts "Triangle"
nums = line.scan(/\d+/).map(&:to_i)
nums.map(&:to_i)
side1 = nums[0]
side2 = nums[1]
if !side2
else
triangle_perm = calcTrianglePerimeter(side1, side2)
end
puts " "
else
puts "else"
end
create_writefile(ARGV[1], square_area)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment