• 25.04.2024, 11:18
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

VB Dreiecksberechner -> Php ?

Mittwoch, 8. Dezember 2004, 23:27

Moin,

Ich soll fürn Informatikunterricht einen Rechner basteln, der mir fehlende Wert in einem Dreieck (mit 90° Winkel) berechnet.

Ich bin eigentlich auch rel. weit - Rechner ist "eigentlich" fertig und läuft - allerdings mit für mich nciht nachvollziehbaren macken und unendlich vielen IF abfragen die einfach NUR scheisse aussehen *g*

Weiß jemand wie man das eleganter und weniger buggy lösen kann ?

Hier der LINK zum aktuellen Stand

Re: VB Dreiecksberechner

Mittwoch, 8. Dezember 2004, 23:48

ohne mir das jetzt anzusehen: hilft dir vielleicht switch?

Re: VB Dreiecksberechner

Mittwoch, 8. Dezember 2004, 23:51

Io, poste den Code hier, dann antwortet auch jemand.

Ich denk mal, dass du du diese ganzen Abfragen brauchst, einfacher gehts halt nunmal ned.

Re: VB Dreiecksberechner

Donnerstag, 9. Dezember 2004, 00:22

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
Private Sub Command1_Click()
'Definieren der Variablen
a = Val(Text1)
b = Val(Text2)
c = Val(Text3)
p = Val(Text4)
q = Val(Text5)
h = Val(Text6)



'Ausrechnen von a
If Text1 = "" Then
    aq = c ^ 2 - b ^ 2
    a = Sqr(aq)

End If
Text1 = a

'Ausrechnen von b
If Text2 = "" Then
    bq = c ^ 2 - a ^ 2
    b = Sqr(bq)

End If
Text2 = b

'Ausrechnen von c
If Text3 = "" Then
    cq = a ^ 2 + b ^ 2
    c = Sqr(cq)
    
End If
Text3 = c

'Ausrechnen  von h
If Text6 = "" Then
    hq = p * q
    h = Sqr(hq)

End If
Text6 = h

'Ausrechnen von q
If Text5 = "" Then
    qq = h ^ 2 / p
    q = qq

End If
Text5 = q

'Ausrechnen von p
If Text4 = "" Then
    pq = h ^ 2 / q
    p = pq

End If
Text4 = p

End Sub

Private Sub Command2_Click()
'Leeren der Felder
Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
Text5 = ""
Text6 = ""
End Sub

Private Sub Exit_Click()
  Select Case UnloadMode
    Case vbFormControlMenu ' falls Schaltfläche "Nein" gewählt wurde, Form nicht schließen
      If vbNo = MsgBox("Wollen Sie das Programm wirklich beenden?" & vbCrLf _
      & "Hat das Programm Ihnen denn gefallen?", _
        vbQuestion + vbYesNo, "Sind Sie sicher ???") Then
          Cancel = True
      End If
  End Select
End Sub

Re: VB Dreiecksberechner

Donnerstag, 9. Dezember 2004, 09:54

hab das jetz net getestet sondern einfach schnell geschrieben, sollte aber funktionieren

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Dim i As Integer
Dim A(6) As Double

For i = 0 To 5
    A(i) = txtInput(i).Text
Next i

For i = 0 To 5
    If A(i) = vbNull Then
        Select Case i
        Case 0
        A(i) = Sqr(A(2) ^ 2 - A(1) ^ 2)
        Case 1
        A(i) = Sqr(A(2) ^ 2 - A(0) ^ 2)
        Case 2
        A(i) = Sqr(A(0) ^ 2 + A(1) ^ 2)
        Case 3
        A(i) = A(5) ^ 2 / A(4)
        Case 4
        A(i) = A(5) ^ 2 / A(3)
        Case 5
        A(i) = Sqr(A(3) * A(4))
        End Select
    End If
    txtInput(i).Text = A(i)
Next i

Re: VB Dreiecksberechner

Donnerstag, 9. Dezember 2004, 18:42

