08.12.2022, 08:58
Seite a (Seite1): 10 cm
Seite c (Seite2): 6 cm
Winkel gamma (Winkel1): 36.87 grad
die Seiten und Winkel werden im Nachhinein auch nochmal automatisch sortiert was soweit auch funktioniert.
Seite c (Seite2): 6 cm
Winkel gamma (Winkel1): 36.87 grad
die Seiten und Winkel werden im Nachhinein auch nochmal automatisch sortiert was soweit auch funktioniert.
Code:
let input = ["","","","",""];
let seite1;
let seite2;
let seite3;
let winkel1;
let winkel2;
let winkel3;
let welcheRechnungString;
function Ergebnis() {
input[0] = document.getElementById('a').value.replace(/[',']/g, '.'); //Seite A
input[1] = document.getElementById('b').value.replace(/[',']/g, '.'); //Seite B
input[2] = document.getElementById('c').value.replace(/[',']/g, '.'); //Seite C
input[3] = document.getElementById('alpha').value.replace(/[',']/g, '.'); //Winkel alpha
input[4] = document.getElementById('beta').value.replace(/[',']/g, '.'); //Winkel beta
input[5] = document.getElementById('gamma').value.replace(/[',']/g, '.'); //Winkel gamma
let welcheRechnung = ["0","0","0","0","0","0"];
/*
input[0] = A
input[1] = B
input[2] = C
input[3] = Alpha
input[4] = Beta
input[5] = Gamma
*/
for (let i = 0; i < 6; i++) {
if (! input[i] == "") {
welcheRechnung[i] = "1";
}
}
welcheRechnungString = welcheRechnung.toString().replace(/[',']/g, '');
console.log("Rechnungsmodel welches aufgerufen wurde:",welcheRechnungString);
switch (welcheRechnungString) { // überprüfen! bei funktioniert = +
case "111000": //
seite1 = input[0];
seite2 = input[1];
seite3 = input[2];
dreiSeiten();
break;
case "110001": //
seite1 = input[0];
seite2 = input[1];
winkel1 = input[5];
zweiSeitenEinWinkelSonder();
break;
case "110010": //
seite1 = input[1];
seite2 = input[0];
winkel1 = input[4];
zweiSeitenEinWinkel();
break;
case "110100": //
seite1 = input[0];
seite2 = input[1];
winkel1 = input[3];
zweiSeitenEinWinkel();
break;
case "011001": //
seite1 = input[2];
seite2 = input[1];
winkel1 = input[5];
zweiSeitenEinWinkel();
break;
case "011010": //
seite1 = input[1];
seite2 = input[2];
winkel1 = input[4];
zweiSeitenEinWinkel();
break;
case "011100": //
seite1 = input[1];
seite2 = input[2];
winkel1 = input[3];
zweiSeitenEinWinkelSonder();
break;
case "101001": //
seite1 = input[0];
seite2 = input[2];
winkel1 = input[5];
zweiSeitenEinWinkeltest();
break;
case "101010": //
seite1 = input[0];
seite2 = input[2];
winkel1 = input[4];
zweiSeitenEinWinkelSonder();
break;
case "101100": //
seite1 = input[0];
seite2 = input[2];
winkel1 = input[3];
zweiSeitenEinWinkel();
break;
case "100011": //
seite1 = input[0];
winkel1 = input[4];
winkel2 = input[5];
zweiWinkelEineSeite();
break;
case "100110": //
seite1 = input[0];
winkel1 = input[3];
winkel2 = input[4];
zweiWinkelEineSeite();
break;
case "100101": //
seite1 = input[0];
winkel1 = input[3];
winkel2 = input[5];
zweiWinkelEineSeite();
break;
case "010011": //
seite1 = input[1];
winkel1 = input[4];
winkel2 = input[5];
zweiWinkelEineSeite();
break;
case "010110": //
seite1 = input[1];
winkel1 = input[3];
winkel2 = input[4];
zweiWinkelEineSeite();
break;
case "010101": //
seite1 = input[1];
winkel1 = input[3];
winkel2 = input[5];
zweiWinkelEineSeite();
break;
case "001011": //
seite1 = input[2];
winkel1 = input[4];
winkel2 = input[5];
zweiWinkelEineSeite();
break;
case "001110": //
seite1 = input[2];
winkel1 = input[3];
winkel2 = input[4];
zweiWinkelEineSeite();
break;
case "001101": //
seite1 = input[2];
winkel1 = input[3];
winkel2 = input[5];
zweiWinkelEineSeite();
break;
default:
fehlerAusgabe();
}
}
function fehlerAusgabe() { // mehr verschiedene Fehler um lösung zu bekommen!
alert("Es ist ein Fehler aufgetreten, bitte überprüfe deine Eingaben oder versuch es später erneut.")
}
function dreiSeiten() {
winkel1 = Math.acos((Math.pow(seite1,2) - Math.pow(seite2,2) - Math.pow(seite3,2)) / (-2 * seite2 * seite3)) / Math.PI * 180;
winkel2 = Math.acos((Math.pow(seite2,2) - Math.pow(seite1,2) - Math.pow(seite3,2)) / (-2 * seite1 * seite3)) / Math.PI * 180;
winkel3 = berechneW3(winkel1, winkel2);
sortierung();
}
function zweiSeitenEinWinkel() {
sortierung();
}
function zweiSeitenEinWinkelSonder() {
sortierung();
}
function zweiWinkelEineSeite() {
sortierung();
}
function berechneW3(w1, w2) {
let w3 = 180 - w1 - w2;
return w3;
}
function gradZuRad(grad)
{
return grad * Math.PI / 180;
}
function radZuGrad(rad)
{
return rad * 180/ Math.PI;
}
function sortierung() {
switch (welcheRechnungString) { // überprüfen!
case "111000":
input = [seite1, seite2, seite3, winkel1, winkel2, winkel3];
ausgabe();
break;
case "110001":
input = [seite1, seite2, seite3, winkel2, winkel3, winkel1];
ausgabe();
break;
case "110010":
input = [seite1, seite2, seite3, winkel2, winkel1, winkel3];
ausgabe();
break;
case "110100":
input = [seite1, seite2, seite3, winkel1, winkel2, winkel3];
ausgabe();
break;
case "011001":
input = [seite3, seite1, seite2, winkel3, winkel2, winkel1];
ausgabe();
break;
case "011010":
input = [seite3, seite1, seite2, winkel3, winkel1, winkel2];
ausgabe();
break;
case "011100":
input = [seite3, seite1, seite2, winkel1, winkel2, winkel3];
ausgabe();
break;
case "101001":
input = [seite1, seite3, seite2, winkel2, winkel3, winkel1];
ausgabe();
break;
case "101010":
input = [seite1, seite3, seite2, winkel2, winkel1, winkel3];
ausgabe();
break;
case "101100":
input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
ausgabe();
break;
case "100011": // ab hier 2 winkel und eine seite noch einstellen
input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
break;
case "100110":
input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
break;
case "100101":
input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
break;
case "010011":
input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
break;
case "010110":
input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
break;
case "010101":
input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
break;
case "001011":
input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
break;
case "001110":
input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
break;
case "001101":
input = [seite1, seite3, seite2, winkel1, winkel3, winkel2];
break;
default:
fehlerAusgabe();
}
}
function ausgabe() {
document.getElementById('ausgabeA').value = input[0];
document.getElementById('ausgabeB').value = input[1];
document.getElementById('ausgabeC').value = input[2];
document.getElementById('ausgabeAlpha').value = input[3];
document.getElementById('ausgabeBeta').value = input[4];
document.getElementById('ausgabeGamma').value = input[5];
}