This project received 3 bids from talented freelancers with an average bid price of ₹6546 INR.

Get free quotes for a project like this
Project Budget
₹1500 - ₹12500 INR
Total Bids
Project Description

this assignment needs to be written in Eiffel programming language.

Write an application with the following specification.

--It should contain a class RECTANGLE with 8 floating point members (DOUBLE) x1,y1,x2,y2,x3,y3,x4,y4 indicating co-ordinates of 4 corner points in a clock-wise fashion.

--There should be at least 3 class methods named scale(scale factor), translate(x,y) and rotate(degree).

-- The application should always initialize the rectangle with following co-ordinates (0,0), (0,1), (2,1), (2,0).

-- The application should ask the user input in the following fashion in an infinite loop.

(1) Scale (2) Translate (3) Rotate (4) Quit. Your choice :

Upon user entering a number between 1 to 4, it should ask further input (such as scale factor for scaling (from 0.1 to 10 only), (x,y) co-ordinates for translation and degree (0 to 360) for rotation ) if required.

-- After every transformation (scale/translate/rotate), print the values of co-ordinates in a single line in the following format:

(x1,y1) (x2,y2) (x3,y3) (x4,y4)

-- The line asking for user choice should be the next line (NOT on the same line as the co-ordinates).

-- Note that after some operations, it is possible that x1 > x4. DO NOT sort the co-ordinates.

-- Keep in mind that floating point arithmetic is not commutative. Do not compare two floating point numbers for equality. Compare to see if they are within [url removed, login to view] distance of each other.

-- Rotation is always performed with respect to (x1,y1). That is, during a rotation (x1,y1) remains fixed. Similarly, (x1,y1) remains fixed during scaling operation as well.

-- Please annotate the program with appropriate pre-conditions, post-conditions and invariants.

Skills Required

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online