Archief - Javascript oefening

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

ApolluMi

Legacy Member
Dus de bedoeling is je een venster krijgt da vraagt om een 1ste getal in te geven, dan een venster om een 2de getal in te geven, tenslotte een venster dat vraagt welke bewerking er moet gebeuren: +,-,/,*.

Zolang je cijfers ingeeft en 1 van de 4 bewerkingen werkt het perfect.
Maar ik zou graag een controle op cijfers invoeren. Dus als je een letter ingeeft dat je een melding krijgt en dan gewoon opnieuw een cijfer moet invoeren.

Maar da doe nie wa ik verwacht, bij die foutmeldingen :).

Code:
var getal1 = parseInt(prompt("Geef een eerste getal in"));
var getal2 = parseInt(prompt("Geef een tweede getal in"));

if (isNaN(getal1))
{
	alert("Geef een getal in aub!");
	var getal1 = parseInt(prompt("Geef een getal in"));
}

if (isNaN(getal1))
{
	alert("Geef een getal in aub!");
	var getal2 = parseInt(prompt("Geef een getal in"));
}		


	
var oplossing;

function test()
{
switch (operator)
{
	case "+":
	oplossing = getal1 + getal2;
	alert("Uitkomst = " + oplossing);
	break;
	case "-":
	oplossing = getal1 - getal2;
	alert("Uitkomst = " + oplossing);
	break;
	case "/":
	oplossing = getal1 / getal2;
	alert("Uitkomst = " + oplossing);
	break;
	case "*":
	oplossing = getal1 * getal2;
	alert("Uitkomst = " + oplossing);
	break;
	default :
	operator = prompt("Welke berekening moet er uitgevoerd worden?");
	test();
}
}
var operator = prompt("Welke berekening moet er uitgevoerd worden?");
switch (operator)
{
	case "+":
	oplossing = getal1 + getal2;
	alert("Uitkomst = " + oplossing);
	break;
	case "-":
	oplossing = getal1 - getal2;
	alert("Uitkomst = " + oplossing);
	break;
	case "/":
	oplossing = getal1 / getal2;
	alert("Uitkomst = " + oplossing);
	break;
	case "*":
	oplossing = getal1 * getal2;
	alert("Uitkomst = " + oplossing);
	break;
	default :
	operator = prompt("Welke berekening moet er uitgevoerd worden?");
	test();
	
}

AzZ_KiKr

Legacy Member
beter da ge zoiets doet, want anders checkt ge maar 1 keer of ge getal intypt
PHP:
var getal1 = parseInt(prompt("Geef een eerste getal in"));
if(isNaN(getal1)){
do{
getal1 = parseInt(prompt("Geef een getal in, geen letters of woorden!!!!!!"));
} while (!isNaN(getal1));
}

dan blijft die altijd loopen tot ge getal ingeeft


btw waarom hebt ge 2 keer groot stuk van zelfde code??

ge hebt die functie test() en dan nogmaals daaronder dezelfde code..kweet niet wa ge allemaal al gezien hebt maar zijt ge niet beter ongeveer zo... (zonder het ingewikkeld te maken en uw programma min of meer te blijven volgen)

PHP:
var getal1 = parseInt(prompt("Geef een eerste getal in"));
while(isNaN(getal1)){
     getal1 = parseInt(prompt("Geef een getal in, geen letters of woorden!!!!!!"));
}

var getal2 = parseInt(prompt("Geef een 2e getal in"));
while(isNaN(getal2)){
     getal2 = parseInt(prompt("Geef een getal in, geen letters of woorden!!!!!!"));
}

test();    


function test()
{
var oplossing;
var operator = prompt("Welke berekening moet er uitgevoerd worden?");
switch (operator)
{
    case "+":
    oplossing = getal1 + getal2;
    alert("Uitkomst = " + oplossing);
    break;
    case "-":
    oplossing = getal1 - getal2;
    alert("Uitkomst = " + oplossing);
    break;
    case "/":
    oplossing = getal1 / getal2;
    alert("Uitkomst = " + oplossing);
    break;
    case "*":
    oplossing = getal1 * getal2;
    alert("Uitkomst = " + oplossing);
    break;
    default :
    test();
}
}

en ik denk dat je beter alles binnen die test functie zet en dan altij daardoor gaan, want nu geef je 2 getallen in en kan je enkel nog operator veranderen, en niet meer de inputgetallen

ApolluMi

Legacy Member
inderdaad

Maar die "!" voor de parseInt geeft een fout. Zonder werkt het.

En voor het invoeren welke bewerking er moet uitgevoerd worden, moet ge da met een functie doen?

ApolluMi

Legacy Member
Aah dien variabele oplossing en operator moete binne die functie gedeclareert worde =/.

Yes, ok man bedankt :). Gij bent er precies wel pro in he :p. Hoe kunde da eigelijk het beste aanlere, constant der me bezig zijn?

AzZ_KiKr

Legacy Member
ApolluMi zei:
inderdaad

Maar die "!" voor de parseInt geeft een fout. Zonder werkt het.

En voor het invoeren welke bewerking er moet uitgevoerd worden, moet ge da met een functie doen?

ja idd, was typfoutje, die moet iederdaad weg, altijd al belachelijke functie gevonden. Meestal checkt ge of iets een getal is maar met deze function is not a getal :s

//heb code aangepast en wa korter gemaak (die if-do-while loop vervangen door gewone while)....

pro, in de verste verste nie!!! ken ook maar de basis overal :p

veel prutsen!!!! mss boek lezen erover? of ergens online dingskes volgen zoals w3schools ofso voor basis

ApolluMi

Legacy Member
ja wij hebbe van het school nen website meegekrege waar alles zowa sta beschreve.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan