Domanda su pseudocodice per HW

voti
0

Ho la seguente domanda, e quello che sto più confuso su, è come fare la logica per determinare se un assegno è di un mese in ritardo o non.

La domanda è:

Scrivere pseudocodice per un programma che calcola il costo del servizio di un cliente deve per la scrittura di un assegno. Il programma accetta il nome di un cliente, la data in cui il controllo è stato scritto (anno, mese e giorno), la data corrente (anno, mese e giorno), e l'ammontare dell'assegno in dollari e centesimi. il programma continua fino a quando viene rilevato un valore EOF. il costo del servizio è di $ 20 più 2 per cento dell'importo dell'assegno, più $ 5 per ogni mese che è passato dal momento che il controllo è stato scritto. un controllo è di un mese in ritardo, non appena un nuovo mese inizia così un assegno scritto il 30 settembre è di un mese in ritardo il 1 ° ottobre

Finora quello che ho scrivere ora è:

Start
  string Name
  num AmountOwed
  num DateCheckWritten
  num CurrentDate
  num CheckAmount
  get Name, DateCheckWritten, CurrentDate, CheckAmount
  while eof
È pubblicato 23/06/2010 alle 23:20
fonte dall'utente
In altre lingue...                            


4 risposte

voti
0

Non sono sicuro di dove il vostro problema si trova, ma penso che ci sono due questioni da affrontare:

  1. Qual è la definizione di ritardo?
  2. Quanti mesi di ritardo è questo controllo?

Così nel mio pseudocodice, avrei un passo che determina la fine di un controllo è, e poi un altro passo per calcolare la tassa. All'interno del primo passo, si può solo sottrarre i giorni e dividere. Ma le indicazioni dicono che non appena un nuovo mese arriva, ma è di un mese di ritardo. Quindi tutto quello che dovete fare è mesi sottrarre.

Non so cos'altro si sta chiedendo, ma sembra si sta chiedendo per la guida, non il codice. Spero che questo ti aiuti.

Risposto il 23/06/2010 a 23:31
fonte dall'utente

voti
0

Ho intenzione di assumere questo è compiti a casa, e come tale cercherò di solo il punto è nella giusta direzione.

Se si assegnano i numeri per ogni mese (gen = 1, Feb = 2, ecc), quindi il numero di mesi tra due date è facile da determinare - quanti mesi ci sono tra settembre (= 9) e maggio (= 5)?

L'altra cosa da tenere in considerazione è l'anno - per ogni anno la verifica è in ritardo, si dovrà anche aggiungere altri dodici mesi. Questo funziona lo stesso che per mesi.

Hai bisogno di alcun dettaglio in più, non esitate a farmi sapere.

Risposto il 23/06/2010 a 23:33
fonte dall'utente

voti
0

Semplificare, ha colpito i punti principali e poi scomporlo sempre di più, scrivere come si dovrebbe dire a tua nonna ha funzionato.

si potrebbe iniziare con qualcosa di simile

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
Risposto il 23/06/2010 a 23:35
fonte dall'utente

voti
1

Dal momento che non si ha a che fare con i giorni, l'algoritmo è molto semplice:

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

Buona fortuna con il resto del problema!

Risposto il 23/06/2010 a 23:39
fonte dall'utente

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