[C/C++] hilfe bei einer if anweisung

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Dimi, 24. Oktober 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 24. Oktober 2006
    hilfe bei einer if anweisung

    hey, ich schreib morgen in programmiersprachen ne kurzarbeit und die lehrerin hat uns des heute nich mehr erklärt... wir sollen es zu hause versuchen. habs grad probiert aber es simmt noch nich ganz.

    hier erstmal der code für das programm(es geht um Kapitalverzinsung,erklärung des problems folgt):
    Code:
    #include <conio.h>
    #include <stdio.h>
    #include <math.h>
    
    void main()
    {
     //Variablen
     float ek=0,ak=0,p=0;
     int lz=0,i=0;
     //Programmanfang
     printf ("\t\t\t\tJährliche Kapitalverzinsung");
     printf ("\n\nGeben Sie das Anfangskapital ein:");
     scanf ("%f",&ak);
     printf ("\nGeben Sie die Laufzeit ein:");
     scanf ("%d",&lz);
     printf ("\nGeben Sie den Zinssatz ein:");
     scanf ("%f",&p);
     for (i=1;i<=lz;i++)
     {
     //Berechnung
     ek=ak*pow((1+p/100),i);
     //Ergebnisausgabe
     if (ek>=2*ak)
     {
     printf ("\n\nIhr Kapital hat sich nach %3d Jahren verdoppelt auf %.2f Euro",i,ek);
     }
     else
     {
     printf ("\n\nNach %3d Jahren erhalten Sie %.2f Euro",i,ek);
     }
     if (wherey()>=22)
     {
     printf ("\n\n\tweiter mit beliebiger Taste");
     getch();
     clrscr();
     }
     }
    }
    
    Ich hoffe ihr könnt erkennen was das programm macht, es gibt einem das verzinste kapital nach n jahren aus...
    zur erklärung der variablen: ak=anfangskapital ek=endkapital lz=laufzeit p=zinssatz
    Jetzt sollten wir es so einrichten,dass wenn sich das kapital verdoppelt es auch einmal angezeigt werden soll ich habe es so versucht:
    Code:
    if (ek>=2*ak)
     {
     printf ("\n\nIhr Kapital hat sich nach %3d Jahren verdoppelt auf %.2f Euro",i,ek);
     }
    
    blos fehlt dort noch irgendwas, denn so wie es im moment ist gibt es mir ab dem zeitpunkt ab dem es sich verdoppelt hat nur noch diesen satz aus. aber ich müsste auf dem richtigen weg sein.

    hoffe ihr könnt alles verstehen und mir helfen. wenn was nich klar is fragt nochmal.
    bitte so schnell wie möglich antworten ich schreibe morgen schon:baby:
    danke für jede hilfe!
     
  2. 24. Oktober 2006
    AW: hilfe bei einer if anweisung

    if (ek==2*ak)
    {
    printf ("\n\nIhr Kapital hat sich nach %3d Jahren verdoppelt auf %.2f Euro",i,ek);
    }

    Wenn sich das Kapital verdoppelt und du es anzeigen willst genau dann wenn es das doppelte ist
    musst du den == Vergleichs Operator benutzen
     
  3. 24. Oktober 2006
    AW: hilfe bei einer if anweisung

    ja aber es soll auch angezeigt werden wenn es nicht genau das doppelte is, also des 1. größere ergebnis soll dann angezeigt werden.aber nur 1 mal!! ich kriegs nich hin...

    hab ich vergessen zu sagen. sry
     
  4. 24. Oktober 2006
    AW: hilfe bei einer if anweisung

    versuchs mal mit break; damit beendet man die Schleife
     
  5. 24. Oktober 2006
    AW: hilfe bei einer if anweisung

    bringt mir nix...
     
  6. 24. Oktober 2006
    AW: hilfe bei einer if anweisung

    habs mir dem Borland Kompiler kompeliert und bei mir kommen keine mehrere IF Anweisungen
     
  7. 25. Oktober 2006
    AW: hilfe bei einer if anweisung

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int main()
    {
     //Variablen
     float ek=0,ak=0,p=0;
     int lz=0,i=0;
     //Programmanfang
     printf ("\t\t\t\tJährliche Kapitalverzinsung");
     printf ("\n\nGeben Sie das Anfangskapital ein:");
     scanf ("%f",&ak);
     printf ("\nGeben Sie die Laufzeit ein:");
     scanf ("%d",&lz);
     printf ("\nGeben Sie den Zinssatz ein:");
     scanf ("%f",&p);
     for (i=1;i<=lz;i++)
     {
     //Berechnung
     ek=ak*pow((1+p/100),i);
     //Ergebnisausgabe
     if (ek>=2*ak)
     {
     printf ("\n\nIhr Kapital hat sich nach %3d Jahren verdoppelt auf %.2f Euro",i,ek);
     //zähler höhersetzen damit schleife beendet ist
     i=lz+1;
     }
     else
     {
     printf ("\n\nNach %3d Jahren erhalten Sie %.2f Euro",i,ek);
     }
     }
    }
    
     
  8. 25. Oktober 2006
    AW: hilfe bei einer if anweisung

    naja schleife sollte sich eigentlich nich beenden... hab heute die arbeit geschrieben und fast richtig gehabt^^ zum glück ist diese aufgabe nicht drangekommen...
    ich close mal. bw habt ihr von mir bekommen.
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.