• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Schleife + Tabelle

piinue

Neues Mitglied
Hallo!
Ich soll eine Schleife erstellen, die mir 5mal jeweils a und b einließt und dann verschiedene Rechnungen damit berechnet, nach jeder eingabe von a,b soll dann zuerst ausgegeben werden "Das ergebnis für das XY. Zahlenpaar lautet"
und danach eine Tabelle die in der ersten zeile enthält: a, b, a^b.....und in der zweiten dann die ergebnisse......ich sitze jetzt schon 2 tage dran und anders als so bring ich es nicht zusammen, weiß aber nicht wo der fehler ist, kann mir vl jemand helfen? danke!


<html>
<head>
<title> Hausübung Javascript </title>

<font size="1">
<h1>
Hausübung 3</h1>
</font>

<script language="Javascript">
var a, b, i;
for(i=0;i<5;i++)
{a=number(prompt("Bitte geben Sie eine Zahl a ein"));
b=number(prompt("Bitte geben Sie eine Zahl b ein"));
window.document.write("Das Ergebnis für das "+i+". Zahlenpaar lautet:");
window.document.write("<table border=1>");
window.document.write("<tr> <th> a </th> <th> b </th> <th> a<sup>b</sup> </th> <th> b <sup> a </sup> </th> <th> a+b </th> <th> a-b </th> <th> (a/b)*Pi </th> </tr>");
window.document.write("<tr> <th>"+a+"</th> <th>"+b+"</th> <th>"+Math.pow(a,b)+"</th> <th>"+Math.pow(b,a)+"</th> <th>"+(a+b)+"</th> <th>"+(a-b)+"</th> <th>"+ (a/b)*Math.PI+" </th> </tr>");
}
</script>

</head>

<body>

</body>

</html>
 
Ich bin grade unterwegs aber kann gern später nochmal genau drüber schauen.
Was mir aber direkt schon mal aufgefallen ist ist, dass kein abschließender </table> vorhanden ist. Dieser müsste nach der for-schleife ausgegeben werden.
Außerdem ist mir aufgefallen, dass du in jeder Tabellenzeile <th> und </th> verwendest, das aber für Tableheader steht. Du solltest es also nur für die Zeile verwenden in der die Spaltenheader stehen. Die normalen Daten legst du in <td> </td> für Tabledata. Ich denke aber nicht, dass das einen Fehler verursacht.

Um die Problemlösung zu vereinfachen würde ich dich allerdings um zwei Dinge bitten:
1. editier bitte deinen Beitrag und pack die PHP-Tags um deinen Code. Also die hier über den Editor einfügbaren mit eckigen Klammern. Dadurch wird das ganze durch Einrückung und Farben übersichtlicher.
2. Beschreibe bitte mal genau dein Problem. Also was macht dein Code nicht was er machen sollte oder was macht er statt dem was er machen sollte?

LG
 
Hey! Danke schon mal für die Rasche antwort, bin jetzt in der Arbeit, werd es am Abend daheim dann mal editieren!

der Fehler, bzw was er nicht macht, ist dass er mir 5* Zahlenpaare einließt, er fragt mich einmal "Bitte geben sie eine zahl a ein" und das wars, nicht ein einziges b, obwogl er eig beides 5* fragen sollte..
 
Statt den von Kizetsu angesprochenen PHP-Tags solltest Du bitte normale Code- oder HTML-Tags nehmen, wenn Du HTML-Code hier im Forum postest.

Außer den Anmerkungen von oben würde ich noch ergänzen, dass Du die gesamte Ausgabe der Seite im <head>-Bereich hast - was falsch ist. Du müsstest alles zwischen <body> und </body> ausgeben. Außerdem fehlt ein Doctype. Daher könnte es sehr leicht zu Fehldarstellungen kommen.

Falls Du das korrigiert hast, würde ich dir auch noch empfehlen den erzeugten HTML-Code im Browser mal anzuschauen. Nicht die Quellcode-Ansicht nutzen sondern den generierten HTML-Code. Den kannst Du z.B. über die Firefox-Erweiterung Webdeveloper einsehen. Wenn Du dann siehst, dass die von JavaScript erzeugte Tabelle fehlerhaft ist, müsstest Du dort auch noch etwas nachkorrigieren.
 
Hi, konnte es mal nicht sein lassen mir das mal genauer anzuschauen. Mir sind auch einige Fehler aufgefallen. Ich hab es etwas angepasst. Ob es nun vom Mathematischem so macht was er machen soll ist ne andere Frage. Versteh leider die Frage net so gut ^^

HTML:
<!DOCTYPE html>
<html>
 <head>
 <title> Haus&uuml;bung Javascript </title>
</head> 
<body>
 <font size="1"> 
 <h1>Haus&uuml;bung 3</h1>
 </font>
 
 <script type="text/javascript">
 var a = new Array();
 var b = new Array();
 var i;
 for(i=0;i<5;i++)
 {
    a[i]=Number(prompt("Bitte geben Sie eine Zahl a ein"));
     b[i]=Number(prompt("Bitte geben Sie eine Zahl b ein"));
     
     window.document.write("Das Ergebnis f&uuml;r das "+i+". Zahlenpaar lautet:");
     window.document.write("<table border=1>");
     window.document.write("<tr> <th> a </th> <th> b </th> <th> a<sup>b</sup> </th> <th> b <sup> a </sup> </th> <th> a+b </th> <th> a-b </th> <th> (a/b)*Pi </th> </tr>");
      window.document.write("<tr> <th>"+a[i]+"</th> <th>"+b+"</th> <th>"+Math.pow(a[i],b[i])+"</th> <th>"+Math.pow(b[i],a[i])+"</th> <th>"+(a[i]+b[i])+"</th> <th>"+(a-b)+"</th> <th>"+ (a/b)*Math.PI+" </th> </tr>");
     window.document.write("</table>");
     window.document.write("<br />");
 }
 </script>

 
 </body> 

 </html>

Folgendes hab ich nun gemacht:
- Javascript in den Body Bereich geschoben
- Das Table Tag geschlossen
- Das wichtigste aber ist warum es nach dem ersten prompt nicht weiter ging, die variablen müssen auch als Arrays deklariert werden.
- Number musste noch groß geschrieben werden
 
Zurück
Oben