hmm irgendwie blicke ich deinen Quellcode nicht wirklich DAP :-[

Kannste mir mal erklären wo da die eingabe Felder für Variablen sind & die Ausgabe ?
Wie funktioniert das ganze ?
Muss es ja selber verstehen - einfach so bringt es mir ja nix


mfG TrOuble

PS : Sorry für die dumme Frage, bin grad bissle durchn Wind...

Re: VB Dreiecksberechner

Donnerstag, 9. Dezember 2004, 19:29

Zitat von »[Weihnachts]TrOuble«

TrOuble link=board=6;num=1102541254;start=0#5 date=12/09/04 um 17:42:28]hmm irgendwie blicke ich deinen Quellcode nicht wirklich DAP  :-[

Kannste mir mal erklären wo da die eingabe Felder für Variablen sind & die Ausgabe ?
Wie funktioniert das ganze ?
Muss es ja selber verstehen - einfach so bringt es mir ja nix


mfG TrOuble

PS : Sorry für die dumme Frage, bin grad bissle durchn Wind...


kein problem :)

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
'Variablen deklarieren:
Dim i As Integer 
Dim A(6) As Double 

'Die Schleife wird 6 mal durchlaufen, dabei werden die Inhalte der Textfelder txtInput (Index 0 bis 5) in die Variable (Array) "A" eingelesen
For i = 0 To 5 
    A(i) = txtInput(i).Text 
Next i 

'Die Inhalte der Textfelder sind jetzt im Array "A" gespeichert


'Die Schleife wird wieder 6 mal durchlaufen
For i = 0 To 5 
    If A(i) = vbNull Then 'Hab ich von dir übernommen
        Select Case i 
        Case 0 'Wenn i = 0, d.h. der erste Durchlauf der Schleife
        A(i) = Sqr(A(2) ^ 2 - A(1) ^ 2) 'Die Berechnungen hab ich von dir übernommen und deine Variablen durch mein Array ersetzt
        Case 1 'Wenn i = 1, d.h. zweiter Durchlauf der Schleife ...
        A(i) = Sqr(A(2) ^ 2 - A(0) ^ 2) 
        Case 2 
        A(i) = Sqr(A(0) ^ 2 + A(1) ^ 2) 
        Case 3 
        A(i) = A(5) ^ 2 / A(4) 
        Case 4 
        A(i) = A(5) ^ 2 / A(3) 
        Case 5 
        A(i) = Sqr(A(3) * A(4)) 
        End Select 
    End If 
    txtInput(i).Text = A(i) 'Am Ende wird das ganze wieder in die Textfelder geschrieben
Next i


Wenn du noch fragen hast kannst dich auch über Jabber/Eiskuh melden, da lässt sich sowas meistens schneller klären ;)

moep@amessage.de
96520463

:)

Re: VB Dreiecksberechner

Donnerstag, 9. Dezember 2004, 19:30

Zitat von »Y0Gi«

ohne mir das jetzt anzusehen: hilft dir vielleicht switch?


Dann müsste er zu C++ & Co. wechseln ;)

MfG
"I've always said, the Web is the sum of all human knowledge plus porn.", Ron Gilbert
UltraStar Manager 1.7.2 | Infos zu meinem PC | .o0 DeathSpank 0o.

Re: VB Dreiecksberechner

Donnerstag, 9. Dezember 2004, 19:43

Zitat von »[X-Mas]Saiya«

Saiya link=board=6;num=1102541254;start=0#7 date=12/09/04 um 18:30:41]Dann müsste er zu C++ & Co. wechseln ;)

naja was weiß ich wie das in visual "wir haben unsere syntax aus'm osterei" basic heißt ;)

Re: VB Dreiecksberechner

Donnerstag, 9. Dezember 2004, 21:01

Zitat von »Y0Gi«


naja was weiß ich wie das in visual "wir haben unsere syntax aus'm osterei" basic heißt ;)


*lol* Betrachte es halt einfach als Unikat ;D

MfG
"I've always said, the Web is the sum of all human knowledge plus porn.", Ron Gilbert
UltraStar Manager 1.7.2 | Infos zu meinem PC | .o0 DeathSpank 0o.

Re: VB Dreiecksberechner

Donnerstag, 9. Dezember 2004, 21:45

Alternativ auch:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
If Text1 = "" Then
    aq = c ^ 2 - b ^ 2
    a = Sqr(aq)
    Text1 = a
