[HTML] / Javescript [Problem mit Funktionen]

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Tha-Don, 6. März 2007 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 6. März 2007
    / Javescript [Problem mit Funktionen]

    Aufgabe 1:

    Aufgabenstellung:

    Benutzer kann eine natürliche Zahl n angeben. Tabelle von 1 bis n. Jeweilige/s Teileranzahl,
    Teilersumme, Teilerprodukt.

    Beispiel:
    Zahl Teileranzahl Teilersumme Teilerprodukt
    6 4 12 36

    Ansatz:


    Code:
    <html>
    <head>
    <title></title>
    <meta name="author" content="Dieter">
    <meta name="generator" content="Ulli Meybohms HTML EDITOR">
    </head>
    <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
    
    <script language="JavaScript">
    <!--
    var n = parseInt(window.prompt('Geben Sie bitte eine natürliche Zahl ein!'));
    
    
    function teiler(x)
    {h = 0;
    for(var g=1;g<=x;g++);
    if (n%g==0);
     h = g++;
    return h;
    }
    
    function summe(x)
    {h = 0;
    for(var g=1;g<=x;g++);
    if (n%g==0);
     h = g+g;
    return h;
    }
    
    function produkt(x)
    {h = 0;
    for(var g=1;g<=x;g++);
    if(n%g==0);
     h= g*g;
     return h;
    }
    
    document.write('<table width="100%" border="1">');
     document.write('<tr>');
     document.write('<td align="center"><b>Zahl</b></td>');
     document.write('<td align="center"><b>Teileranzahl</b></td>');
     document.write('<td align="center"><b>Teilersumme</b></td>');
     document.write('<td align="center"><b>Teilerprodukt</b></td>');
     document.write('</tr>');
    
     for(i=1;i<=n;i++)
    {
     document.write('<tr>');
    document.write('<td align="center">' + String(i) + '</td>');
    document.write('<td align="center">' + String(teiler(n)) + '</td>');
    document.write('<td align="center">' + String(summe(n)) + '</td>');
    document.write('<td align="center">' + String(produkt(n)) + '</td>');
    
     document.write('</tr>');
    }
    document.write('</table>');
    
    //-->
    </script>
    <noscript></noscript>
    
    </body>
    </html>
    
    
    Irgendwie kommt bei mir überall das geleiche raus, allerdings finde ich den Fehler nicht.
    Könnt ihr mir weiterhelfen?

    Bb MfG Tha-Don
     
  2. 6. März 2007
    AW: / Javescript [Problem mit Funktionen]

    Deine if-Statements sind falsch. Bei dem Semikolon sind die zu Ende, d.h. der Teile dahinter gehört nicht mehr dazu.

    So hast dus gemacht.
    Code:
    if (<bedingung>);
     <anweisung>;
    Und so ists richtig
    Code:
    if (<bedingung>)
    {
     <anweisung>;
    }
    Wenn du nur eine Anweisung in dem durch geschweifte Klammern begrenzten Block hast, kannst du den Block auch weglassen.
     
  3. 6. März 2007
    AW: / Javescript [Problem mit Funktionen]

    Es funktioniert trotzdem nicht... ?!?! Bitte helft mir

    Kann es an noch etwas liegen?

    Bb MfG Tha-Don
     
  4. 6. März 2007
    AW: / Javescript [Problem mit Funktionen]

    Achja, mit den for-Schleifen das selbe
     
  5. 6. März 2007
    AW: / Javescript [Problem mit Funktionen]

    Vielen Dank nochmal, leider klappt es immer noch nicht

    Woran kann es nur liegen?

    Hier mal meine nachgebesserte Version:

    Code:
    <html>
    <head>
    <title></title>
    <meta name="author" content="Dieter">
    <meta name="generator" content="Ulli Meybohms HTML EDITOR">
    </head>
    <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
    
    <script language="JavaScript">
    <!--
    var n = parseInt(window.prompt('Geben Sie bitte eine natürliche Zahl ein!'));
    
    
    function teiler(x)
    {h = 0;
    for(var g=1;g<=x;g++)
    if (x%g==0)
    h++;
    return h;
    }
    
    function summe(x)
    {h = 0;
    for(var g=1;g<=x;g++)
    if (x%g==0)
    
     h = h+h;
    
    return h;
    }
    
    function produkt(x)
    {h = 0;
    for(var g=1;g<=x;g++)
    if(x%g==0)
    
     h= h*h;
    
     return h;
    }
    
    document.write('<table width="100%" border="1">');
     document.write('<tr>');
     document.write('<td align="center"><b>Zahl</b></td>');
     document.write('<td align="center"><b>Teileranzahl</b></td>');
     document.write('<td align="center"><b>Teilersumme</b></td>');
     document.write('<td align="center"><b>Teilerprodukt</b></td>');
     document.write('</tr>');
    
     for(i=1;i<=n;i++)
    {
     document.write('<tr>');
    document.write('<td align="center">' + String(i) + '</td>');
    document.write('<td align="center">' + String(teiler(n)) + '</td>');
    document.write('<td align="center">' + String(summe(n)) + '</td>');
    document.write('<td align="center">' + String(produkt(n)) + '</td>');
    
     document.write('</tr>');
    }
    document.write('</table>');
    
    //-->
    </script>
    <noscript></noscript>
    
    </body>
    </html>
    
    Kannst du noch Fehler finden?

    Bb MfG Tha-Don

    PS: Bewertung ist natürlich schon draußen, danke nochmal für deine Hilfe!

    EDIT:

    Bei der Teileranzahl klappt es jetzt! Ich habe hinter jedes "String" ein "(i)" gesetzt.
    Bei der Summe funktioniert es auch! Ich habe oben in der Funktion statt "h=h+h", "h=h+g" eingesetzt.

    EDIT2:

    Produkt klappt jetzt auch!

    Vielen dank!

    Ich close!

    Bb MfG Tha-Don
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.