Frage zum Pseudo-Code für HW

stimmen
0

Ich habe folgende Fragen, und was ich am meisten verwirrt auf, ist wie für die Bestimmung der Logik zu tun, wenn ein Scheck 1 Monat spät ist oder nicht.

Die Frage ist:

„Schreibt Pseudo-Code für ein Programm, das die Servicegebühr von einem Kunden berechnet schuldet für einen ungedeckten Scheck zu schreiben. Das Programm akzeptiert einen Kundennamen, das Datum des Scheck geschrieben wurde (Jahr, Monat und Tag), das aktuelle Datum (Jahr, Monat und Tag), und die Höhe des Schecks in Dollar und Cent. das Programm wird fortgesetzt, bis ein eOF-Wert festgestellt wird. die Servicegebühr beträgt $ 20 plus 2 Prozent der Höhe des Schecks, plus $ 5 für jeden Monat, die seit der Prüfung bestanden hat geschrieben wurde. ein Scheck ist ein Monat spät, sobald ein neuer Monat beginnt-so eine schlechte Kontrolle am 30. September geschrieben ein Monat überfällig am 1. Oktober“

Bisher, was ich schreibe jetzt haben, ist:

Start
  string Name
  num AmountOwed
  num DateCheckWritten
  num CurrentDate
  num CheckAmount
  get Name, DateCheckWritten, CurrentDate, CheckAmount
  while eof
Veröffentlicht am 23/06/2010 um 23:20
quelle vom benutzer
In anderen Sprachen...                            


4 antworten

stimmen
0

Ich bin mir nicht sicher, wo das Problem liegt, aber ich denke, Sie zwei Fragen beschäftigen müssen:

  1. Was ist die Definition von spät?
  2. Wie viele Monate zu spät ist diese Prüfung?

Also in meinem Pseudo-Code, würde ich einen Schritt, die bestimmt, wie spät eine Prüfung ist, und dann einen weiteren Schritt, um die Gebühr zu berechnen. Innerhalb des ersten Schritt könnte man einfach die Tage und Dividieren subtrahieren. Aber die Richtungen sagen, sobald ein neuer Monat zusammen kommt, es ist ein Monat spät. Also alles, was Sie wirklich tun müssen, ist subtrahieren Monate.

Nicht sicher, was Sie sonst noch fragen, aber es scheint, dass Sie für die Führung bitten, nicht-Code. Hoffe das hilft.

Beantwortet am 23/06/2010 um 23:31
quelle vom benutzer

stimmen
0

Ich gehe davon aus diesen Hausaufgaben sind, und als solche werde ich dich nur zeigt in der richtigen Richtung versuchen.

Wenn Sie Zahlen jeden Monat (Jan = 1, Februar = 2, etc.) vergeben dann die Anzahl der Monate zwischen zwei Daten ist leicht zu bestimmen - wie viele Monate gibt es zwischen September (= 9) und Mai (= 5)?

Die andere Sache zu berücksichtigen, ist das Jahr - für jedes Jahr Check spät ist, werden Sie auch weitere 12 Monate hinzufügen. Dies funktioniert genauso wie für Monate.

Sie benötigen kein zusätzliches Detail, fühlen Sie sich frei, mich zu informieren.

Beantwortet am 23/06/2010 um 23:33
quelle vom benutzer

stimmen
0

Vereinfachen, schlug die wichtigsten Punkte und dann brechen immer mehr, schreiben Sie es, wie Sie Ihre Oma sagen würde, es hat funktioniert.

Sie mit etwas anfangen könnte wie

Start
While there are more bad checks
  get the service charge 
  add the service charge to the account
record the updates

get the service charge
  charge starts at $20
  add to the charge $5 multiplied by number of months
Beantwortet am 23/06/2010 um 23:35
quelle vom benutzer

stimmen
1

Da Sie nicht mit Tagen zu tun haben, ist der Algorithmus sehr einfach:

MonthsLate = (CurrentDate.Year - DateCheckWritten.Year) * 12 
                  + (CurrentDate.Month - DateCheckWritten.Month)

Viel Glück mit dem Rest des Problems!

Beantwortet am 23/06/2010 um 23:39
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more