Ruby :: Aufgabe #42
1 Lösung

Bei Addition von Tage nur Werktage beachten
Anfänger - Ruby
von Gustl
- 22.07.2013 um 11:04 Uhr
Schreibe ein Programm welches die Anzahl der addierenden Tage abfrägt und dann das Datum ausgibt.
Bei der Addition der Tage sollen aber nur die Werktage (Geschäftstage): Montag, Dienstag, Mittwoch, Donnerstag und Freitag beachtet werden.
Beispiel: Heute ist der 22.07. (Montag), wenn ich nun 7 Tage eingebe soll der 31.07. (Mittwoch) ausgegeben werden.
Bei der Addition der Tage sollen aber nur die Werktage (Geschäftstage): Montag, Dienstag, Mittwoch, Donnerstag und Freitag beachtet werden.
Beispiel: Heute ist der 22.07. (Montag), wenn ich nun 7 Tage eingebe soll der 31.07. (Mittwoch) ausgegeben werden.
Lösungen:
Vermutlich habe ich es viel zu umstaendlich gemacht, wie ich mich kenne ;)
Ruby-Code

class Werktage def initialize tage @tage = tage exit(1) if @tage < 1 or @tage.respond_to? :include @start = Time.now end def addiere differenz = 0 testtag = @start.dup while @tage > 0 do testtag += (60*60*24) differenz += 1 if testtag.wday < 6 and testtag.wday > 0 @tage -= 1 else @tage += 0 end end @start +=(60*60*24*differenz) end end puts "Heute haben wir den: #{Time.now.strftime('%A, %d. %B %Y')}" print 'Wieviele Werktage haben sie Zeit?: ' input = gets.to_i wann = Werktage::new(input) puts "Sie haben Zeit bis: #{wann.addiere.strftime('%A, %d. %B %Y')}"