Question sur HW pseudocode

voix
0

J'ai la question suivante, et ce que je suis le plus confus sur, comment faire la logique pour déterminer si un chèque est un mois de retard ou non.

La question est:

« Ecrire pseudocode pour un programme qui calcule les frais de service d'un client doit pour écrire un chèque. Le programme accepte le nom, la date à laquelle le chèque a été écrit (année, mois et jour) d'un client, la date (année, mois et jour) et le montant du chèque en dollars et en cents. le programme se poursuit jusqu'à ce qu'une valeur de eOF est rencontré. les frais de service est de 20 $ plus 2 pour cent du montant du chèque, plus 5 $ pour chaque mois écoulé depuis la vérification a été écrit. un chèque est un mois de retard dès qu'un nouveau mois commence, si un chèque écrit le 30 Septembre est d'un mois en retard le 1er Octobre »

Jusqu'à présent, ce que j'ai écris est maintenant:

Start
  string Name
  num AmountOwed
  num DateCheckWritten
  num CurrentDate
  num CheckAmount
  get Name, DateCheckWritten, CurrentDate, CheckAmount
  while eof
Créé 23/06/2010 à 23:20
source utilisateur
Dans d'autres langues...                            


4 réponses

voix
0

Je ne sais pas où votre problème est, mais je pense que vous avez deux questions à traiter:

  1. Quelle est la définition de la fin?
  2. Combien de mois est en retard cette vérification?

Donc, dans mon pseudo, j'aurais une étape qui détermine la fin du chèque est, puis une autre étape pour calculer les frais. A l'intérieur de la première étape, vous pouvez simplement soustraire les jours et diviser. Mais les directions disent dès qu'un nouveau mois arrive, il est un mois de retard. Donc, tout ce que vous avez à faire est mois soustractions.

Je ne sais pas ce que vous demandez, mais il semble que vous demandez des conseils, pas de code. J'espère que cela t'aides.

Créé 23/06/2010 à 23:31
source utilisateur

voix
0

Je vais supposer que c'est des devoirs, et en tant que telle, je vais essayer de montrer que vous dans la bonne direction.

Si vous attribuez des numéros à chaque mois (Jan = 1, février = 2, etc.), le nombre de mois entre deux dates est facile à déterminer - combien de mois sont là entre Septembre (= 9) et mai (= 5)?

L'autre chose à prendre en compte est l'année - pour chaque année, le chèque est en retard, vous devrez également ajouter encore douze mois. Cela fonctionne de la même que pour les mois.

Besoin détail supplémentaire, ne hésitez pas à me le faire savoir.

Créé 23/06/2010 à 23:33
source utilisateur

voix
0

Simplifier, appuyez sur les principaux points, puis le décomposer de plus en plus, écrivez comment vous dire à votre grand-mère cela a fonctionné.

vous pourriez commencer avec quelque chose comme

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
Créé 23/06/2010 à 23:35
source utilisateur

voix
1

Puisque vous ne devez pas traiter avec les jours, l'algorithme est très simple:

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

Bonne chance avec le reste du problème!

Créé 23/06/2010 à 23:39
source utilisateur

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