ElseIf Text2 = "" Then
    bq = c ^ 2 - a ^ 2
    b = Sqr(bq)
    Text2 = b
Else
    cq = a ^ 2 + b ^ 2
    c = Sqr(cq)
    Text3 = c
End If


'Ausrechnen  von h
If Text6 = "" Then
    hq = p * q
    h = Sqr(hq)
    Text6 = h
ElseIf Text5 = "" Then
    qq = h ^ 2 / p
    q = qq
    Text5 = q

Else
    pq = h ^ 2 / q
    p = pq
    Text4 = p
End If

Ist zwar nicht weniger if vorhanden aber denoch schneller

Kammerjäger
Wenn Gefahr droht wird an humanistischen Schulen die Zugbrücke hochgefahren und das Tor geschlossen.

Re: VB Dreiecksberechner

Sonntag, 12. Dezember 2004, 03:47

Wie kann man das ganze eigentlich in php lösen?


MfG TrOuble

Re: VB Dreiecksberechner -> Php ?

Sonntag, 12. Dezember 2004, 12:06

Meine Visual C++ Lösung

Auszug:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
void CDreieckDlg::OnBnClickedCalc()
{
      UpdateData(true);

      switch (m_intOpt)
      {
      case 0: 
            if ((m_dblC != 0) && (m_dblB != 0))
                  m_dblA = sqrt(std::pow(m_dblC, 2) - std::pow(m_dblB, 2)); 
            else
                  m_dblA = sqrt(std::pow(m_dblH, 2) + std::pow(m_dblP, 2));
            break;
      case 1:
            if ((m_dblC != 0) && (m_dblA != 0))
                  m_dblB = sqrt(std::pow(m_dblC, 2) - std::pow(m_dblA, 2)); 
            else
                  m_dblB = sqrt(std::pow(m_dblH, 2) + std::pow(m_dblQ, 2)); 
            break;
      case 2:
            if ((m_dblB != 0) && (m_dblA != 0))
                  m_dblC = sqrt(std::pow(m_dblA, 2) + std::pow(m_dblB, 2)); 
            else
                  m_dblC = m_dblP + m_dblQ;
            break;
      case 3:
            if ((m_dblP != 0) && (m_dblQ != 0))
                  m_dblH = sqrt(m_dblP * m_dblQ);
            else if ((m_dblB != 0) && (m_dblQ != 0))
                  m_dblH = sqrt(std::pow(m_dblB, 2) - std::pow(m_dblQ, 2)); 
            else
                  m_dblH = sqrt(std::pow(m_dblA, 2) - std::pow(m_dblP, 2)); 
            break;
      case 4:
            if ((m_dblH != 0) && (m_dblQ != 0))
                  m_dblP = std::pow(m_dblH, 2) / m_dblQ;
            else if ((m_dblA != 0) && (m_dblH != 0))
                  m_dblP = sqrt(std::pow(m_dblA, 2) - std::pow(m_dblH, 2)); 
            else
                  m_dblP = m_dblC - m_dblQ;
            break;
      case 5:
            if ((m_dblH != 0) && (m_dblP != 0))
                  m_dblQ = std::pow(m_dblH, 2) / m_dblP;
            else if ((m_dblB != 0) && (m_dblH != 0))
                  m_dblQ = sqrt(std::pow(m_dblB, 2) - std::pow(m_dblH, 2)); 
            else
                  m_dblQ = m_dblC - m_dblP;
            break;
      }

      UpdateData(false);
}


Hoffentlich ist kein Fehler drin. Hab es dahingehend optimiert, dass man ja auch mit diversen Gegebenheiten ein Dreieckselement berechnen kann.

MfG
"I've always said, the Web is the sum of all human knowledge plus porn.", Ron Gilbert
UltraStar Manager 1.7.2 | Infos zu meinem PC | .o0 DeathSpank 0o.

Re: VB Dreiecksberechner -> Php ?

Sonntag, 12. Dezember 2004, 19:05

