C++ scanf wird übersprungen?



  • Hi

    ich habe ein kleines C programm zur leasing-berechnung geschrieben, eignetlich ganz simpel. Das problem liegt dabei das ich nur die erste zahl einlesenkann die anderen werden einfach übersprungen und nur die formatierten ausgaben werden gemacht..

    Ich hoffe jemand kennt das Problem 😞

    Vielen Dank im Voraus 🙂

    Grüsse aus der Schweiz

    Sven

    /*****************************************************************************
    *  Include Files
    *****************************************************************************/
    #include <stdlib.h> /* Funktionsbibliothek: Hilfsfunktionen */
    #include <stdio.h>  /* Funktionsbibliothek: Standard Ein- Ausgabe */
    
    /*****************************************************************************
    * Globale Deklarationen und Definitionen
    *****************************************************************************/
    float Preis;
    float Rest;
    float Zins;      
    int Jahre;
    float Amortisation;
    float Rate;
    float Dividend;
    float Zinskosten;
    int Monate;
    
    /*****************************************************************************
    ******************************** HAUPTPROGRAMM *******************************
    *****************************************************************************/
    int main(void) {
    
      //Intro
      printf ("Dieses Programm errechnet Ihnen die Leasing-Monatsrate\n\n");
    
      //Eingabe
      printf("Bitte geben Sie den Nettopreis ein...");
      scanf ("%2.f", &Preis);
    
      printf("... den Restwert ein ...");
      scanf ("%2.f", &Rest);
    
      printf("... den nominalen Zins ein ...");
      scanf ("%2.f", &Zins);
    
      printf("..und schlussendlich, geben Sie bitte die Leasing Laufzeit in Anzahl "
             "Jahre ein :)");
      scanf ("%d", &Jahre);
    
      //Verarbeitung
      Dividend = (Preis + Rest) * Zins * Jahre;
    
      Zinskosten = Dividend / 200;
    
      Amortisation = Preis - Rest;
    
      Monate = Jahre * 12;
    
      Rate = (Zinskosten + Amortisation) / Monate;
    
      //Ausgabe
      printf("Die Monatsrate lautet %2.f\n\n\n", Rate);
    
      system ("PAUSE");
      return(0);
    }
    


  • Deine Formatierungsstrings sind ja auch ungültig, so wie ich das sehe.

    Das muss

    scanf ("%f", &Rest);
    

    heißen.



  • ojaa stimmt dummer fehler 😃

    Vielen Dank¨

    Gruss


Anmelden zum Antworten