CPSC 240 Assignment 5: Area of Triangle solution

$30.00

Category:

Description

5/5 - (5 votes)

Learning goals

 

= Gain familiarity with the use of SSE (xmm) register

 

= Validate incoming float numbers

 

= Convert valid strings to IEEE quad numbers

 

 

General statement

 

Make a program that will input three quadword float numbers representing the sides of a triangle.  After confirming that the inputs are in fact valid floats then computer the area of the triangle using Heron’s formula.

Modular structure of the program

Notes: atof is in a C++ library.  You’ll have to web search to find exactly which library.

 

The function isfloat receives a character array and returns a bool.  Maybe, it already exists or maybe you have to make one.  isfloat is the counter part to isinteger that appeared in Assignment 2.  isfloat should not be very hard to make.

 

Dialogue showing valid inputs

 

Welcome to Area of Triangles by Lancaster Marshall

 

This program will compute the area of your triangle.

 

Enter the floating point lengths of the 3 sides of your triangle.

 

Side 1:  3.85

Side 2:  5.177

Side 3:  4.141789588

 

These values were received:  3.8500000   5.1770000   4.14178959

 

The area of this triangle is 12.8532176 square meters

 

The driver received this number 0x402B5A6600000000, and will keep it.

 

Now 0 will be returned to the operating system.  Bye

 

Dialogue showing invalid inputs

 

Welcome to Area of Triangles by Lancaster Marshall

 

This program will compute the area of your triangle.

 

Enter the floating point lengths of the 3 sides of your triangle.

 

Side 1:  +45.83

Side 2:  32.5CA9

Side 3:  54.6

 

An invalid input was detected.  Please run the program again.

 

The driver received this number 0x0000000000000000, and will keep it.

 

Now 0 will be returned to the operating system.  Bye

Dialogue showing invalid inputs

 

Welcome to Area of Triangles by Lancaster Marshall

 

This program will compute the area of your triangle.

 

Enter the floating point lengths of the 3 sides of your triangle.

 

Side 1:  ++++15.6

Side 2:  31.7

Side 3:  19.85

 

An invalid input was detected.  Please run the program again.

 

The driver received this number 0x0000000000000000, and will keep it.

 

Now 0 will be returned to the operating system.  Bye

 

Another dialogue showing invalid inputs

 

Welcome to Area of Triangles by Lancaster Marshall

 

This program will compute the area of your triangle.

 

Enter the floating point lengths of the 3 sides of your triangle.

 

Side 1:  9.999999

Side 2:  8.55

Side 3:  6BFFF

 

An invalid input was detected.  Please run the program again.

 

The driver received this number 0x0000000000000000, and will keep it.

 

Now 0 will be returned to the operating system.  Bye

 

 

Programmer’s choice

 

The dialogues above show the rejection message after all three inputs have been entered.  You may choose to show the rejection message immediately after the first invalid input.  Why waste the user’s time inputting more numbers if the first input is know to be invalid?  You decide how you want to interact with the user.

 

 

Technology involved

 

Notice how this program is similar to Assignment 2.  In that assignment you validated incoming strings to be true integers using the library function isinteger.  After that the string was converted to an long integer.

 

In assignment 5 you validate incoming strings to be true floats.  If it is a true float they you convert the string to be a real double.

 

 

Tools available

 

In the public library <cstdlib> there is available the function atof, which converts a string to a double.   The name ends in ‘f’, but when I web searched for the use of atof the information provided said that it converts char arrays to 64-bit doubles.  That’s good.

 

In assignment 2 you had the function “isinteger.cpp”   I did a quick search for the corresponding function “isfloat.cpp”, but I can’t find one.  That was a very quick search.  Maybe you can find it.  I think I will ask your classmate Bilal to make one for the public library.  In fact he probably already has one that he will share.

 

 

Summary

 

Assignment 5 is the floating point version of Assignment 3.

 

The professor believes you can all web search for the Heron formula for the area of a triangle.

 

Last day to receive extra credit:   November 30, 2020 before 1:59am.

This document is a draft.  Minor upgrades may occur.  Check back later for updates.

 

The images in this document were made by Libre Office word processor from www.libreoffice.org and saved in the open source format “.odt”.  Sometimes when odt files are opened in closed source word processors the images do not display correctly.