Keiner ne ahnung wie man das in php lösen könnte ... ? :(

Wollte das in 2 Datein lösen ...

Datei eins :

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
<div align="center">
<form name="form1" method="post" action="dreieck_rechnen.php">
a:<input type="text" name="a" value="" size="5">
b:<input type="text" name="b" value="" size="5">
c:<input type="text" name="c" value="" size="5">
<br>
h:<input type="text" name="h" value="" size="5">
q:<input type="text" name="q" value="" size="5">
p:<input type="text" name="p" value="" size="5">
<br>
<input type="submit" name="submit" value="Rechne!">
</div>


Code von dreieck_rechnen.php :

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
error_reporting(0);
    $daten = array("$_POST[a]", "$_POST[b]", "$_POST[c]", "$_POST[h]", "$_POST[q]", "$_POST[p]");

      echo "Eingegebende Variablen :\n";
      echo "<br>\n";
    echo "a = ".$daten[0]."<br />\n";
    echo "b = ".$daten[1]."<br />\n";
    echo "c = ".$daten[2]."<br />\n";
    echo "h = ".$daten[3]."<br />\n";
    echo "q = ".$daten[4]."<br />\n";
    echo "p = ".$daten[5]."<br />\n";

for ($i=0; $i<6; $i++) {
// ausrechnen von a
if ($daten[0] == "") {
$a = sqrt(($daten[2] * $daten[2]) - ($daten[1] * $daten[1]));
$daten[0] = $a;
    }
if ($daten[0] == "") {
$a2 = sqrt($daten[2] * $daten[5]);
$daten[0] = $a2;
    }
    
// ausrechnen von b
if ($daten[1] == "") {
$b = sqrt(($daten[2] * $daten[2]) - ($daten[0] * $daten[0]));
$daten[1] = $b;
    }
if ($daten[1] == "") {
$b2 = sqrt($daten[2] * $daten[4]);
$daten[1] = $b2;
    }
    
// ausrechnen von c
if ($daten[2] == "") {
$c = sqrt(($daten[0] * $daten[0]) + ($daten[1] * $daten[1]));
$daten[2] = $c;
    }
if ($daten[2] == "") {
$c2 = ($daten[4] + $daten[5]);
$daten[2] = $c2;
    }
    
// ausrechnen von h
if ($daten[3] == "") {
$h = sqrt($daten[5] * $daten[4]);
$daten[3] = $h;
    }
    
// ausrechnen von q
if ($daten[4] == "") {
$q = (($daten[3] * $daten[3]) / $daten[5]);
$daten[4] = $q;
    }
if ($daten[4] == "") {
$q2 = (($daten[1] * $daten[1]) / $daten[2]);
$daten[4] = $q2;
    }

// ausrechnen von p
if ($daten[5] == "") {
$p = (($daten[3] * $daten[3]) / $daten[4]);
$daten[5] = $p;
      }
if (($daten[5] == "") and ($daten[3] == "")){
$p2 = (($daten[0] * $daten[0]) / $daten[2]);
$daten[5] = $p2;
    }
}
// ausrechnen von A
$A = (0.5 * $daten[0] * $daten[1])

?>

<br>
<?
echo "<br>Katheten :<br>\n";
echo "a = ".$daten[0]."<br>\n";
echo "b = ".$daten[1]."<br>\n";
echo "<br>Hypotenuse:<br>\n";
echo "c = ".$daten[2]."<br>\n";
echo "<br>\n";
echo "h = ".$daten[3]."<br>\n";
echo "q = ".$daten[4]."<br>\n";
echo "p = ".$daten[5]."<br>\n";
echo "<br>Fläche :<br>\n";
echo "A = $A<br>\n";
?>
<br>


So jetzt läuft alles - allerdings brauch ich mehrere druchgänge um alles zu berechnen ..,

Re: VB Dreiecksberechner -> Php ?

Sonntag, 12. Dezember 2004, 20:34

warum php nehmen, wenn man python nehmen kann? da haste sogar noch den vorteil gegenüber allen einseitig gui- oder web-orientierten ansätzen (php+gtk zählt nicht als gui >:(), dass du ein zentrales modul für die berechnungen machen und das dann sowohl von der gui als auch vom web-formular aus verwenden kannst.

aber merke: mit python gibt's keinen trouble ;)