Hallo Leute,
ich bin gerade dran ein Rechenscript zu schreiben, für meine kleine Schwester. Sie ist in der 1. Klasse und rechnet von 1-20 + und -.
Die 2 Zahlen lasse ich per random erzeugen und füge sie in die Seite ein, den Rechenoperator lasse ich auch erzeugen, wenn der Wert 1 ist dann wird er zu + und wenn nicht zu -.
Nun muss ich ja die 2 Zahlen zusammen rechnen, abhängig von dem Operator. Das geht ganz gut, aber bei + nimmt er immer die 1. Zahl und fügt die 2. dran, warum?
Desweiteren muss ich ja dann überprüfen ob das Ergebnis unter 0 und und über 20 ist, wenn ja dann soll der die Funktion wiederholen, da kommt dann aber immer eine Meldung. Ich glaube das der Stack dann einen overflow hat (Sagt man das so xD).
Hier der Code:
JavaScript:
Und HTML:
ich bin gerade dran ein Rechenscript zu schreiben, für meine kleine Schwester. Sie ist in der 1. Klasse und rechnet von 1-20 + und -.
Die 2 Zahlen lasse ich per random erzeugen und füge sie in die Seite ein, den Rechenoperator lasse ich auch erzeugen, wenn der Wert 1 ist dann wird er zu + und wenn nicht zu -.
Nun muss ich ja die 2 Zahlen zusammen rechnen, abhängig von dem Operator. Das geht ganz gut, aber bei + nimmt er immer die 1. Zahl und fügt die 2. dran, warum?
Desweiteren muss ich ja dann überprüfen ob das Ergebnis unter 0 und und über 20 ist, wenn ja dann soll der die Funktion wiederholen, da kommt dann aber immer eine Meldung. Ich glaube das der Stack dann einen overflow hat (Sagt man das so xD).
Hier der Code:
JavaScript:
HTML:
function creatNumber( min, max ) {
if( min > max ) {
return( -1 );
}
if( min == max ) {
return( min );
}
return( min + parseInt( Math.random() * ( max-min+1 ) ) );
}
function creatTask(){
var number1 = creatNumber(1,15);
var number2 = creatNumber(1,15);
var number3 = creatNumber(1,2);
document.getElementById('number1').innerHTML = number1;
document.getElementById('number2').innerHTML = number2;
if(number3 == 1){
document.getElementById('operator').innerHTML = '+';
}else{
document.getElementById('operator').innerHTML = '-';
}
}
function checkNumber(){
var rechnumber1 = document.getElementById('number1').innerHTML;
var rechnumber2 = document.getElementById('number2').innerHTML;
var operator = document.getElementById('operator').innerHTML;
var eingabe = document.getElementById('erg').value;
var ergebnis;
//Operator überprüfen und rechenen
if(operator == '-'){
var ergebnis = rechnumber1-rechnumber2;
}else{
var ergebnis = rechnumber1+rechnumber2;
}
//Überprüfen ob unter 0 und über 20
if(ergebnis <= '-1'){
checkNumber();
}else if(ergebnis >= '21'){
checkNumber();
}else{
alert('Andere Zahl!');
}
alert(ergebnis);
}
Und HTML:
HTML:
<body onload="creatTask()">
<div id="number1"></div>
<div id="operator"></div>
<div id="number2"></div>
<div id="gleich">=</div>
<input type="text" id="erg" name="erg" />
<button id="submit" onclick="checkNumber()">Prüfen!</button>
</body>