C-Aufgabe. Ich peil nix :(



  • hmmm. also das mitm %f werd ich ma anguckn. ansonsten poste ich nochma. naja. ich geh jetz ins bett. 🙂
    cya



  • Ich habs mit ner Klasse gelöst aber was ich witzig finde:

    Mein Mathelehrer hat nicht übertrieben als er uns vom sog. Jesuspfennig erzählte, legt mal 0.01 (diesmal wohl Cent) bei 2 % Zinsen auf 2000 Jahre an 😃
    bereits nach 370 Jahren hat man ausgesorgt 😉

    Irgendwie krass 😮



  • ...
    Ein Kapital k wird n Jahre lang mit Zinseszins verzinst
    ...

    @SirLant
    Deine Zinsformel ist die einfach Zinsformel, aber kein ZINSESZINS! D. h. die Formel, die von schmank ganz am Anfang gepostet wurde ist schon so richtig.
    Ist ja schön und gut, dass deine Formel kürzer und schneller ist, aber sie ist leider definitiv falsch!

    @Schmank
    Bisher wurde eigentlich alles gesagt was du brauchst. Vielleicht ist aber eine kleine Zusammenfassung nicht schlecht bei dem ganzen Durcheinander:

    1. Für Kapital und z bzw. zz musst du Fließkommazahlen (float oder double) verwenden.
    2. Beim Teilen von Zahlen darauf achten dass du durch eine Fließkommazahl teilst ( /100 ist was anderes als /100.0; z. B. 10/100 = 0 ; 10/100.0 = 0.1)
    3. Man potenziert die Zahl immer mit ihr selbst 😉
    4. Verwende die Formel, die dir auch vorgegeben ist.

    Und nun viel Erfolg.



  • Also ich sehe nicht wieso du nicht das Programm verwenden solltest, das SirLant am Anfang vorgeschlagen hatte.
    Es benutzt doch die Formel b=k*(1+p/100)^n.



  • Ich habs mit ner Klasse gelöst aber was ich witzig finde:

    Du bist hier in C, da gibts keine Klassen. Und selbst wenn, dürftet ihr Klassen ja auch noch nicht besprochen haben, wenn ihr noch keine Funktionen benutzen dürft...aber wenns richtig funktioniert, dann wird dein Lehrer ja hoffentlich zufrieden sein. 😃



  • Hey ich bin nicht der Eröffner dieses Threads sondern nur ein Mitleser 😉
    Und ich hab das Problem halt mit ner Klasse gelöst und fand die Jesuspfenniggeschichte irgendwie witzig ( kommt mehr geld bei heraus als auf der gesamten Erde vorhanden 😃 )



  • Murks...ja, ok, hab mich verlesen. Dann ignorier meinen letzten Post 😃



  • juhuuu 🙂
    mit diesem code scheint es nun zu klappen:

    # include <stdio.h>  
    # include <ctype.h>  
    
    int main()  
    {  
    float k, n, p, klammer, i, b, klammer_fertig=1, jahr;  
    scanf("%f", &k);  
    scanf("%f", &n);  
    scanf("%f", &p);  
    klammer=p/100+1;
    printf("Jahr | Zinsen\n");
    for (i = 1; i <= n; i++)
    {
    klammer_fertig=klammer_fertig*klammer;  
    b=klammer_fertig*k;
    jahr++;
    printf("\n%3.0f", jahr);
    printf("     %3.4f\n", b);
    }
    scanf("%f", &p);
    return 0;  
    }
    

    daher erstmal fettes thx an euch.
    oder findet jemand noch einen fehler? also die tests waren positiv 🙂



  • Also ad hoc, auch wenn dus schon gehört hast, solltest du Variablennamen sinnvoll vergeben. Du wirst wahrscheinlich in nem halben Jahr nicht mehr wissen, was Klammer eigentlich macht, was klammer_fertig bedeutet etc. Ich sprech da aus Erfahrung 😃

    .....auf Funktionalität hab ich das nicht getestet.



  • printf("\n%3.0f", jahr);
    printf("     %3.4f\n", b);
    

    Hier gibst du jahr aus, was eine Variable ist die du nirgends initialisiert hast. Du meinst hier sicherlich i. Was wie ich im übrigen bereits erwaehnt habe eine Integer Variable sein sollte. Was auch für die Zaehlvariable i in deiner Schleife gilt. (ich wusste bis jetzt nichteinmal das es einen ++ operator fuer float gibt) Die Ausgabe kannst du im übrigen auch in einer Anweisung schreiben.

    printf("\n%3.0f\t%3.4f\n", i,b);
    

    Das scanf("%f", &p); am Schluß macht für mich auch keinen Sinn.

    Anstelle von p/100+1; , hast du ja auch schon öfter gehört, sollte man lieber p/100.0+1.0 schreiben.

    Eine kleine Aufforderung zur Eingabe von Kapital,... bewirkt auch wahre Wunder.



  • ok. ich korrigier mal 😉

    # include <stdio.h>   
    # include <ctype.h>   
    
    int main()   
    {   
    float k, n, p, klammer, b, klammer_fertig=1;   
    int i, jahr;
    printf("Gib Kapital ein:");
    scanf("%f", &k);   
    printf("Gib Jahre ein:");
    scanf("%f", &n);   
    printf("Gib Zinssatz ein:");
    scanf("%f", &p);   
    klammer=p/100.0+1.0; 
    printf("Jahr | Zinsen\n"); 
    for (i = 1; i <= n; i++) 
    { 
    klammer_fertig=klammer_fertig*klammer;   
    b=klammer_fertig*k; 
    jahr++; 
    printf("\n%3.0d", jahr); 
    printf("     %3.4f\n", b); 
    } 
    return 0;   
    }
    

    so jetzt in ordnung? 🙂


Anmelden zum Antworten