2017-10-06 16 views
0

Mon objectif est de calculer et d'afficher un calendrier de remboursement de prêts. La chose sur laquelle j'aimerais obtenir de l'aide, c'est ajouter les principes à l'équation et imprimer le calendrier de remboursement. Je ne sais pas si j'ai bien fait les calculs car je n'ai pas encore eu de cours de finances personnelles et je comprends encore le concept des prêts. Le calendrier de remboursement du prêt est basé sur le prix total d'une automobile, son taux d'intérêt et son paiement, en supposant qu'aucune somme d'argent n'est versée. Tous les frais et taxes sont inclus dans le prix et seront financés. Je dois également mettre le calendrier de remboursement à la fois à l'écran et un fichier - un mois par ligne. . Si l'utilisateur a un taux de crédit de 800, il obtient un taux d'intérêt annuel de 3%; 700+ obtient un taux d'intérêt de 5%; 600+ obtiennent un taux d'intérêt de 7%; Les points de crédit pour 700, 600 et moins de 600 sont laissés en blanc parce que je vais juste copier la partie de crédit de nouveau 800 mais changer les taux d'intérêt.Calcul de prêt de voiture (C++)

// This program calculates a loan depending on the pereson's credit score 
// how much they can pay per month. It almost outputs the month, principal, 
// payment, interest, and the money that's been applied 

#include <iostream> 
#include <cstdio> 
#include <iomanip> 
using namespace std; 

int main() { 
    int month = 0, creditScore = 0, whichCar; 
    double principle, payment = 0.0, interestPaid, applied, interestRate; 

    cout << fixed << setprecision(2) << showpoint;  // Sets total or whatever to 2 decimal points 
    cout << "---------------------------------------------" << endl; // Displays welcome banner 
    cout << "|           |" << endl; 
    cout << "|  JOLLY GOOD SHOW WE HAVE CARS AYEEE |" << endl; 
    cout << "|           |" << endl; 
    cout << "---------------------------------------------" << endl; 
    cout << endl; 
    cout << "Hey, I see you want a car. You can only purchase one car though." << endl; 
    cout << endl; 
    cout << "1. Furawree: $6,969.69" << endl;   // Displays menu of autos 
    cout << "2. Buggee: $420,420.420" << endl; 
    cout << "3. Sedon: $900" << endl; 
    cout << "4. Truck: $900,000.90" << endl; 
    cout << "5. Couppee: $22,222.22" << endl; 
    cout << endl; 
    cout << "Which car would you like to purchase?" << endl; // Asks user car type and user inputs car # 
    cout << "Please enter the number of the car: "; 
    cin >> whichCar; 
    cout << endl; 

    switch(whichCar) {  // If user choses a number 1-5, then it asks them how much they can pay each month for the car and their credit score 
     case 1:       // FURAWREE 
      principle = 6969.69; 
       break; 
     case 2:       // BUGGEE 
      principle = 420420.42; 
      break; 
     case 3:       // SEDON 
      principle = 900; 
      break; 
     case 4:       // TRUCK 
      principle = 900000.90; 
      break; 
     case 5:       // COUPPEE 
      principle = 22222.22; 
      break; 
     default:      // If user doesn't pick a number from 1-5 

      cout << "Yea uhhmmm we don't have that sorry, go away." << endl; 
    } 
    cout << "Please enter how much you can pay each month for this Furawree: "; 
    cin >> payment; 
    cout << "Please enter your credit score: "; 
    cin >> creditScore; 
     if (creditScore >= 800) { 
      interestRate = .03/12; 
      do { 
       interestPaid = principle * interestRate; 
       applied = payment - interestPaid; 
       month++; 
      } while (principle < 0) ; 
       cout << "Month " << " Principle " << " Payment " << " Interest " << " Applied " << endl; 
       cout << month << "  $" << principle << "  $" << payment << " " << interestPaid << "  $" << applied << endl; 

    } else if (creditScore >= 700) { 
      // Will be copied from the 800 credit score 

    } else if (creditScore >= 600) { 
      // Will be copied from the 800 credit score 

    } else { 
      // Will be copied from the 800 credit score 

    } 

    cout << endl; 
    cout << endl; 
    cout << "Your payment: $" << payment << endl; 
    cout << "Your credit score: " << creditScore << endl; 
    cout << endl; 
    cout << endl; 

    system("pause"); 
    return 0; 
} 
+1

Je ne vois pas de question spécifique ici malgré l'existence d'une petite montagne de code. Si vous avez besoin de mentorat ou d'encadrement, essayez des services comme [Codementor] (https://www.codementor.io), [Savvy] (https://www.savvy.is), [Hackhands] (https://hackhands.com), ou [airpair] (https://www.airpair.com). – tadman

+0

Utilisez les fonctions et les classes. Votre interface utilisateur doit être une représentation d'un état de programme sous-jacent, modifié par les actions de l'utilisateur. – Carbon

Répondre

1

Mate, vous devez corriger le code sous crédit - 800.

    condition de boucle
  • est incorrecte
  • Cout se trouve après la boucle, donc il sera imprimé une seule fois.
  • Le principe n'est pas incrémenté ni décrémenté. et vous vérifiez si le principe est inférieur à 0, mais le principe est défini plus de 0. de sorte que la boucle n'exécutera qu'une seule fois.

vous avez besoin d'un correctif quelque chose comme ça. Je viens d'affiner un petit peu. pls fixer le reste

if (creditScore >= 800) { 
     interestRate = .03/12; 
     cout << "Month " << " Principle " << " Payment " << " Interest " << " Applied " << endl; 
     cout <<"-------------------------------------------------------" << endl; 
     do { 
       interestPaid = principle * interestRate; 
       applied = payment - interestPaid; 
       principle = principle - applied; 
       cout << month << "  $" << principle << "  $" << payment << " " << interestPaid << "  $" << applied << endl; 

       month++; 
     } while (principle > 0) ; 

} else if (creditScore >= 700) { 

Note: - Le code ci-dessus ne suit pas les concepts orientés objet. Ce n'est même pas une programmation fonctionnelle. Introduire des classes, des méthodes pour réduire les maux de tête et il aidera à déboguer. utilisez \t\t pour obtenir des espaces à la place des espaces.

Ce code nécessitera un gros travail pour le rendre professionnel.