Otázka o pseudokódu pro HW

hlasů
0

Mám následující otázku, a to, co jsem si nejvíce zmatený dál, je to, jak dělat logiku pro určení, zda kontrola je jeden měsíc pozdě, nebo ne.

Otázkou je:

„Napiš pseudokód pro program, který spočítá servisního poplatku ze zákazníka dluží pro psaní špatné kontroly. Program akceptuje jméno zákazníka, datum kontrola byla napsána (rok, měsíc a den), aktuální datum (rok, měsíc a den), a množství šeku v dolarech a centech. Program bude pokračovat, dokud se setkal s hodnotou eof. poplatek je $ 20 PLUS 2 procent z částky šeku, plus 5 $ za každý měsíc, který uplynul od kontroly byla napsána. šek je jeden měsíc pozdě, jakmile se nový měsíc začíná, takže špatná kontrola napsaný na 30. září je jeden měsíc po lhůtě splatnosti 1. října“

Zatím co jsem psát nyní zní:

Start
  string Name
  num AmountOwed
  num DateCheckWritten
  num CurrentDate
  num CheckAmount
  get Name, DateCheckWritten, CurrentDate, CheckAmount
  while eof
Položena 23/06/2010 v 23:20
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
0

Nejsem si jistý, kde je váš problém spočívá, ale myslím, že máte dvě otázky, které se zabývají:

  1. Jaká je definice v poslední době?
  2. Kolik měsíců pozdě, je to kontrola?

Takže podle mého pseudokódu, musel bych krok, který určuje, jak dlouho kontrola je, a pak další krok pro výpočet poplatku. Uvnitř první krok, mohli jste právě odečíst dny a propasti. Ale směry říkají, jakmile se nový měsíc přijde, je to jeden měsíc zpoždění. Takže vše, co opravdu musíte udělat, je Odečíst měsíců.

Nejste si jisti, co ještě žádáte, ale zdá se, žádáte o vedení, nikoli kódu. Snad to pomůže.

Odpovězeno 23/06/2010 v 23:31
zdroj uživatelem

hlasů
0

Budu předpokládat, je to domácí úkol, a jako takový se budu snažit jen bod, který ve správném směru.

Pokud přiřadíte čísla každého měsíce (Jan = 1, Feb = 2, atd), pak počet měsíců mezi dvěma daty, je snadné určit - kolik měsíců jsou tam od září (= 9) a May (= 5)?

Další věc, vzít v úvahu, je rok - za každý rok Kontrola je pozdě, budete také muset přidat dalších dvanáct měsíců. To funguje stejně jako několik měsíců.

Potřebovat žádné další podrobnosti, neváhejte a dejte mi vědět.

Odpovězeno 23/06/2010 v 23:33
zdroj uživatelem

hlasů
0

Zjednodušit, hit hlavní body a poté ji rozebrat více, napište to, jak byste informovat svého babička to fungovalo.

můžete začít s něčím, jako je

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
Odpovězeno 23/06/2010 v 23:35
zdroj uživatelem

hlasů
1

Vzhledem k tomu, nemusíte se zabývat dnů algoritmus je velmi jednoduchý:

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

Hodně štěstí se zbytkem tohoto problému!

Odpovězeno 23/06/2010 v 23:39
zdroj uživatelem

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