Opdracht

In deze uitgebreide oefening maak je een applicatie waarmee de gebruiker de omtrekt of het oppevlak van een aantal geometrische figuren kan berekenen. De applicatie heeft een menu waarin de gebruiker kan kiezen welke berekening hij wil uitvoeren. De applicatie blijft draaien tot de gebruiker aangeeft dat hij wil stoppen.

Je werkt voor de funtionaliteit van deze applicatie enkel met methodes uit. Lees de opgave dus grondig door.

1. Menu

Bij het starten van de applicatie wordt een menu getoond waarin de gebruiker kan kiezen welke berekening hij wil uitvoeren. Het menu ziet er als volgt uit:

Van welke figuur wil je de omtrek of het oppervlak berekenen?
a. Cirkel
b. Rechthoek
c. Driehoek
x. Stoppen

Wanneer de gebruiker een ongeldige keuze maakt, wordt een foutmelding getoond en wordt het menu opnieuw getoond. De invoer is case-insensitive. dus zowel a als A is een geldige keuze.

Van welke figuur wil je de omtrek of het oppervlak berekenen?
a. Cirkel
b. Rechthoek
c. Driehoek
x. Stoppen
[invoer= d] 
Ongeldige keuze. Probeer opnieuw.
Van welke figuur wil je de omtrek of het oppervlak berekenen?
a. Cirkel
b. Rechthoek
c. Driehoek
x. Stoppen

Het tonen van dit menu en het opvragen van het antwoord wordt in een aparte methode gedaan. Zie verder

2. Keuze omtrek of oppervlakte

Na het kiezen van een figuur, wordt de gebruiker gevraagd of hij de omtrek of het oppervlak van de figuur wil berekenen. Het bericht ziet er als volgt uit:

Wat wil je berekenen?
a. Omtrek
b. Oppervlakte

Opnieuw wordt een foutmelding getoond wanneer de gebruiker een ongeldige keuze maakt.

Wat wil je berekenen?
a. Omtrek
b. Oppervlakte
[invoer= c]
Ongeldige keuze. Probeer opnieuw.
Wat wil je berekenen?
a. Omtrek
b. Oppervlakte

Het tonen van dit menu en het opvragen van het antwoord wordt in een aparte methode gedaan. Zie verder

3. Invoer van de gegevens

Afhankelijk van de keuze van de gebruiker, wordt de gebruiker gevraagd om de nodige gegevens in te voeren. Zo wordt bijvoorbeeld bij een cirkel de straal gevraagd, bij een rechthoek de lengte en breedte, en bij een driehoek de lengte van de zijden.

Geef de straal van de cirkel:
[invoer= 5]
Geef de lengte van de rechthoek:
[invoer= 5]
Geef de breedte van de rechthoek:
[invoer= 3]
Geef de lengte van zijde 1 van de driehoek:
[invoer= 5]
Geef de lengte van zijde 2 van de driehoek:
[invoer= 3]
Geef de lengte van zijde 3 van de driehoek:
[invoer= 4]

4. Tonen van de berekening

Na het invoeren van de gegevens, wordt de berekening uitgevoerd en het resultaat getoond. Bijvoorbeeld:

De omtrek van de cirkel bedraagt 31.42 cm^2
De oppervlakte van de rechthoek bedraagt 15 cm^2
De omtrek van de driehoek bedraagt 12 cm^2

Methodes

ToonMenu

Deze methode toont het keuzemenu en geeft de geldige keuze van de gebruiker terug als string. Deze methode heeft geen parameters.

De keuze van de gebruiker is case-insensitive, dus zowel a als A is een geldige keuze.

Bij een ongeldige keuze wordt een foutmelding getoond en wordt het menu opnieuw getoond. Dit herhaalt zich tot de gebruiker een geldige keuze maakt.

OmtrekOfOppervlakte

Deze methode toont het menu om de gebruiker te vragen of hij de omtrek of het oppervlak wil berekenen en geeft de geldige keuze van de gebruiker terug als string. Deze methode heeft geen parameters.

De keuze van de gebruiker is case-insensitive, dus zowel a als A is een geldige keuze.

Bij een ongeldige keuze wordt een foutmelding getoond en wordt het menu opnieuw getoond. Dit herhaalt zich tot de gebruiker een geldige keuze maakt.

BerekenCirkel

Deze methode berekent de omtrek of het oppervlak van een cirkel en geeft het resultaat terug als een double. Deze methode accepteert de straal van de cirkel als parameter en een string die aangeeft of de omtrek of het oppervlak berekend moet worden. De omtrek of oppervlak wordt afgerond op 2 decimalen.

Formule Omtrek Cirkel

Omtrek = 2 * pi * straal

Formule Oppervlakte Cirkel

Oppervlakte = pi * straal^2

BerekenRechthoek

Deze methode berekent de omtrek of het oppervlak van een rechthoek en geeft het resultaat terug als een double. Deze methode accepteert de lengte en breedte van de rechthoek als parameters en een string die aangeeft of de omtrek of het oppervlak berekend moet worden.

De omtrek of oppervlak wordt afgerond op 2 decimalen.

Formule Omtrek Rechthoek

Omtrek = 2 * (lengte + breedte)

Formule Oppervlakte Rechthoek

Oppervlakte = lengte * breedte

BerekenDriehoek

Deze methode berekent de omtrek of het oppervlak van een driehoek en geeft het resultaat terug als een double. Deze methode accepteert de lengte van de zijden van de driehoek als parameters en een string die aangeeft of de omtrek of het oppervlak berekend moet worden.

De omtrek of oppervlak wordt afgerond op 2 decimalen.

Formule Omtrek Driehoek

Omtrek = zijde1 + zijde2 + zijde3

Formule Oppervlakte Driehoek

Je gebruikt hiervoor de formule van Heron:

//bereken de halve omtrek
s = (zijde1 + zijde2 + zijde3) / 2

//bereken de oppervlakte
Oppervlakte = sqrt(s * (s - zijde1) * (s - zijde2) * (s - zijde3))