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

Script klappt nicht, Function lädt nicht...

Status
Für weitere Antworten geschlossen.

Fame

Neues Mitglied
Guten Abend,
ich bin hier langsam am verzweifeln. Ich code so ein kleines Anlage Programm für die Schule. Aber es kommt keine Fehler Meldung und läuft nur halb. Ich habe paar Alerts reingebaut um zu sehen wie weit das Prog. läuft aber es werden immer die wichtigen Funktionen nicht geladen. Ich finde keine Fehler. Ich habe meinen Lehrer drüber schauen lassen und er findet auch keinen...

jetzt hoff ich mal hier könnt mir helfen :(

Code:
<html><head><title>Anlageformen</title>


<meta name="author" content="Patrick">
<script language="Javascript">

/**************************************** Main Modul **************************************************************/

function main()

{

        var anfangskapital;
        var endkapital;
        var festgeld;
        var schatzbrief;                                                                                                           
        var menu;
        var check = 1;
        var laufzeit;
        var zinsstaffel;
        
        menu = parseInt(prompt("Menü, für Ende (0) für Schatzbrief (1) und für Festgeld(2),0"));
        
        while ((menu == 1) || (menu == 2))
        
        {
        alert("WHile zu check");
                
                check = pruefung(menu);

                if (menu == 1)
                        {
                                alert("1");
                                anfangskapital = parseInt(prompt("Wie hoch ist ihr Anfangskapital? : ", 0));
                                laufzeit = parseInt(prompt("Wie viele Jahre beträgt die Laufzeit? : ", 0));
                                endkapital = schatzbrief(laufzeit);
                                alert(endkapital);
                        }

                if (menu == 2)               		
                        {
                                anfangskapital = parseInt(prompt("Wie hoch ist ihr Anfangskapital? : ", 0));
                                laufzeit = parseInt(prompt("Wie viele Jahre beträgt die Laufzeit? : ", 0));
                                endkapital = festgeld(laufzeit);
                        }
			 
                if (menu == 0)
                        {
                                return;
                        }
			 
                alert("Ihr Endkapital beträgt: " + endkapital + " Euro");
        }
}

/********************************************** Ende Modul Main **********************************************/

/********************************************** Modul Prüfung ***********************************************/

function pruefung(menu)

        {
        alert("pruefung");

                if ((menu == 0) || (menu == 1) || (menu == 2))
                        {
                                check = 0;
                        alert("Check = 0 ");
                        }
                
                return check;
        }
        
/********************************************** Ende Modul Prüfung **********************************************/

/********************************************** Modul Festgeld **********************************************/

function festgeld(laufzeit)

{
alert("festgeld");
        if (laufzeit < 2)

                {
                        zinssatz = 3;
                }

        if ((laufzeit >= 2) && (laufzeit <= 10))

                {
                        zinssatz = 3;
                }

        if (laufzeit > 10)

                {
                        zinssatz = 5;
                }
        
        endkapital = zinsstaffel(anfangskapital,zinssatz);
        return endkapital;
}

/********************************************** Ende Modul Festgeld **********************************************/

/********************************************** Modul Schatzbrief **********************************************/

function schatzbrief(laufzeit)
{
alert("schatz");
        if (laufzeit < 2)

                {
                        zinssatz = 2;
                }

        if ((laufzeit >= 2) && (laufzeit <= 10))

                {
                        zinssatz = ((2/100)*1) + 3;
                }

        if (laufzeit > 10)

                {
                        zinssatz = (((2/100)*1)+((3/100)*9)) + 5;
                }
        
        endkapital = zinsstaffel(anfangskapital,zinssatz);
        return endkapital;

}

/********************************************** Ende Modul Schatzbrief **********************************************/

/********************************************** Modul Zinsstaffel **********************************************/

function zinsstaffel(laufzeit)
        {
                endkapital = anfangskapital * ( 1 + zinssatz / 100);
                return endkapital;
        }
        
/********************************************** Ende Modul Zinsstaffel **********************************************/


</script></head><body onload="main()">

</body></html>
 
Benenn die Funktion mal um, vllt. klappts dann.


btw: Das menu = prompt(...) muss in die while-Schleife, sonst kann man das Script nicht stoppen ;)
 
Danke klappt schon besser, aber irgendwie kommen jetzt die falschen funktionen rein. Aber das prompt musste ich vors while machen, als ich es im while gemacht hatte, klappte gar nichts.
 
Ich habe das Script vorhin auf meinem Rechner ausprobiert. Ich hab die Funktionen umbenannt und es hat funktioniert. Allerdings konnte ich das Script nicht abbrechen, in der While-Schleife ging es immer weiter -> ich musste im Taskmanager firefox.exe beenden.
 
Ok, hast du alle funktionen umbennant oder nur die Fkt. Schatzbrief und Festgeld?

Das mit dem Abbruch sollte ja kein Problem sein, da kann man ja was mit machen.
 
Ok, hast du alle funktionen umbennant oder nur die Fkt. Schatzbrief und Festgeld?

Das mit dem Abbruch sollte ja kein Problem sein, da kann man ja was mit machen.

Nur die beiden, das sind die einzigen die in der Fehlerkonsole (im FF: Extras -> Fehler-Konsole) stehen.
 
ok danke, weist du den Grund warum die zwei Fehler verursachen, also die Namen?

Würde mich interessieren, da ich JS ja gerade erst lerne.

Ich bedanke mich schon mal für deine Hilfe zur späten Stunde!
 
Liegt wohl daran:
Code:
        var festgeld;
        var schatzbrief;
Funktionen muss man in JS - anders als in vielen Programmiersprachen - nicht vorher definieren ;)
 
danke :-) das wusste ich nicht.
Habe mich heute nochmal dran gesetzt und nun klappt es. Gestern hatte ich es noch nicht zum laufen gebracht. Fehlten auch noch paar importe und auch das was du oben sagtest habe ich mal auf Gut Glück vorher versucht ;) aber da ich das ja jetzt gelesen habe weis ich ja schonmal bescheid.

Vielen dank für die Hilfe, habe ich wieder was gelernt ! :razz:
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben