Ich habe Probleme, einen Weg zu finden, um das Programm von mehr als 5 $ 1.000 Stipendien und 10 $ 500 Stipendien "abzuschneiden". Wie würde ich es nach 5 und 8 abschneiden von dem, was ich bereits habe? Mein Code ist unter dem ProblemWie kann ich maximal Stipendien vergeben?
Eine Abteilung von Programmierern für ein besseres Morgen ist ihre Stipendien Stiftung Fonds. Sie bieten jährliche Stipendien für Studenten, die eine Hand in Mengen von 1000, 500 und 250 Dollar benötigen. Das Geld für diese Stipendien kommt von Zinsen, die auf früheren Spenden und Investitionen getätigt wurden.
Sie werden ein Programm erstellen, um die jährlichen Zinsen in den Fonds zu berechnen und bestimmen, wie viele $ 1000, $ 500 und $ 250 Stipendien vergeben werden können. Zum Beispiel, wenn der Fonds am 30. September 2016 500.000 Dollar hatte und der jährliche Zinssatz 3 Prozent betrug, dann hat der Fonds 515.000 Dollar am Ende dieses Septembers. Dies gibt ihnen 15.000 $ als Stipendium Geld auszuzahlen.
Wenn möglich, bevorzugt der Fonds 5 $ 1000 Stipendien, 10 $ 500 Stipendien und so viele $ 250, wie sie Geld übrig haben. Mit $ 15.000 kann der Fonds 5 $ 1000 Stipendien, 10 $ 500 Stipendien und 20 $ 250 Stipendien vergeben. Ihr Programm sollte diese Informationen für den Benutzer ausdrucken.
Wenn dies nicht möglich ist, wird der Fonds so viele Stipendien im Wert von $ 1000 und $ 500 vergeben, wie sie können.
Zum Beispiel, wenn sie $ 4,750 hatten, würden sie 4 $ 1000 Stipendien, 1 $ 500 Stipendium und 1 $ 250 Stipendium vergeben.
Eingang Spezifikation
- Die Menge an Geld in dem Fond, n, wie von vor einem Jahr, wobei n größer oder gleich auf 0 (n Dezimalstellen enthalten kann)
- Die jährliche Prozentrate, p, als eine ganze Zahl, wobei p größer als Null ist.
Ausgabespezifikation
Ausgabe das Ergebnis im folgenden Format:
X $1000 scholarships will be awarded.
Y $500 scholarships will be awarded.
Z $250 scholarships will be awarded
Mein Code so weit:
#include <stdio.h>
#include <math.h>
//main function
int main() {
int ten, five, twofive, leftovers_ten, leftovers_five, scholarship_money;
float fund, interest;
printf("How much was in the fund last year?\n");
scanf("%f", &fund);
printf("What is the yearly percentage rate?\n");
scanf("%f", &interest);
scholarship_money = fund * (interest/100);
{
if(ten < 5) {
ten = scholarship_money/1000;
printf("%d $1000 scholarships will be awarded.\n", ten);
}
else {
ten = 5;
printf("5 $1000 scholarships will be awarded.\n");
}
}
leftovers_ten = scholarship_money - (ten * 1000);
{
if(five < 10) {
five = leftovers_ten/500;
printf("%d $500 scholarships will be awarded.\n", five);
}
else {
five = 10;
printf("10 $500 scholarships will be awarded.\n");
}
}
leftovers_five = leftovers_ten - (five * 500);
twofive = leftovers_five/250;
printf("%d $250 scholarships will be awarded.\n", twofive);
return 0;
}
Wie [diese Hausaufgabe] (http: //cboard.cprogramming.com/c-programming/171235-can-jemand-help-cant-get-workings.html)? Dies ist eines der zahlreichen Geldprobleme, die hier gepostet werden, der Newbie-Fehler besteht darin, in Gleitkomma zu arbeiten. –
@Weather Vane Geld hat Probleme, sollte man in irgendeinem Datentyp arbeiten. [verschiedene Ausgaben] (http://stackoverflow.com/a/32214586/2410359) – chux
@chux gute Antwort aber hat Ihre Kristallkugel sagen unsere lokalen Sparzinssatz würde auf 0,5% fallen? –