EIFFEL PROGRAMMING LANGUAGE

Closed

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: Coding

See more: programming technical writing format, pwm assembly language programming, projects pic16f676 language programming, easy language programming time frames, assembly language programming jobs offsite, fix language programming, pokerstars language programming, multi language programming php, mips assembly language programming multiply, contract assembly language programming, php multi language programming, multi language programming php methods, mips assembly language programming forum, tradestation easy language programming russia, assembly language programming jobs

Project ID: #12167021