<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten]]></title><description><![CDATA[<p>Hallo,</p>
<p>wir haben in der FH die Aufgabe bekommen eine Tageszeit Funktion zu schreiben und um eine Funtkion unserer Wahl zu ergänzen.</p>
<p>Hier mal die Dateien</p>
<p>daytime.h</p>
<pre><code class="language-cpp">// daytime.h: interface for the daytime class.
//
//////////////////////////////////////////////////////////////////////

#pragma once

class daytime  
{
	private:
		int hour;
		int minute;
		int second;
		static int NumberOfTimeObjekts;

	public:
		daytime();
		~daytime();
		void print12hFormat();
		void print24hFormat();
		void setHMS(int, int, int);
		void endTime();
		int getTimeInSeconds();
		void setS(int);
		void timeInBit();

};
</code></pre>
<p>main.cpp</p>
<pre><code class="language-cpp">//////////////////////////////////////////////////////////////////////
// File: main.cpp
// Author: Gunnar Goebel
// Date: 06-04-28
// Version 1.0
// Copyright: This File is released under a creative Common Licence. See Link for further Information
// Licence Link: http://creativecommons.org/licenses/by-nc-sa/2.0/de/
//////////////////////////////////////////////////////////////////////
#include &quot;daytime.h&quot;
#include &lt;iostream&gt;

using std::cout; using std::endl;

int getDurationInSeconds(daytime, daytime);

int main() {

	daytime begin, end, duration;
	// define Starttime: 18:05:00
	begin.setHMS(18,5,0);
	cout &lt;&lt; &quot;Das Abendessen beginnt um: &quot;;
	// Display Time in 24h 
	begin.print24hFormat();
	cout &lt;&lt; &quot; oder in Bit: &quot;;
	begin.timeInBit();
	// define Endtime: 20:14:10
	end.setHMS(20,40,59);
	cout &lt;&lt; &quot;Das Abendessen endet um: &quot;;
	// Display Time in 24h
	end.print24hFormat();
	cout &lt;&lt; &quot; oder in Bit: &quot;;
	end.timeInBit();
	// calculate Time between Start an End 
	int durationInSeconds = getDurationInSeconds(end, begin);
	// Display Time in hours, minutes and seconds
	duration.setS(durationInSeconds);
	cout &lt;&lt; &quot;Das Abendessen dauert: &quot;;
	// Display Time in 24h
	duration.print24hFormat();
	cout &lt;&lt; &quot; oder in Bit: &quot;;
	duration.timeInBit();

return 0;
}
</code></pre>
<p>daytime.cpp</p>
<pre><code class="language-cpp">// File: daytime.cpp: implementation of the daytime class.
// Author: Gunnar Goebel
// Date: 06-04-28
// Version 1.0
// Copyright: This File is released under a creative Common Licence. See Link for further Information
// Licence Link: http://creativecommons.org/licenses/by-nc-sa/2.0/de/
//////////////////////////////////////////////////////////////////////

#include &quot;daytime.h&quot;
#include &lt;iostream&gt;
#include &lt;cassert&gt;
using namespace std;

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
int daytime::NumberOfTimeObjekts = 0;

daytime::daytime()
{
	++ NumberOfTimeObjekts;
	cout &lt;&lt; &quot;Vorhandene Objekte: &quot; &lt;&lt; NumberOfTimeObjekts &lt;&lt;endl;
}

daytime::~daytime()
{
	-- NumberOfTimeObjekts;
	cout &lt;&lt; &quot;Vorhandene Objekte: &quot; &lt;&lt; NumberOfTimeObjekts &lt;&lt;endl;
}

void daytime::print24hFormat()
{
	cout &lt;&lt; ( hour &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; hour &lt;&lt; &quot;:&quot;
         &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute &lt;&lt; &quot;:&quot;
         &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second;
}

void daytime::print12hFormat()
{
	cout &lt;&lt; (( hour==0 || hour==12 ) ? 12 : hour % 12 )
         &lt;&lt; &quot;:&quot; &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute
         &lt;&lt; &quot;:&quot; &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second
         &lt;&lt; ( hour &lt; 12 ? &quot; AM&quot; : &quot; PM&quot; );
}

void daytime::setHMS(int HMShour, int HMSminute, int HMSsecond)
{
	assert(hour &lt; 24);
	assert(minute &lt; 60);
	assert(second &lt; 60);
	HMShour = HMShour &gt; 0 ? HMShour : -HMShour;
	hour = HMShour;
	HMSminute = HMSminute &gt; 0 ? HMSminute : -HMSminute;
	minute = HMSminute;
	HMSsecond = HMSsecond &gt; 0 ? HMSsecond : -HMSsecond;
	second = HMSsecond;
}

void daytime::endTime()
{
	cout &lt;&lt; &quot;Abendessen endet um: &quot;;
	cout &lt;&lt; ( hour &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; hour &lt;&lt; &quot;:&quot;
		 &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute &lt;&lt; &quot;:&quot;
		 &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second &lt;&lt;endl;
}

int daytime::getTimeInSeconds()
{
	int sec;
	sec = hour*60*60 + minute*60 + second;
return sec;
}

void daytime::setS(int sec)
{
	assert(sec &lt; 86401);
	hour = sec/3600;
	sec = sec%3600;
	minute = sec/60;
	second = sec%60;
}

void daytime::timeInBit()
{
	int number, number1, number2, number3, number4, number5;

	number = hour;
	number5 = number%2;
	number = number/2;
	number4 = number%2;
	number = number/2;
	number3 = number%2;
	number = number/2;
	number2 = number%2;
	number = number/2;
	number1 = number%2;
	number = number/2;
	number = number%2;

	cout &lt;&lt; number &lt;&lt; number1 &lt;&lt; number2 &lt;&lt; number3 &lt;&lt; number4 &lt;&lt; number5 &lt;&lt; &quot; : &quot;;

	number = minute;
	number5 = number%2;
	number = number/2;
	number4 = number%2;
	number = number/2;
	number3 = number%2;
	number = number/2;
	number2 = number%2;
	number = number/2;
	number1 = number%2;
	number = number/2;
	number = number%2;

	cout &lt;&lt; number &lt;&lt; number1 &lt;&lt; number2 &lt;&lt; number3 &lt;&lt; number4 &lt;&lt; number5 &lt;&lt; &quot; : &quot;;

	number = second;
	number5 = number%2;
	number = number/2;
	number4 = number%2;
	number = number/2;
	number3 = number%2;
	number = number/2;
	number2 = number%2;
	number = number/2;
	number1 = number%2;
	number = number/2;
	number = number%2;

	cout &lt;&lt; number &lt;&lt; number1 &lt;&lt; number2 &lt;&lt; number3 &lt;&lt; number4 &lt;&lt; number5 &lt;&lt; endl;
}

int getDurationInSeconds(daytime end, daytime begin)
{
	int durationInSeconds;
	durationInSeconds = end.getTimeInSeconds() - begin.getTimeInSeconds();
return durationInSeconds;
}
</code></pre>
<p>Ich würde nun gerne die Funktion der Anzeige in Bits nutzen bzw so ändern, das es nicht binär angezeigt wird, sondern in Worten.</p>
<p>Also die 1 = eins, 2 = zwei setzen etc.</p>
<p>Wie genau kann ich das nun machen?</p>
<p>würde es über</p>
<pre><code class="language-cpp">hour ==1 = eins
hour == 2 = zwei
etc
</code></pre>
<p>gehen?</p>
<p>Da wir zwar bereits Klassen durchnehmen, aber vorher sehr wenig Funktionen kennengelernt haben, kann ich nur mit sehr einfachen Dingen Arbeiten (keine schleifen etc)</p>
<p>MfG</p>
<p>Gunnar</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/146157/tageszeit-projekt-gt-zeitausagbe-in-worten</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 15:32:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/146157.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 04 May 2006 19:07:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Thu, 04 May 2006 19:07:30 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wir haben in der FH die Aufgabe bekommen eine Tageszeit Funktion zu schreiben und um eine Funtkion unserer Wahl zu ergänzen.</p>
<p>Hier mal die Dateien</p>
<p>daytime.h</p>
<pre><code class="language-cpp">// daytime.h: interface for the daytime class.
//
//////////////////////////////////////////////////////////////////////

#pragma once

class daytime  
{
	private:
		int hour;
		int minute;
		int second;
		static int NumberOfTimeObjekts;

	public:
		daytime();
		~daytime();
		void print12hFormat();
		void print24hFormat();
		void setHMS(int, int, int);
		void endTime();
		int getTimeInSeconds();
		void setS(int);
		void timeInBit();

};
</code></pre>
<p>main.cpp</p>
<pre><code class="language-cpp">//////////////////////////////////////////////////////////////////////
// File: main.cpp
// Author: Gunnar Goebel
// Date: 06-04-28
// Version 1.0
// Copyright: This File is released under a creative Common Licence. See Link for further Information
// Licence Link: http://creativecommons.org/licenses/by-nc-sa/2.0/de/
//////////////////////////////////////////////////////////////////////
#include &quot;daytime.h&quot;
#include &lt;iostream&gt;

using std::cout; using std::endl;

int getDurationInSeconds(daytime, daytime);

int main() {

	daytime begin, end, duration;
	// define Starttime: 18:05:00
	begin.setHMS(18,5,0);
	cout &lt;&lt; &quot;Das Abendessen beginnt um: &quot;;
	// Display Time in 24h 
	begin.print24hFormat();
	cout &lt;&lt; &quot; oder in Bit: &quot;;
	begin.timeInBit();
	// define Endtime: 20:14:10
	end.setHMS(20,40,59);
	cout &lt;&lt; &quot;Das Abendessen endet um: &quot;;
	// Display Time in 24h
	end.print24hFormat();
	cout &lt;&lt; &quot; oder in Bit: &quot;;
	end.timeInBit();
	// calculate Time between Start an End 
	int durationInSeconds = getDurationInSeconds(end, begin);
	// Display Time in hours, minutes and seconds
	duration.setS(durationInSeconds);
	cout &lt;&lt; &quot;Das Abendessen dauert: &quot;;
	// Display Time in 24h
	duration.print24hFormat();
	cout &lt;&lt; &quot; oder in Bit: &quot;;
	duration.timeInBit();

return 0;
}
</code></pre>
<p>daytime.cpp</p>
<pre><code class="language-cpp">// File: daytime.cpp: implementation of the daytime class.
// Author: Gunnar Goebel
// Date: 06-04-28
// Version 1.0
// Copyright: This File is released under a creative Common Licence. See Link for further Information
// Licence Link: http://creativecommons.org/licenses/by-nc-sa/2.0/de/
//////////////////////////////////////////////////////////////////////

#include &quot;daytime.h&quot;
#include &lt;iostream&gt;
#include &lt;cassert&gt;
using namespace std;

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
int daytime::NumberOfTimeObjekts = 0;

daytime::daytime()
{
	++ NumberOfTimeObjekts;
	cout &lt;&lt; &quot;Vorhandene Objekte: &quot; &lt;&lt; NumberOfTimeObjekts &lt;&lt;endl;
}

daytime::~daytime()
{
	-- NumberOfTimeObjekts;
	cout &lt;&lt; &quot;Vorhandene Objekte: &quot; &lt;&lt; NumberOfTimeObjekts &lt;&lt;endl;
}

void daytime::print24hFormat()
{
	cout &lt;&lt; ( hour &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; hour &lt;&lt; &quot;:&quot;
         &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute &lt;&lt; &quot;:&quot;
         &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second;
}

void daytime::print12hFormat()
{
	cout &lt;&lt; (( hour==0 || hour==12 ) ? 12 : hour % 12 )
         &lt;&lt; &quot;:&quot; &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute
         &lt;&lt; &quot;:&quot; &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second
         &lt;&lt; ( hour &lt; 12 ? &quot; AM&quot; : &quot; PM&quot; );
}

void daytime::setHMS(int HMShour, int HMSminute, int HMSsecond)
{
	assert(hour &lt; 24);
	assert(minute &lt; 60);
	assert(second &lt; 60);
	HMShour = HMShour &gt; 0 ? HMShour : -HMShour;
	hour = HMShour;
	HMSminute = HMSminute &gt; 0 ? HMSminute : -HMSminute;
	minute = HMSminute;
	HMSsecond = HMSsecond &gt; 0 ? HMSsecond : -HMSsecond;
	second = HMSsecond;
}

void daytime::endTime()
{
	cout &lt;&lt; &quot;Abendessen endet um: &quot;;
	cout &lt;&lt; ( hour &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; hour &lt;&lt; &quot;:&quot;
		 &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute &lt;&lt; &quot;:&quot;
		 &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second &lt;&lt;endl;
}

int daytime::getTimeInSeconds()
{
	int sec;
	sec = hour*60*60 + minute*60 + second;
return sec;
}

void daytime::setS(int sec)
{
	assert(sec &lt; 86401);
	hour = sec/3600;
	sec = sec%3600;
	minute = sec/60;
	second = sec%60;
}

void daytime::timeInBit()
{
	int number, number1, number2, number3, number4, number5;

	number = hour;
	number5 = number%2;
	number = number/2;
	number4 = number%2;
	number = number/2;
	number3 = number%2;
	number = number/2;
	number2 = number%2;
	number = number/2;
	number1 = number%2;
	number = number/2;
	number = number%2;

	cout &lt;&lt; number &lt;&lt; number1 &lt;&lt; number2 &lt;&lt; number3 &lt;&lt; number4 &lt;&lt; number5 &lt;&lt; &quot; : &quot;;

	number = minute;
	number5 = number%2;
	number = number/2;
	number4 = number%2;
	number = number/2;
	number3 = number%2;
	number = number/2;
	number2 = number%2;
	number = number/2;
	number1 = number%2;
	number = number/2;
	number = number%2;

	cout &lt;&lt; number &lt;&lt; number1 &lt;&lt; number2 &lt;&lt; number3 &lt;&lt; number4 &lt;&lt; number5 &lt;&lt; &quot; : &quot;;

	number = second;
	number5 = number%2;
	number = number/2;
	number4 = number%2;
	number = number/2;
	number3 = number%2;
	number = number/2;
	number2 = number%2;
	number = number/2;
	number1 = number%2;
	number = number/2;
	number = number%2;

	cout &lt;&lt; number &lt;&lt; number1 &lt;&lt; number2 &lt;&lt; number3 &lt;&lt; number4 &lt;&lt; number5 &lt;&lt; endl;
}

int getDurationInSeconds(daytime end, daytime begin)
{
	int durationInSeconds;
	durationInSeconds = end.getTimeInSeconds() - begin.getTimeInSeconds();
return durationInSeconds;
}
</code></pre>
<p>Ich würde nun gerne die Funktion der Anzeige in Bits nutzen bzw so ändern, das es nicht binär angezeigt wird, sondern in Worten.</p>
<p>Also die 1 = eins, 2 = zwei setzen etc.</p>
<p>Wie genau kann ich das nun machen?</p>
<p>würde es über</p>
<pre><code class="language-cpp">hour ==1 = eins
hour == 2 = zwei
etc
</code></pre>
<p>gehen?</p>
<p>Da wir zwar bereits Klassen durchnehmen, aber vorher sehr wenig Funktionen kennengelernt haben, kann ich nur mit sehr einfachen Dingen Arbeiten (keine schleifen etc)</p>
<p>MfG</p>
<p>Gunnar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051095</guid><dc:creator><![CDATA[ThaRealMatix]]></dc:creator><pubDate>Thu, 04 May 2006 19:07:30 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 07:32:52 GMT]]></title><description><![CDATA[<p>Hallo Gunnar,</p>
<p>is bestimmt nicht die beste Lösung, aber ich lerne auch erst grad C++ und würde das mit einem Sting-Array machen.</p>
<pre><code class="language-cpp">string hourWords[] = {&quot;&quot;, &quot;eins&quot;, &quot;zwei&quot;, &quot;drei&quot;, &quot;vier&quot;, &quot;fuenf&quot;, &quot;sechs&quot;,
                          &quot;sieben&quot;, &quot;acht&quot;, &quot;neun&quot;, &quot;zehn&quot;, &quot;elf&quot;, &quot;zwoelf&quot; };                
cout &lt;&lt; hourWords[4] &lt;&lt; endl;
</code></pre>
<p>Gruß Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051236</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 05 May 2006 07:32:52 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 07:44:13 GMT]]></title><description><![CDATA[<p>ThaRealMatix schrieb:</p>
<blockquote>
<p>Da wir zwar bereits Klassen durchnehmen, aber vorher sehr wenig Funktionen kennengelernt haben, kann ich nur mit sehr einfachen Dingen Arbeiten (keine schleifen etc)</p>
</blockquote>
<p>Schleifen gehören zu den Grundlagen jeder Programmiersprache - also ehe du dich mit weitergehenden Aspekten der Sprache beschäftigst, solltest du dich erst darum kümmern <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>PS: Übrigens sollte die setHMS besser prüfen, ob die übergebenen Parameter im Limit liegen, sonst macht dein Programm Unsinn:</p>
<pre><code class="language-cpp">daytime now;
now.setHMS(25,30,0);//problemlos akzeptiert
now.setHMS(11,55,0);//'assert(hour&lt;24);' schießt dein Programm ab
</code></pre>
<p>Desweiteren ist die Methode &quot;endTime()&quot; imho unnötig (aber das ist deine Entscheidung) und die Klasse sollte ein Set Konstruktoren erhalten, die die Werte vernünftig initialisieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051242</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 05 May 2006 07:44:13 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 08:48:22 GMT]]></title><description><![CDATA[<p>ich würde mich ja liebend gerne um schleifen etc kümmern, nur unser Prof sagt, das wir ohnehin keine Funktionen nutzen dürfen, die er in der Vorlesung noch nicht vorgestellt hat --&gt; also keine Schleifen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f622.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--crying_face"
      title=";("
      alt="😢"
    /></p>
<p>Wie genau könnte ich denn die Prüfung umsetzen, ich dachte der assert würde das machen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051305</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051305</guid><dc:creator><![CDATA[ThaRealMatix]]></dc:creator><pubDate>Fri, 05 May 2006 08:48:22 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 09:00:41 GMT]]></title><description><![CDATA[<p>Ja, der assert ist schon das richtige (zumindest für die hartgesottenen, normalerweise überprüft man besser per if(), da bekommt der User noch die Möglichkeit, Fehler zu berichtigen), aber du solltest besser die neu übergebenen Werteauf ihre Richtigkeit überprüfen:</p>
<pre><code class="language-cpp">void daytime::setHMS(int HMShour, int HMSminute, int HMSsecond)
{
    assert(HMShour &lt; 24 &amp;&amp; HMShour &gt;= 0);// das fängt zusätzlich noch negative Werte ab
    assert(HMSminute &lt; 60 &amp;&amp; HMSminute &gt;= 0);
    assert(HMSsecond &lt; 60 &amp;&amp; HMSsecond &gt;= 0);

    hour = HMShour;
    minute = HMSminute;
    second = HMSsecond;
}
</code></pre>
<p>Bessere Lösung wäre es übrigens, statt dem &quot;assert(xyz);&quot; (das schießt bei &quot;Erfolg&quot; dein Programm ohne weitere Rückmeldungen ab) ein &quot;if(!xyz) return;&quot; einzbauen (damit wird nur die Setzen-Methode beendet, wenn du ungültige Werte übergeben hast).</p>
<p>PS: Sag deinem Prof, er soll doch bitte bei den Grundlagen beginnen. Bevor ihr nicht solche elemantare Steuerstrukturen wie Schleifen oder if() erklärt bekommt, macht alles weitere keinen Sinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051319</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 05 May 2006 09:00:41 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 09:09:55 GMT]]></title><description><![CDATA[<p>*g*</p>
<p>Das hab ich ihm schon gesagt, das eiegentlich jedes Buch das ich kenn erst mit elementaren Methoden etc anfängt... er sagt er macht erst Klassen und Objekte weil er uns von Anfang an an objektorientierte Programmierung gewöhnen möchte und nicht an prozessorientierte</p>
<p>Ich muss dazu sagen wir sind ja noch nicht weit... ca 1 Monat <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Ich lese aber nebenbei auch ein Buch wo ich es denke ich so mache, wie es Dir lieber wäre.</p>
<p>Nur darf ich halt nur das benutzen, was in der Vorlesung bereits vorkam um mich ans &quot;Pflichtenheft&quot; zu halten.</p>
<p>....</p>
<p>Die Ausgabe in Worten bekomme ich aber leider nicht hin <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051327</guid><dc:creator><![CDATA[ThaRealMatix]]></dc:creator><pubDate>Fri, 05 May 2006 09:09:55 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 09:15:46 GMT]]></title><description><![CDATA[<p>Was spricht denn gegen den Vorschlag von chris?</p>
<pre><code class="language-cpp">int hour12 = (( hour==0 || hour==12 ) ? 12 : hour % 12 )
string hourWords[] = {&quot;&quot;, &quot;eins&quot;, &quot;zwei&quot;, &quot;drei&quot;, &quot;vier&quot;, &quot;fuenf&quot;, &quot;sechs&quot;,
                          &quot;sieben&quot;, &quot;acht&quot;, &quot;neun&quot;, &quot;zehn&quot;, &quot;elf&quot;, &quot;zwoelf&quot; }; cout &lt;&lt; hourWords[hour12] &lt;&lt; endl;
</code></pre>
<p>PS: Ja, Klassen aufzubauen ist ein guter Einstieg in die OOP - nur was nützen diese Klassen, wenn man ihre Methoden nicht vernünftig strukturieren kann <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051334</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 05 May 2006 09:15:46 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 09:24:32 GMT]]></title><description><![CDATA[<p>Hm... sorry aber ich bin wohl zu doof, wenn ich das nun einbau geht nüx ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051340</guid><dc:creator><![CDATA[ThaRealMatix]]></dc:creator><pubDate>Fri, 05 May 2006 09:24:32 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 09:38:44 GMT]]></title><description><![CDATA[<p>Wo (und wie) hast du das denn eigebaut? Und was erwartest du, daß gehen soll?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051351</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 05 May 2006 09:38:44 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 09:40:37 GMT]]></title><description><![CDATA[<p>Hm...</p>
<p>ich hatte nun euren Code in die daytime.cpp eingesetzt. Dann hab ich noch in der daytime.h unter public int hour12(); eingetragen</p>
<p>Wenn Du Dir meinen Code ansiehst, wirst Du sehen, das die Uhrzeit auch in Bit ausgegeben wird.</p>
<p>Diese Funktion würde ich gern dadurch ersetzen, das es nicht in Bit sondern in Worten ausgegeben wird ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051354</guid><dc:creator><![CDATA[ThaRealMatix]]></dc:creator><pubDate>Fri, 05 May 2006 09:40:37 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 09:47:10 GMT]]></title><description><![CDATA[<p>die hour12 brauchst du nicht als Element deiner Klasse, das reicht, wenn du sie lokal in der entsprechenden Ausgabemethode definierst:</p>
<pre><code class="language-cpp">//neue Methode:
void daytime::printHourText()
{
  int hour12 = (( hour==0 || hour==12 ) ? 12 : hour % 12 )
  string hourWords[] = {&quot;&quot;, &quot;ein&quot;, &quot;zwei&quot;, &quot;drei&quot;, &quot;vier&quot;, &quot;fuenf&quot;, &quot;sechs&quot;,
                          &quot;sieben&quot;, &quot;acht&quot;, &quot;neun&quot;, &quot;zehn&quot;, &quot;elf&quot;, &quot;zwoelf&quot; };
  cout &lt;&lt; hourWords[hour12]&lt;&lt;&quot; Uhr\n&quot;;
}

//im Hauptprogramm
...
daytime stunde;
stunde setHMS(12,0,0);
cout&lt;&lt;&quot;Es ist jetzt &quot;;
stunde.printHourText();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1051361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051361</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 05 May 2006 09:47:10 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 09:56:19 GMT]]></title><description><![CDATA[<p>hm.. ich bekomme folgenden Fehler beim kompilieren</p>
<blockquote>
<p>Compiling...<br />
daytime.cpp<br />
D:\Dateien\Studium\FH Darmstadt\Programmieren 1\Praktika\2006_05_05\Class2_Daytime\daytime.cpp(146) : error C2146: syntax error : missing ';' before identifier 'string'<br />
D:\Dateien\Studium\FH Darmstadt\Programmieren 1\Praktika\2006_05_05\Class2_Daytime\daytime.cpp(146) : error C2146: syntax error : missing ';' before identifier 'hourWords'<br />
D:\Dateien\Studium\FH Darmstadt\Programmieren 1\Praktika\2006_05_05\Class2_Daytime\daytime.cpp(146) : error C2275: 'string' : illegal use of this type as an expression<br />
c:\programme\microsoft visual studio\vc98\include\xstring(612) : see declaration of 'string'<br />
D:\Dateien\Studium\FH Darmstadt\Programmieren 1\Praktika\2006_05_05\Class2_Daytime\daytime.cpp(146) : error C2065: 'hourWords' : undeclared identifier<br />
D:\Dateien\Studium\FH Darmstadt\Programmieren 1\Praktika\2006_05_05\Class2_Daytime\daytime.cpp(146) : error C2059: syntax error : ']'<br />
D:\Dateien\Studium\FH Darmstadt\Programmieren 1\Praktika\2006_05_05\Class2_Daytime\daytime.cpp(146) : error C2143: syntax error : missing ';' before '{'<br />
D:\Dateien\Studium\FH Darmstadt\Programmieren 1\Praktika\2006_05_05\Class2_Daytime\daytime.cpp(147) : error C2143: syntax error : missing ';' before '}'<br />
D:\Dateien\Studium\FH Darmstadt\Programmieren 1\Praktika\2006_05_05\Class2_Daytime\daytime.cpp(148) : error C2109: subscript requires array or pointer type<br />
Error executing cl.exe.</p>
<p>Class2_Daytime.exe - 8 error(s), 0 warning(s)</p>
</blockquote>
<p>daytime.cpp</p>
<pre><code class="language-cpp">// File: daytime.cpp: implementation of the daytime class.
// Author: Gunnar Goebel
// Date: 06-04-28
// Version 1.0
// Copyright: This File is released under a creative Common Licence. See Link for further Information
// Licence Link: http://creativecommons.org/licenses/by-nc-sa/2.0/de/
//////////////////////////////////////////////////////////////////////

#include &quot;daytime.h&quot;
#include &lt;iostream&gt;
#include &lt;cassert&gt;
#include &lt;string&gt;
using namespace std;

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
int daytime::NumberOfTimeObjekts = 0;

daytime::daytime()
{
	++ NumberOfTimeObjekts;
	cout &lt;&lt; &quot;Vorhandene Objekte: &quot; &lt;&lt; NumberOfTimeObjekts &lt;&lt;endl;
}

daytime::~daytime()
{
	-- NumberOfTimeObjekts;
	cout &lt;&lt; &quot;Vorhandene Objekte: &quot; &lt;&lt; NumberOfTimeObjekts &lt;&lt;endl;
}

void daytime::print24hFormat()
{
	cout &lt;&lt; ( hour &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; hour &lt;&lt; &quot;:&quot;
         &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute &lt;&lt; &quot;:&quot;
         &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second;
}

void daytime::print12hFormat()
{
	cout &lt;&lt; (( hour==0 || hour==12 ) ? 12 : hour % 12 )
         &lt;&lt; &quot;:&quot; &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute
         &lt;&lt; &quot;:&quot; &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second
         &lt;&lt; ( hour &lt; 12 ? &quot; AM&quot; : &quot; PM&quot; );
}

void daytime::setHMS(int HMShour, int HMSminute, int HMSsecond)
{
	// check if hour &gt;=0 and &lt;24
    assert(HMShour &lt; 24 &amp;&amp; HMShour &gt;= 0);
	// check if minute &gt;=0 and &lt;60
    assert(HMSminute &lt; 60 &amp;&amp; HMSminute &gt;= 0);
	// check if second &gt;=0 and &lt;60
    assert(HMSsecond &lt; 60 &amp;&amp; HMSsecond &gt;= 0);

    hour = HMShour;
    minute = HMSminute;
    second = HMSsecond;
}

void daytime::endTime()
{
	cout &lt;&lt; &quot;Abendessen endet um: &quot;;
	cout &lt;&lt; ( hour &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; hour &lt;&lt; &quot;:&quot;
		 &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute &lt;&lt; &quot;:&quot;
		 &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second &lt;&lt;endl;
}

int daytime::getTimeInSeconds()
{
	int sec;
	sec = hour*60*60 + minute*60 + second;
return sec;
}

void daytime::setS(int sec)
{
	assert(sec &lt; 86401);
	hour = sec/3600;
	sec = sec%3600;
	minute = sec/60;
	second = sec%60;
}

void daytime::printHourText()
{
  int hour12 = (( hour==0 || hour==12 ) ? 12 : hour % 12 )
  string hourWords[] = {&quot;&quot;, &quot;ein&quot;, &quot;zwei&quot;, &quot;drei&quot;, &quot;vier&quot;, &quot;fuenf&quot;, &quot;sechs&quot;,
                          &quot;sieben&quot;, &quot;acht&quot;, &quot;neun&quot;, &quot;zehn&quot;, &quot;elf&quot;, &quot;zwoelf&quot; };
  cout &lt;&lt; hourWords[hour12]&lt;&lt;&quot; Uhr\n&quot;;
} 
/*void daytime::timeInBit()
{
	int number, number1, number2, number3, number4, number5;

	number = hour;
	number5 = number%2;
	number = number/2;
	number4 = number%2;
	number = number/2;
	number3 = number%2;
	number = number/2;
	number2 = number%2;
	number = number/2;
	number1 = number%2;
	number = number/2;
	number = number%2;

	cout &lt;&lt; number &lt;&lt; number1 &lt;&lt; number2 &lt;&lt; number3 &lt;&lt; number4 &lt;&lt; number5 &lt;&lt; &quot; : &quot;;

	number = minute;
	number5 = number%2;
	number = number/2;
	number4 = number%2;
	number = number/2;
	number3 = number%2;
	number = number/2;
	number2 = number%2;
	number = number/2;
	number1 = number%2;
	number = number/2;
	number = number%2;

	cout &lt;&lt; number &lt;&lt; number1 &lt;&lt; number2 &lt;&lt; number3 &lt;&lt; number4 &lt;&lt; number5 &lt;&lt; &quot; : &quot;;

	number = second;
	number5 = number%2;
	number = number/2;
	number4 = number%2;
	number = number/2;
	number3 = number%2;
	number = number/2;
	number2 = number%2;
	number = number/2;
	number1 = number%2;
	number = number/2;
	number = number%2;

	cout &lt;&lt; number &lt;&lt; number1 &lt;&lt; number2 &lt;&lt; number3 &lt;&lt; number4 &lt;&lt; number5 &lt;&lt; endl;
}
*/
int getDurationInSeconds(daytime end, daytime begin)
{
	int durationInSeconds;
	durationInSeconds = end.getTimeInSeconds() - begin.getTimeInSeconds();
return durationInSeconds;
}
</code></pre>
<p>main.cpp</p>
<pre><code class="language-cpp">//////////////////////////////////////////////////////////////////////
// File: main.cpp
// Author: Gunnar Goebel
// Date: 06-04-28
// Version 1.0
// Copyright: This File is released under a creative Common Licence. See Link for further Information
// Licence Link: http://creativecommons.org/licenses/by-nc-sa/2.0/de/
//////////////////////////////////////////////////////////////////////
#include &quot;daytime.h&quot;
#include &lt;iostream&gt;
using std::cout; using std::endl;

int getDurationInSeconds(daytime, daytime);

int main()
{

	daytime begin, end, duration;
	// define Starttime: 18:05:00
	begin.setHMS(18,5,0);
	cout &lt;&lt; &quot;Das Abendessen beginnt um: &quot;;
	// Display Time in 24h 
	begin.print24hFormat();
	cout &lt;&lt; &quot; oder in Bit: &quot;;
	begin.printHourText();
	// define Endtime: 20:14:10
	end.setHMS(20,40,59);
	cout &lt;&lt; &quot;Das Abendessen endet um: &quot;;
	// Display Time in 24h
	end.print24hFormat();
	cout &lt;&lt; &quot; oder in Bit: &quot;;
	end.timeInBit();
	// calculate Time between Start an End 
	int durationInSeconds = getDurationInSeconds(end, begin);
	// Display Time in hours, minutes and seconds
	duration.setS(durationInSeconds);
	cout &lt;&lt; &quot;Das Abendessen dauert: &quot;;
	// Display Time in 24h
	duration.print24hFormat();
	cout &lt;&lt; &quot; oder in Bit: &quot;;
	duration.timeInBit();

return 0;
}
</code></pre>
<p>daytime.h</p>
<pre><code class="language-cpp">// daytime.h: interface for the daytime class.
//
//////////////////////////////////////////////////////////////////////

#pragma once

class daytime  
{
	private:
		int hour;
		int minute;
		int second;
		static int NumberOfTimeObjekts;

	public:
		daytime();
		~daytime();
		void print12hFormat();
		void print24hFormat();
		void setHMS(int, int, int);
		void endTime();
		int getTimeInSeconds();
		void setS(int);
		void timeInBit();
		void daytime::printHourText();
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1051371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051371</guid><dc:creator><![CDATA[ThaRealMatix]]></dc:creator><pubDate>Fri, 05 May 2006 09:56:19 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 09:57:13 GMT]]></title><description><![CDATA[<p>Das steht doch genau, was er will &quot;missing ';' before identifier 'string'&quot; - am Ende der vorigen Zeile fehlt das Semikolon (sorry). Alles andere dürften dann Folgefehler sein.</p>
<p>(und in der Klassendeklaration ist das &quot;daytime::&quot; vor dem Methodennamen überflüssig)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051374</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051374</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 05 May 2006 09:57:13 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 10:01:20 GMT]]></title><description><![CDATA[<p>oh hm habs selber gelöst,</p>
<p>aber wie bekomme ich nun noch die anzeige der Minuten und Sekunden hin? einfach funktion kopieren und hour12 durch minute60 ersetzen bzw das anpassen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051377</guid><dc:creator><![CDATA[ThaRealMatix]]></dc:creator><pubDate>Fri, 05 May 2006 10:01:20 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 10:04:01 GMT]]></title><description><![CDATA[<p>Für Minuten und Sekunden benötigst du ein etwas größeres Array (mit den Strings von &quot;eins&quot; bis &quot;neunundfünfzig&quot;) oder du mußt die Zahl passend zerlegen und stückweise umsetzen.</p>
<p>(ich hab' noch irgendwo zu Hause ein Pascal-Programm, das Zahlen bis 1 Million als Text darstellen konnte)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051384</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 05 May 2006 10:04:01 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 10:11:04 GMT]]></title><description><![CDATA[<p>Hm... bei Minuten hab ich es noch hinbekommen (mal abgesehen davon, das sie nicht bis 59 definiert sind), aber bei den sekunden sagt mri der kompiler keine fehler, führt das programm aus und dann kackt die konsole ab und ich kann nur schließen</p>
<blockquote>
<p>Class2_Daytime.exe hat ein Problem festgestellt und muss beendet werden.</p>
</blockquote>
<pre><code class="language-cpp">// File: daytime.cpp: implementation of the daytime class.
// Author: Gunnar Goebel
// Date: 06-04-28
// Version 1.0
// Copyright: This File is released under a creative Common Licence. See Link for further Information
// Licence Link: http://creativecommons.org/licenses/by-nc-sa/2.0/de/
//////////////////////////////////////////////////////////////////////

#include &quot;daytime.h&quot;
#include &lt;iostream&gt;
#include &lt;cassert&gt;
#include &lt;string&gt;
using namespace std;

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
int daytime::NumberOfTimeObjekts = 0;

daytime::daytime()
{
	++ NumberOfTimeObjekts;
	cout &lt;&lt; &quot;Vorhandene Objekte: &quot; &lt;&lt; NumberOfTimeObjekts &lt;&lt;endl;
}

daytime::~daytime()
{
	-- NumberOfTimeObjekts;
	cout &lt;&lt; &quot;Vorhandene Objekte: &quot; &lt;&lt; NumberOfTimeObjekts &lt;&lt;endl;
}

void daytime::print24hFormat()
{
	cout &lt;&lt; ( hour &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; hour &lt;&lt; &quot;:&quot;
         &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute &lt;&lt; &quot;:&quot;
         &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second;
}

void daytime::print12hFormat()
{
	cout &lt;&lt; (( hour==0 || hour==12 ) ? 12 : hour % 12 )
         &lt;&lt; &quot;:&quot; &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute
         &lt;&lt; &quot;:&quot; &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second
         &lt;&lt; ( hour &lt; 12 ? &quot; AM&quot; : &quot; PM&quot; );
}

void daytime::setHMS(int HMShour, int HMSminute, int HMSsecond)
{
	// check if hour &gt;=0 and &lt;24
    assert(HMShour &lt; 24 &amp;&amp; HMShour &gt;= 0);
	// check if minute &gt;=0 and &lt;60
    assert(HMSminute &lt; 60 &amp;&amp; HMSminute &gt;= 0);
	// check if second &gt;=0 and &lt;60
    assert(HMSsecond &lt; 60 &amp;&amp; HMSsecond &gt;= 0);

    hour = HMShour;
    minute = HMSminute;
    second = HMSsecond;
}

void daytime::endTime()
{
	cout &lt;&lt; &quot;Abendessen endet um: &quot;;
	cout &lt;&lt; ( hour &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; hour &lt;&lt; &quot;:&quot;
		 &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute &lt;&lt; &quot;:&quot;
		 &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second &lt;&lt;endl;
}

int daytime::getTimeInSeconds()
{
	int sec;
	sec = hour*60*60 + minute*60 + second;
return sec;
}

void daytime::setS(int sec)
{
	assert(sec &lt; 86401);
	hour = sec/3600;
	sec = sec%3600;
	minute = sec/60;
	second = sec%60;
}

void daytime::printHourText()
{
  int hour12 = (( hour==0 || hour==12 ) ? 12 : hour % 12 );
  string hourWords[] = {&quot;&quot;, &quot;ein&quot;, &quot;zwei&quot;, &quot;drei&quot;, &quot;vier&quot;, &quot;fuenf&quot;, &quot;sechs&quot;,
                          &quot;sieben&quot;, &quot;acht&quot;, &quot;neun&quot;, &quot;zehn&quot;, &quot;elf&quot;, &quot;zwoelf&quot; };
  cout &lt;&lt; hourWords[hour12]&lt;&lt;&quot; Uhr\n&quot;;
} 

void daytime::printMinuteText()
{
  int minute60 = (( minute==0 || minute==60 ) ? 60 : minute % 60 );
  string minuteWords[] = {&quot;&quot;, &quot;ein&quot;, &quot;zwei&quot;, &quot;drei&quot;, &quot;vier&quot;, &quot;fuenf&quot;, &quot;sechs&quot;,
                          &quot;sieben&quot;, &quot;acht&quot;, &quot;neun&quot;, &quot;zehn&quot;, &quot;elf&quot;, &quot;zwoelf&quot; };
  cout &lt;&lt; minuteWords[minute60]&lt;&lt;&quot; Minuten\n&quot;;
} 

void daytime::printSecondText()
{
  int second60 = (( second==0 || second==60 ) ? 60 : second % 60 );
  string secondWords[] = {&quot;&quot;, &quot;ein&quot;, &quot;zwei&quot;, &quot;drei&quot;, &quot;vier&quot;, &quot;fuenf&quot;, &quot;sechs&quot;,
                          &quot;sieben&quot;, &quot;acht&quot;, &quot;neun&quot;, &quot;zehn&quot;, &quot;elf&quot;, &quot;zwoelf&quot; };
  cout &lt;&lt; secondWords[second60]&lt;&lt;&quot; Sekunden\n&quot;;
} 
/*void daytime::timeInBit()
{
	int number, number1, number2, number3, number4, number5;

	number = hour;
	number5 = number%2;
	number = number/2;
	number4 = number%2;
	number = number/2;
	number3 = number%2;
	number = number/2;
	number2 = number%2;
	number = number/2;
	number1 = number%2;
	number = number/2;
	number = number%2;

	cout &lt;&lt; number &lt;&lt; number1 &lt;&lt; number2 &lt;&lt; number3 &lt;&lt; number4 &lt;&lt; number5 &lt;&lt; &quot; : &quot;;

	number = minute;
	number5 = number%2;
	number = number/2;
	number4 = number%2;
	number = number/2;
	number3 = number%2;
	number = number/2;
	number2 = number%2;
	number = number/2;
	number1 = number%2;
	number = number/2;
	number = number%2;

	cout &lt;&lt; number &lt;&lt; number1 &lt;&lt; number2 &lt;&lt; number3 &lt;&lt; number4 &lt;&lt; number5 &lt;&lt; &quot; : &quot;;

	number = second;
	number5 = number%2;
	number = number/2;
	number4 = number%2;
	number = number/2;
	number3 = number%2;
	number = number/2;
	number2 = number%2;
	number = number/2;
	number1 = number%2;
	number = number/2;
	number = number%2;

	cout &lt;&lt; number &lt;&lt; number1 &lt;&lt; number2 &lt;&lt; number3 &lt;&lt; number4 &lt;&lt; number5 &lt;&lt; endl;
}
*/
int getDurationInSeconds(daytime end, daytime begin)
{
	int durationInSeconds;
	durationInSeconds = end.getTimeInSeconds() - begin.getTimeInSeconds();
return durationInSeconds;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1051390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051390</guid><dc:creator><![CDATA[ThaRealMatix]]></dc:creator><pubDate>Fri, 05 May 2006 10:11:04 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 10:20:55 GMT]]></title><description><![CDATA[<p>Du hast ein Array mit (aktuell) 13 Elementen - wenn du jetzt einen Sekundenwert über 12 ausgeben willst, liest du von Speicher, der dir nicht gehört - und das ergibt undefiniertes Verhalten (dein Programm interpretiert irgendwelche Mülldaten als &quot;string&quot;-Objekt).</p>
<p>Versuch's mal in etwa so:</p>
<pre><code class="language-cpp">//global in der daytime.cpp
static string numbers[]=
{&quot;null&quot;,&quot;ein&quot;,&quot;zwei&quot;,&quot;drei&quot;,...,&quot;achtundfünfzig&quot;,&quot;neunundfünfzig&quot;};
//ich weiß, das ist eine Menge Schreibarbeit, alle Zahlwörter zusammenzutragen

void daytime::printHour12()
{
  int h12 = (( hour==0 || hour==12 ) ? 12 : hour % 12 );
  cout &lt;&lt; numbers[h12] &lt;&lt; &quot; Uhr&quot;;
}

void daytime::printHour24()
{cout &lt;&lt; numbers[hour] &lt;&lt; &quot; Uhr&quot;;}
void daytime::printMinute()
{cout &lt;&lt; numbers[minute] &lt;&lt; (minute==1)?&quot; Minute&quot;:&quot; Minuten&quot;;}
void daytime::printSecond()
{cout &lt;&lt; numbers[second] &lt;&lt; (second==1)?&quot; Sekunde&quot;:&quot; Sekunden&quot;;}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1051402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051402</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 05 May 2006 10:20:55 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 10:23:09 GMT]]></title><description><![CDATA[<p>so nun mal das komplette Porjekt so wie es fertig ist, compiler meckert nicht, das Programm stürzt aber ab <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>daytime.cpp</p>
<pre><code class="language-cpp">// File: daytime.cpp: implementation of the daytime class.
// Author: Gunnar Goebel
// Date: 06-04-28
// Version 1.0
// Copyright: This File is released under a creative Common Licence. See Link for further Information
// Licence Link: http://creativecommons.org/licenses/by-nc-sa/2.0/de/
//////////////////////////////////////////////////////////////////////

#include &quot;daytime.h&quot;
#include &lt;iostream&gt;
#include &lt;cassert&gt;
#include &lt;string&gt;
using namespace std;

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
int daytime::NumberOfTimeObjekts = 0;

daytime::daytime()
{
	++ NumberOfTimeObjekts;
	cout &lt;&lt; &quot;Vorhandene Objekte: &quot; &lt;&lt; NumberOfTimeObjekts &lt;&lt;endl;
}

daytime::~daytime()
{
	-- NumberOfTimeObjekts;
	cout &lt;&lt; &quot;Vorhandene Objekte: &quot; &lt;&lt; NumberOfTimeObjekts &lt;&lt;endl;
}

void daytime::print24hFormat()
{
	cout &lt;&lt; ( hour &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; hour &lt;&lt; &quot;:&quot;
         &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute &lt;&lt; &quot;:&quot;
         &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second;
}

void daytime::print12hFormat()
{
	cout &lt;&lt; (( hour==0 || hour==12 ) ? 12 : hour % 12 )
         &lt;&lt; &quot;:&quot; &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute
         &lt;&lt; &quot;:&quot; &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second
         &lt;&lt; ( hour &lt; 12 ? &quot; AM&quot; : &quot; PM&quot; );
}

void daytime::setHMS(int HMShour, int HMSminute, int HMSsecond)
{
	// check if hour &gt;=0 and &lt;24
    assert(HMShour &lt; 24 &amp;&amp; HMShour &gt;= 0);
	// check if minute &gt;=0 and &lt;60
    assert(HMSminute &lt; 60 &amp;&amp; HMSminute &gt;= 0);
	// check if second &gt;=0 and &lt;60
    assert(HMSsecond &lt; 60 &amp;&amp; HMSsecond &gt;= 0);

    hour = HMShour;
    minute = HMSminute;
    second = HMSsecond;
}

void daytime::endTime()
{
	cout &lt;&lt; &quot;Abendessen endet um: &quot;;
	cout &lt;&lt; ( hour &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; hour &lt;&lt; &quot;:&quot;
		 &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute &lt;&lt; &quot;:&quot;
		 &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second &lt;&lt;endl;
}

int daytime::getTimeInSeconds()
{
	int sec;
	sec = hour*60*60 + minute*60 + second;
return sec;
}

void daytime::setS(int sec)
{
	assert(sec &lt; 86401);
	hour = sec/3600;
	sec = sec%3600;
	minute = sec/60;
	second = sec%60;
}

void daytime::printHourText()
{
  int hour12 = (( hour==0 || hour==12 ) ? 12 : hour % 12 );
  string hourWords[] = {&quot;&quot;, &quot;ein&quot;, &quot;zwei&quot;, &quot;drei&quot;, &quot;vier&quot;, &quot;fuenf&quot;, &quot;sechs&quot;,
                          &quot;sieben&quot;, &quot;acht&quot;, &quot;neun&quot;, &quot;zehn&quot;, &quot;elf&quot;, &quot;zwoelf&quot; };
  cout &lt;&lt; hourWords[hour12]&lt;&lt;&quot; Uhr\n&quot;;
} 

void daytime::printMinuteText()
{
  int minute60 = (( minute==0 || minute==60 ) ? 60 : minute % 60 );
  string minuteWords[] = {&quot;&quot;, &quot;ein&quot;, &quot;zwei&quot;, &quot;drei&quot;, &quot;vier&quot;, &quot;fuenf&quot;, &quot;sechs&quot;,
                          &quot;sieben&quot;, &quot;acht&quot;, &quot;neun&quot;, &quot;zehn&quot;, &quot;elf&quot;, &quot;zwoelf&quot;, &quot;dreizehn&quot;,
						  &quot;vierzehn&quot;, &quot;fuenfzehn&quot;, &quot;sechzehn&quot;, &quot;siebzehn&quot;, &quot;achtzehn&quot;,
						  &quot;neunzeh&quot;, &quot;zwanzig&quot;, &quot;einundzwanzig&quot;, &quot;zweiundzwanzig&quot;, &quot;dreiundzwanzig&quot;,
						  &quot;vierundzwanzig&quot;, &quot;fuenfundzwanzig&quot;, &quot;sechsundzwanzig&quot;, &quot;siebenundzwanzig&quot;
						  &quot;achtundzwanzig&quot;, &quot;neunundzwanzig&quot;, &quot;dreissig&quot;, &quot;einunddreissig&quot;,
						  &quot;zweiunddreissig&quot;, &quot;dreiunddressig&quot;, &quot;vierunddreissig&quot;,
						  &quot;fuenfunddreissig&quot;, &quot;sechsunddreissig&quot;, &quot;siebenunddreissig&quot;, 
						  &quot;achtunddreissig&quot;, &quot;neununddreissig&quot;, &quot;vierzig&quot;, &quot;einundvierzig&quot;, &quot;zweiundvierzig&quot;,
						  &quot;dreiundvierzig&quot;, &quot;vierundvierzig&quot;, &quot;fuenfundvierzig&quot;, &quot;sechsundvierzig&quot;, &quot;siebenundvierzig&quot;
						  &quot;achtundvierzig&quot;, &quot;neunundvierzig&quot;, &quot;fuenfzig&quot;, &quot;einundfuenzig&quot;, &quot;zweiundfuenzig&quot;,
						  &quot;dreiundfuenzig&quot;, &quot;vierundfuenzig&quot;, &quot;fuenfundfuenzig&quot;, &quot;sechsundfuenzig&quot;, &quot;siebenundfuenzig&quot;
						  &quot;achtundfuenzig&quot;, &quot;neunundfuenzig&quot;,};
  cout &lt;&lt; minuteWords[minute60]&lt;&lt;&quot; Minuten\n&quot;;
} 

void daytime::printSecondText()
{
  int second60 = (( second==0 || second==60 ) ? 60 : second % 60 );
  string secondWords[] = {&quot;&quot;, &quot;ein&quot;, &quot;zwei&quot;, &quot;drei&quot;, &quot;vier&quot;, &quot;fuenf&quot;, &quot;sechs&quot;,
                          &quot;sieben&quot;, &quot;acht&quot;, &quot;neun&quot;, &quot;zehn&quot;, &quot;elf&quot;, &quot;zwoelf&quot;, &quot;dreizehn&quot;,
						  &quot;vierzehn&quot;, &quot;fuenfzehn&quot;, &quot;sechzehn&quot;, &quot;siebzehn&quot;, &quot;achtzehn&quot;,
						  &quot;neunzeh&quot;, &quot;zwanzig&quot;, &quot;einundzwanzig&quot;, &quot;zweiundzwanzig&quot;, &quot;dreiundzwanzig&quot;,
						  &quot;vierundzwanzig&quot;, &quot;fuenfundzwanzig&quot;, &quot;sechsundzwanzig&quot;, &quot;siebenundzwanzig&quot;
						  &quot;achtundzwanzig&quot;, &quot;neunundzwanzig&quot;, &quot;dreissig&quot;, &quot;einunddreissig&quot;,
						  &quot;zweiunddreissig&quot;, &quot;dreiunddressig&quot;, &quot;vierunddreissig&quot;,
						  &quot;fuenfunddreissig&quot;, &quot;sechsunddreissig&quot;, &quot;siebenunddreissig&quot;, 
						  &quot;achtunddreissig&quot;, &quot;neununddreissig&quot;, &quot;vierzig&quot;, &quot;einundvierzig&quot;, &quot;zweiundvierzig&quot;,
						  &quot;dreiundvierzig&quot;, &quot;vierundvierzig&quot;, &quot;fuenfundvierzig&quot;, &quot;sechsundvierzig&quot;, &quot;siebenundvierzig&quot;
						  &quot;achtundvierzig&quot;, &quot;neunundvierzig&quot;, &quot;fuenfzig&quot;, &quot;einundfuenzig&quot;, &quot;zweiundfuenzig&quot;,
						  &quot;dreiundfuenzig&quot;, &quot;vierundfuenzig&quot;, &quot;fuenfundfuenzig&quot;, &quot;sechsundfuenzig&quot;, &quot;siebenundfuenzig&quot;
						  &quot;achtundfuenzig&quot;, &quot;neunundfuenzig&quot;,};
  cout &lt;&lt; secondWords[second60]&lt;&lt;&quot; Sekunden\n&quot;;
} 
/*void daytime::timeInBit()
{
	int number, number1, number2, number3, number4, number5;

	number = hour;
	number5 = number%2;
	number = number/2;
	number4 = number%2;
	number = number/2;
	number3 = number%2;
	number = number/2;
	number2 = number%2;
	number = number/2;
	number1 = number%2;
	number = number/2;
	number = number%2;

	cout &lt;&lt; number &lt;&lt; number1 &lt;&lt; number2 &lt;&lt; number3 &lt;&lt; number4 &lt;&lt; number5 &lt;&lt; &quot; : &quot;;

	number = minute;
	number5 = number%2;
	number = number/2;
	number4 = number%2;
	number = number/2;
	number3 = number%2;
	number = number/2;
	number2 = number%2;
	number = number/2;
	number1 = number%2;
	number = number/2;
	number = number%2;

	cout &lt;&lt; number &lt;&lt; number1 &lt;&lt; number2 &lt;&lt; number3 &lt;&lt; number4 &lt;&lt; number5 &lt;&lt; &quot; : &quot;;

	number = second;
	number5 = number%2;
	number = number/2;
	number4 = number%2;
	number = number/2;
	number3 = number%2;
	number = number/2;
	number2 = number%2;
	number = number/2;
	number1 = number%2;
	number = number/2;
	number = number%2;

	cout &lt;&lt; number &lt;&lt; number1 &lt;&lt; number2 &lt;&lt; number3 &lt;&lt; number4 &lt;&lt; number5 &lt;&lt; endl;
}
*/
int getDurationInSeconds(daytime end, daytime begin)
{
	int durationInSeconds;
	durationInSeconds = end.getTimeInSeconds() - begin.getTimeInSeconds();
return durationInSeconds;
}
</code></pre>
<p>main.cpp</p>
<pre><code class="language-cpp">//////////////////////////////////////////////////////////////////////
// File: main.cpp
// Author: Gunnar Goebel
// Date: 06-04-28
// Version 1.0
// Copyright: This File is released under a creative Common Licence. See Link for further Information
// Licence Link: http://creativecommons.org/licenses/by-nc-sa/2.0/de/
//////////////////////////////////////////////////////////////////////
#include &quot;daytime.h&quot;
#include &lt;iostream&gt;
using std::cout; using std::endl;

int getDurationInSeconds(daytime, daytime);

int main()
{

	daytime begin, end, duration;
	// define Starttime: 18:05:00
	begin.setHMS(18,5,0);
	cout &lt;&lt; &quot;Das Abendessen beginnt um: &quot;;
	// Display Time in 24h 
	begin.print24hFormat();
	cout &lt;&lt; &quot; oder in Worten: &quot;;
	begin.printHourText(); begin.printMinuteText(); begin.printSecondText();
	// define Endtime: 20:14:10
	end.setHMS(20,40,59);
	cout &lt;&lt; &quot;Das Abendessen endet um: &quot;;
	// Display Time in 24h
	end.print24hFormat();
	cout &lt;&lt; &quot; oder in Worten: &quot;;
	end.printHourText(); end.printMinuteText(); end.printSecondText();
	// calculate Time between Start an End 
	int durationInSeconds = getDurationInSeconds(end, begin);
	// Display Time in hours, minutes and seconds
	duration.setS(durationInSeconds);
	cout &lt;&lt; &quot;Das Abendessen dauert: &quot;;
	// Display Time in 24h
	duration.print24hFormat();
	cout &lt;&lt; &quot; oder in Worten: &quot;;
	duration.printHourText(); duration.printMinuteText(); duration.printSecondText();

return 0;
}
</code></pre>
<p>daytime.h</p>
<pre><code class="language-cpp">// daytime.h: interface for the daytime class.
//
//////////////////////////////////////////////////////////////////////

#pragma once

class daytime  
{
	private:
		int hour;
		int minute;
		int second;
		static int NumberOfTimeObjekts;

	public:
		daytime();
		~daytime();
		void print12hFormat();
		void print24hFormat();
		void setHMS(int, int, int);
		void endTime();
		int getTimeInSeconds();
		void setS(int);
		// void timeInBit();
		void daytime::printHourText();
		void daytime::printMinuteText();
		void daytime::printSecondText();
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1051404</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051404</guid><dc:creator><![CDATA[ThaRealMatix]]></dc:creator><pubDate>Fri, 05 May 2006 10:23:09 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 10:31:48 GMT]]></title><description><![CDATA[<p>Lass doch mal bei den Minuten- und Sekunden-Angaben die Vor-Umrechnung weg und gib direkt minuteWords[minute] bzw. secondWords[second] aus<sup>*</sup> - der maximale Index der Arrays ist 59 und wenn du eine Zeit mit 0 Sekunden ausgibst, greifst du auf das (nicht vorhandene) Element 60 zu.</p>
<p><sup>(*)</sup> oder noch besser, du nutzt ein globales Array, aus dem alle drei Methoden ihre Stringwerte ziehen - siehe der Beispielcode in meinem vorigen Beitrag.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051413</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 05 May 2006 10:31:48 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 11:11:52 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>das Programm läuft nun dank deinem Code soweit, nur hinten die Sekunden Ausgabe ist total verquert.</p>
<p>Es kommt ein</p>
<blockquote>
<p>0Null0</p>
</blockquote>
<p>meine daytime.cpp</p>
<pre><code class="language-cpp">// File: daytime.cpp: implementation of the daytime class.
// Author: Gunnar Goebel
// Date: 06-04-28
// Version 1.0
// Copyright: This File is released under a creative Common Licence. See Link for further Information
// Licence Link: http://creativecommons.org/licenses/by-nc-sa/2.0/de/
//////////////////////////////////////////////////////////////////////

#include &quot;daytime.h&quot;
#include &lt;iostream&gt;
#include &lt;cassert&gt;
#include &lt;string&gt;
using namespace std;

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
static string numbers[]= {&quot;null&quot;, &quot;ein&quot;, &quot;zwei&quot;, &quot;drei&quot;, &quot;vier&quot;, &quot;fuenf&quot;, &quot;sechs&quot;,
                          &quot;sieben&quot;, &quot;acht&quot;, &quot;neun&quot;, &quot;zehn&quot;, &quot;elf&quot;, &quot;zwoelf&quot;, &quot;dreizehn&quot;,
                          &quot;vierzehn&quot;, &quot;fuenfzehn&quot;, &quot;sechzehn&quot;, &quot;siebzehn&quot;, &quot;achtzehn&quot;,
                          &quot;neunzeh&quot;, &quot;zwanzig&quot;, &quot;einundzwanzig&quot;, &quot;zweiundzwanzig&quot;, &quot;dreiundzwanzig&quot;,
                          &quot;vierundzwanzig&quot;, &quot;fuenfundzwanzig&quot;, &quot;sechsundzwanzig&quot;, &quot;siebenundzwanzig&quot;
                          &quot;achtundzwanzig&quot;, &quot;neunundzwanzig&quot;, &quot;dreissig&quot;, &quot;einunddreissig&quot;,
                          &quot;zweiunddreissig&quot;, &quot;dreiunddressig&quot;, &quot;vierunddreissig&quot;,
                          &quot;fuenfunddreissig&quot;, &quot;sechsunddreissig&quot;, &quot;siebenunddreissig&quot;,
                          &quot;achtunddreissig&quot;, &quot;neununddreissig&quot;, &quot;vierzig&quot;, &quot;einundvierzig&quot;, &quot;zweiundvierzig&quot;,
                          &quot;dreiundvierzig&quot;, &quot;vierundvierzig&quot;, &quot;fuenfundvierzig&quot;, &quot;sechsundvierzig&quot;, &quot;siebenundvierzig&quot;
                          &quot;achtundvierzig&quot;, &quot;neunundvierzig&quot;, &quot;fuenfzig&quot;, &quot;einundfuenzig&quot;, &quot;zweiundfuenzig&quot;,
                          &quot;dreiundfuenzig&quot;, &quot;vierundfuenzig&quot;, &quot;fuenfundfuenzig&quot;, &quot;sechsundfuenzig&quot;, &quot;siebenundfuenzig&quot;
                          &quot;achtundfuenzig&quot;, &quot;neunundfuenzig&quot;,};

int daytime::NumberOfTimeObjekts = 0;

daytime::daytime()
{
    ++ NumberOfTimeObjekts;
    cout &lt;&lt; &quot;Vorhandene Objekte: &quot; &lt;&lt; NumberOfTimeObjekts &lt;&lt;endl;
}

daytime::~daytime()
{
    -- NumberOfTimeObjekts;
    cout &lt;&lt; &quot;Vorhandene Objekte: &quot; &lt;&lt; NumberOfTimeObjekts &lt;&lt;endl;
}

void daytime::print24hFormat()
{
    cout &lt;&lt; ( hour &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; hour &lt;&lt; &quot;:&quot;
         &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute &lt;&lt; &quot;:&quot;
         &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second;
}

void daytime::print12hFormat()
{
    cout &lt;&lt; (( hour==0 || hour==12 ) ? 12 : hour % 12 )
         &lt;&lt; &quot;:&quot; &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute
         &lt;&lt; &quot;:&quot; &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second
         &lt;&lt; ( hour &lt; 12 ? &quot; AM&quot; : &quot; PM&quot; );
}

void daytime::setHMS(int HMShour, int HMSminute, int HMSsecond)
{
    // check if hour &gt;=0 and &lt;24
    assert(HMShour &lt; 24 &amp;&amp; HMShour &gt;= 0);
    // check if minute &gt;=0 and &lt;60
    assert(HMSminute &lt; 60 &amp;&amp; HMSminute &gt;= 0);
    // check if second &gt;=0 and &lt;60
    assert(HMSsecond &lt; 60 &amp;&amp; HMSsecond &gt;= 0);

    hour = HMShour;
    minute = HMSminute;
    second = HMSsecond;
}

/*void daytime::endTime()
{
    cout &lt;&lt; &quot;Abendessen endet um: &quot;;
    cout &lt;&lt; ( hour &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; hour &lt;&lt; &quot;:&quot;
         &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute &lt;&lt; &quot;:&quot;
         &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second &lt;&lt;endl;
}*/

int daytime::getTimeInSeconds()
{
    int sec;
    sec = hour*60*60 + minute*60 + second;
return sec;
}

void daytime::setS(int sec)
{
    assert(sec &lt; 86401);
    hour = sec/3600;
    sec = sec%3600;
    minute = sec/60;
    second = sec%60;
}

void daytime::printHour12()
{
  int h12 = (( hour==0 || hour==12 ) ? 12 : hour % 12 );
  cout &lt;&lt; numbers[h12] &lt;&lt; &quot; Uhr &quot;;
}

void daytime::printHour24()
{
	cout &lt;&lt; numbers[hour] &lt;&lt; &quot; Uhr &quot;;
}

void daytime::printMinute()
{
	cout &lt;&lt; numbers[minute] &lt;&lt; (minute==1)?&quot; Minute &quot;:&quot; Minuten &quot;;
}

void daytime::printSecond()
{
	cout &lt;&lt; numbers[second] &lt;&lt; (second==1)?&quot; Sekunde &quot;:&quot; Sekunden &quot; ;
}

int getDurationInSeconds(daytime end, daytime begin)
{
    int durationInSeconds;
    durationInSeconds = end.getTimeInSeconds() - begin.getTimeInSeconds();
return durationInSeconds;
}
</code></pre>
<p>Desweiterebn bekomme ich keine Leerzeichen bzw zeilenschübe zwischen der ausgabe in Worten und der ausgabe der vorhandenen objekte hin <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051436</guid><dc:creator><![CDATA[Gunnar_FH]]></dc:creator><pubDate>Fri, 05 May 2006 11:11:52 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 11:18:25 GMT]]></title><description><![CDATA[<p>Woher die Ausgabe &quot;0Null0&quot; kommt, bin ich auch überfragt.</p>
<blockquote>
<p>Desweiterebn bekomme ich keine Leerzeichen bzw zeilenschübe zwischen der ausgabe in Worten und der ausgabe der vorhandenen objekte hin</p>
</blockquote>
<p>Leerzeichen kannst du mit &quot;cout&lt;&lt;' ';&quot; ausgeben, Zeilenwechsel mit &quot;cout&lt;&lt;'\n';&quot; oder &quot;cout&lt;&lt;endl;&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051442</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 05 May 2006 11:18:25 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 11:20:32 GMT]]></title><description><![CDATA[<p>HAllo,</p>
<p>ich habs gefunden lag wohl an der Ausgabe Minute bei 1 und Minuten bei allem anderen etc...</p>
<p>nun werden die sekunden aber seltsamerweise net mit der zahl ausgegeben</p>
<pre><code class="language-cpp">// File: daytime.cpp: implementation of the daytime class.
// Author: Gunnar Goebel
// Date: 06-04-28
// Version 1.0
// Copyright: This File is released under a creative Common Licence. See Link for further Information
// Licence Link: http://creativecommons.org/licenses/by-nc-sa/2.0/de/
//////////////////////////////////////////////////////////////////////

#include &quot;daytime.h&quot;
#include &lt;iostream&gt;
#include &lt;cassert&gt;
#include &lt;string&gt;
using namespace std;

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
static string numbers[]= {&quot;null&quot;, &quot;ein&quot;, &quot;zwei&quot;, &quot;drei&quot;, &quot;vier&quot;, &quot;fuenf&quot;, &quot;sechs&quot;,
                          &quot;sieben&quot;, &quot;acht&quot;, &quot;neun&quot;, &quot;zehn&quot;, &quot;elf&quot;, &quot;zwoelf&quot;, &quot;dreizehn&quot;,
                          &quot;vierzehn&quot;, &quot;fuenfzehn&quot;, &quot;sechzehn&quot;, &quot;siebzehn&quot;, &quot;achtzehn&quot;,
                          &quot;neunzeh&quot;, &quot;zwanzig&quot;, &quot;einundzwanzig&quot;, &quot;zweiundzwanzig&quot;, &quot;dreiundzwanzig&quot;,
                          &quot;vierundzwanzig&quot;, &quot;fuenfundzwanzig&quot;, &quot;sechsundzwanzig&quot;, &quot;siebenundzwanzig&quot;
                          &quot;achtundzwanzig&quot;, &quot;neunundzwanzig&quot;, &quot;dreissig&quot;, &quot;einunddreissig&quot;,
                          &quot;zweiunddreissig&quot;, &quot;dreiunddressig&quot;, &quot;vierunddreissig&quot;,
                          &quot;fuenfunddreissig&quot;, &quot;sechsunddreissig&quot;, &quot;siebenunddreissig&quot;,
                          &quot;achtunddreissig&quot;, &quot;neununddreissig&quot;, &quot;vierzig&quot;, &quot;einundvierzig&quot;, &quot;zweiundvierzig&quot;,
                          &quot;dreiundvierzig&quot;, &quot;vierundvierzig&quot;, &quot;fuenfundvierzig&quot;, &quot;sechsundvierzig&quot;, &quot;siebenundvierzig&quot;
                          &quot;achtundvierzig&quot;, &quot;neunundvierzig&quot;, &quot;fuenfzig&quot;, &quot;einundfuenzig&quot;, &quot;zweiundfuenzig&quot;,
                          &quot;dreiundfuenzig&quot;, &quot;vierundfuenzig&quot;, &quot;fuenfundfuenzig&quot;, &quot;sechsundfuenzig&quot;, &quot;siebenundfuenzig&quot;
                          &quot;achtundfuenzig&quot;, &quot;neunundfuenzig&quot;,};

int daytime::NumberOfTimeObjekts = 0;

daytime::daytime()
{
    ++ NumberOfTimeObjekts;
    cout &lt;&lt; &quot;Vorhandene Objekte: &quot; &lt;&lt; NumberOfTimeObjekts &lt;&lt;endl;
}

daytime::~daytime()
{
    -- NumberOfTimeObjekts;
    cout &lt;&lt; &quot;Vorhandene Objekte: &quot; &lt;&lt; NumberOfTimeObjekts &lt;&lt;endl;
}

void daytime::print24hFormat()
{
    cout &lt;&lt; ( hour &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; hour &lt;&lt; &quot;:&quot;
         &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute &lt;&lt; &quot;:&quot;
         &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second;
}

void daytime::print12hFormat()
{
    cout &lt;&lt; (( hour==0 || hour==12 ) ? 12 : hour % 12 )
         &lt;&lt; &quot;:&quot; &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute
         &lt;&lt; &quot;:&quot; &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second
         &lt;&lt; ( hour &lt; 12 ? &quot; AM&quot; : &quot; PM&quot; );
}

void daytime::setHMS(int HMShour, int HMSminute, int HMSsecond)
{
    // check if hour &gt;=0 and &lt;24
    assert(HMShour &lt; 24 &amp;&amp; HMShour &gt;= 0);
    // check if minute &gt;=0 and &lt;60
    assert(HMSminute &lt; 60 &amp;&amp; HMSminute &gt;= 0);
    // check if second &gt;=0 and &lt;60
    assert(HMSsecond &lt; 60 &amp;&amp; HMSsecond &gt;= 0);

    hour = HMShour;
    minute = HMSminute;
    second = HMSsecond;
}

/*void daytime::endTime()
{
    cout &lt;&lt; &quot;Abendessen endet um: &quot;;
    cout &lt;&lt; ( hour &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; hour &lt;&lt; &quot;:&quot;
         &lt;&lt; ( minute &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; minute &lt;&lt; &quot;:&quot;
         &lt;&lt; ( second &lt; 10 ? &quot;0&quot; : &quot;&quot; ) &lt;&lt; second &lt;&lt;endl;
}*/

int daytime::getTimeInSeconds()
{
    int sec;
    sec = hour*60*60 + minute*60 + second;
return sec;
}

void daytime::setS(int sec)
{
    assert(sec &lt; 86401);
    hour = sec/3600;
    sec = sec%3600;
    minute = sec/60;
    second = sec%60;
}

void daytime::printHour12()
{
  int h12 = (( hour==0 || hour==12 ) ? 12 : hour % 12 );
  cout &lt;&lt; numbers[h12] &lt;&lt; &quot; Uhr &quot;;
}

void daytime::printHour24()
{
	cout &lt;&lt; numbers[hour] &lt;&lt; &quot; Uhr &quot;;
}

void daytime::printMinute()
{
	cout &lt;&lt; numbers[minute] &lt;&lt; &quot; Minute(n) &quot;; 
		//&lt;&lt; (minute==1) ? &quot; Minute &quot;:&quot; Minuten &quot;;
}

void daytime::printSecond()
{
	cout &lt;&lt; numbers[second]  &lt;&lt; &quot; Sekunde(n) \n&quot;;
		//&lt;&lt; (second==1) ? &quot; Sekunde &quot;:&quot; Sekunden &quot; ;
}

int getDurationInSeconds(daytime end, daytime begin)
{
    int durationInSeconds;
    durationInSeconds = end.getTimeInSeconds() - begin.getTimeInSeconds();
return durationInSeconds;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1051445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051445</guid><dc:creator><![CDATA[Gunnar_Fh]]></dc:creator><pubDate>Fri, 05 May 2006 11:20:32 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 17:35:37 GMT]]></title><description><![CDATA[<p>Hallo Gunnar,</p>
<p>bist ja schon recht weit mit deinem Programm. Die Lehrmethode bei euch kann ich zwar auch nicht ganz nachvollziehn, aber das ist ja hier auch nicht das Thema.<br />
Mir ist bei Deinem String-Array aufgefallen dass du viele Kommata vergessen hast, das verursacht bestimmt eine menge Fehler.</p>
<p>Dein Array sollte so hier aussehen, falls du es nicht schon längst geändert hast.</p>
<pre><code class="language-cpp">static string numbers[]= {&quot;null&quot;, &quot;ein&quot;, &quot;zwei&quot;, &quot;drei&quot;, &quot;vier&quot;, &quot;fuenf&quot;, &quot;sechs&quot;,
                          &quot;sieben&quot;, &quot;acht&quot;, &quot;neun&quot;, &quot;zehn&quot;, &quot;elf&quot;, &quot;zwoelf&quot;, &quot;dreizehn&quot;,
                          &quot;vierzehn&quot;, &quot;fuenfzehn&quot;, &quot;sechzehn&quot;, &quot;siebzehn&quot;, &quot;achtzehn&quot;,
                          &quot;neunzeh&quot;, &quot;zwanzig&quot;, &quot;einundzwanzig&quot;, &quot;zweiundzwanzig&quot;, &quot;dreiundzwanzig&quot;,
                          &quot;vierundzwanzig&quot;, &quot;fuenfundzwanzig&quot;, &quot;sechsundzwanzig&quot;, &quot;siebenundzwanzig&quot;,
                          &quot;achtundzwanzig&quot;, &quot;neunundzwanzig&quot;, &quot;dreissig&quot;, &quot;einunddreissig&quot;,
                          &quot;zweiunddreissig&quot;, &quot;dreiunddressig&quot;, &quot;vierunddreissig&quot;,
                          &quot;fuenfunddreissig&quot;, &quot;sechsunddreissig&quot;, &quot;siebenunddreissig&quot;,
                          &quot;achtunddreissig&quot;, &quot;neununddreissig&quot;, &quot;vierzig&quot;, &quot;einundvierzig&quot;, &quot;zweiundvierzig&quot;,
                          &quot;dreiundvierzig&quot;, &quot;vierundvierzig&quot;, &quot;fuenfundvierzig&quot;, &quot;sechsundvierzig&quot;, &quot;siebenundvierzig&quot;,
                          &quot;achtundvierzig&quot;, &quot;neunundvierzig&quot;, &quot;fuenfzig&quot;, &quot;einundfuenzig&quot;, &quot;zweiundfuenzig&quot;,
                          &quot;dreiundfuenzig&quot;, &quot;vierundfuenzig&quot;, &quot;fuenfundfuenzig&quot;, &quot;sechsundfuenzig&quot;, &quot;siebenundfuenzig&quot;,
                          &quot;achtundfuenzig&quot;, &quot;neunundfuenzig&quot;};
</code></pre>
<p>Gruß Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051718</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 05 May 2006 17:35:37 GMT</pubDate></item><item><title><![CDATA[Reply to Tageszeit Projekt -&amp;gt; Zeitausagbe in Worten on Fri, 05 May 2006 21:17:34 GMT]]></title><description><![CDATA[<p>Gunnar_Fh schrieb:</p>
<blockquote>
<p>nun werden die sekunden aber seltsamerweise net mit der zahl ausgegeben</p>
</blockquote>
<p>Wie meinst du das? Zeigt er das Wort nicht an?</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1051836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1051836</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Fri, 05 May 2006 21:17:34 GMT</pubDate></item></channel></rss>