<?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[Fehler &#x27;terminated with status 1&#x27;]]></title><description><![CDATA[<p>Hey Leute! Ich habe wiedermal eine Frage:<br />
Unzwar sollten wir ein Programm entwickeln welches Daten einlesen, kontrollieren, vergleichen etc. kann.<br />
Das Programm ist fertig und es funktionierte auch. Nur urplötzlich lässt es sich nicht mehr ausführen, Fehlermeldung:</p>
<p>In Funktion 'Termin::Termin(Zeit, std::string, unsigned int)':<br />
class.cpp(.text._ZN6TerminC2E4ZeitSsj[_ZN6TerminC5E4ZeitSSj]+0x3c):<br />
Nicht defenierter Verweis auf 'Zeit::operator=(Zeit&amp;)'<br />
collect2: error: ld returned 1 exit status<br />
Process terminated with status 1 (0 minutes(s), 0 second(s))<br />
0 error(s), 0 warning(s) (0 minute (s), 0 second(s))</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;iomanip&gt;

using namespace std;

class Datum
{
  private:
    unsigned int tag;
    unsigned int monat;
    unsigned int jahr;
  public:
    Datum(unsigned int t, unsigned int m, unsigned int j)
    {
      switch(m)
      {
	case 1:
	  if(t&gt;31)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1;jahr=2000;
	  }
	  else
	  {
	       tag=t; monat=m; jahr=j;
	  }
	   break;
	case 2:
	  if((j%4==0 &amp;&amp; j%100 != 0 )|| j%400 ==0)
	  {
	    if(t &gt; 29)
	    {
	      cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	      tag=1; monat=1; jahr = 2000;
	    }
	    else
	    {
	      if(t &gt;28)
	      {
		cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
		tag=1; monat=1; jahr=2000;
	      }
	    }
	  }
	    else
	    {
	        tag=t, monat=m, jahr=j;
	    }
	  break;
	case 3:
	  if(t &gt; 31)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
	   {
        tag=t; monat=m; jahr=j;
	   }
	  break;
	case 4:
	  if(t &gt; 30)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
	    {
            tag=t; monat=m; jahr=j;
	    }
	  break;
	case 5:
	  if(t &gt; 31)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
        {
            tag=t; monat=m; jahr=j;
        }
	  break;
	case 6:
	  if(t &gt; 30)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
      {
          tag=t; monat=m; jahr=j;
      }
	  break;
	case 7:
	  if(t &gt; 31)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
 	    tag=1; monat=1; jahr=2000;
	  }
	  else
	    {
	        tag=t; monat=m; jahr=j;
	    }
	    break;
	case 8:
	  if(t &gt; 31)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
	    {
	        tag=t; monat=m; jahr=j;
	    }
	  break;
	case 9:
	  if(t &gt; 30)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
	    {
	        tag=t; monat=m; jahr=j;
	    }
	  break;
	case 10:
	  if(t &gt; 31)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
	    {
	        tag=t; monat=m; jahr=j;
	    }
	  break;
	case 11:
	  if(t &gt; 30)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
	    {
	        tag=t; monat=m; jahr=j;
	    }
	  break;
	case 12:
	  if(t &gt; 31)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
	    {
	        tag=t; monat=m; jahr=j;
	    }
	  break;
	default:
	  cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
 	  tag=1; monat=1; jahr=2000;
	  break;
      }

      return;
    }

    Datum() : Datum(1, 1, 2000)                 //Standardkonstruktor
    {
      return;
    }

    friend ostream&amp; operator&lt;&lt;(ostream&amp; , const Datum&amp;);

    Datum&amp; operator+=(unsigned int);

    friend istream&amp; operator&gt;&gt;(istream&amp;, Datum&amp;);

    friend bool operator==(const Datum&amp;, const Datum&amp;);

    Datum&amp; operator=(Datum&amp;);
};

ostream&amp; operator&lt;&lt;(ostream&amp; os , const Datum&amp; d)
{
    os &lt;&lt; d.tag &lt;&lt; &quot;. &quot;;
    switch(d.monat)
    {
        case 1:
        os &lt;&lt;&quot;Januar &quot;;
        break;
        case 2:
        os &lt;&lt;&quot;Februar &quot;;
        break;
        case 3:
        os &lt;&lt;&quot;Maerz &quot;;
        break;
        case 4:
        os &lt;&lt;&quot;April &quot;;
        break;
        case 5:
        os &lt;&lt;&quot;Mai &quot;;
        break;
        case 6:
        os &lt;&lt;&quot;Juni &quot;;
        break;
        case 7:
        os &lt;&lt;&quot;Juli &quot;;
        break;
        case 8:
        os &lt;&lt;&quot;August &quot;;
        break;
        case 9:
        os &lt;&lt;&quot;September &quot;;
        break;
        case 10:
        os &lt;&lt;&quot;Oktober &quot;;
        break;
        case 11:
        os &lt;&lt;&quot;November &quot;;
        break;
        case 12:
        os &lt;&lt;&quot;Dezember &quot;;
        break;
        default:
        break;
      }
        os &lt;&lt; d.jahr ;

        return os;
}

Datum&amp; Datum::operator+=(unsigned int a)
{
        while (a&gt;0)
        {
            switch(monat)
            {
                case 1:
                    if(a&lt;=31-tag) {tag += a; a=0;}
                    else {a= a-(31-tag+1); monat+=1; tag=1;}
                break;
                case 2:
                    if((jahr%4==0 &amp;&amp; jahr%100 != 0)|| jahr % 400 == 0)
                        {
                            if(a&lt;=29-tag) {tag += a; a=0;}
                            else{a= a-(29-tag+1); monat+=1; tag=1;}
                        }
                    else if(jahr%4 != 0)
                    {
                        if(a&lt;=28-tag) {tag += a; a=0;}
                        else {a= a-(28-tag+1); monat+=1; tag=1;}

                    }
                break;
                case 3:
                    if(a&lt;=31-tag)  {tag += a; a=0;}
                    else {a= a-(31-tag+1); monat+=1; tag=1;}
                break;
                case 4:
                    if(a&lt;=30-tag) {tag += a; a=0;}
                    else{a= a-(30-tag+1); monat+=1; tag=1;}
                break;
                case 5:
                    if(a&lt;=31-tag) {tag += a; a=0;}
                    else{a= a-(31-tag+1); monat+=1; tag=1;}
                break;
                case 6:
                    if(a&lt;=30-tag) {tag += a; a=0;}
                    else{a= a-(30-tag+1); monat+=1; tag=1;}
                break;
                case 7:
                    if(a&lt;=31-tag) {tag += a; a=0;}
                    else{a= a-(31-tag+1); monat+=1; tag=1;}
                break;
                case 8:
                    if(a&lt;=31-tag) {tag += a; a=0;}
                    else{a= a-(31-tag+1); monat+=1; tag=1;}
                break;
                case 9:
                    if(a&lt;=30-tag) {tag += a; a=0;}
                    else{a= a-(30-tag+1); monat+=1; tag=1;}
                break;
                case 10:
                    if(a&lt;=31-tag) {tag += a; a=0;}
                    else{a= a-(31-tag+1); monat+=1; tag=1;}
                break;
                case 11:
                    if(a&lt;=30-tag) {tag += a; a=0;}
                    else{a= a-(30-tag+1); monat+=1; tag=1;}
                break;
                case 12:
                    if(a&lt;=31-tag) {tag += a; a=0;}
                    else{a= a-(31-tag+1); jahr += 1; monat=1; tag=1;}
                break;
                default:
                break;

            }
    }

return *this;
}

istream&amp; operator&gt;&gt;(istream&amp; is, Datum&amp; d)
{
    cin&gt;&gt;d.tag&gt;&gt;d.monat&gt;&gt;d.jahr;

    return is;
}

bool operator==(const Datum&amp; d, const Datum&amp; e)
{
    if(d.tag == e.tag &amp;&amp; d.monat == e.monat &amp;&amp; d.jahr == e.jahr)
        return true;
    else
        return false;
}

Datum&amp; Datum:: operator=(Datum&amp; d)
{
  tag=d.tag;
  monat=d.monat;
  jahr=d.jahr;

  return *this;
}

class Zeit
{
private:
    unsigned int stunde;
    unsigned int minute;
    Datum datum;
public:
    Zeit(Datum d, unsigned int s, unsigned int m)
    {
        if(s&gt;23 || m&gt;59)
            {
                cout&lt;&lt;d&lt;&lt;&quot;, &quot;&lt;&lt;s&lt;&lt;&quot;:&quot;&lt;&lt;m&lt;&lt;&quot; Uhr ist keine gueltige Zeit!&quot;&lt;&lt;endl;
                stunde=0;
                minute=0;
            }
        else{stunde = s; minute = m; datum = d;}
    }

    Zeit() : Zeit(Datum(), 0, 0)                 //Standardkonstruktor
    {
      return;
    }

    Zeit&amp; operator+=(unsigned int);
    friend ostream&amp; operator&lt;&lt;(ostream&amp; , const Zeit&amp; );
    friend bool operator==(const Zeit&amp;, const Zeit&amp;);
    Zeit&amp; operator=( Zeit&amp;);

};

Zeit&amp; Zeit::operator+=(unsigned int a)
{
    while (a&gt;0)

    {
        if(stunde == 23)
        {

            if(a&lt;= 59-minute)
            {
                minute += a;
                a=0;
            }
            else
            {
                a = a-(59-minute+1);
                stunde = 0;
                minute = 0;
                datum+=1;
            }
        }
        else
        {
            if(a&lt;= 59-minute)
            {
                minute += a;
                a=0;
            }
            else
            {
                a = a-(59-minute+1);
                stunde += 1;
                minute = 0;

            }
        }

    }
return *this;
}

ostream&amp; operator&lt;&lt;(ostream&amp; os , const Zeit&amp; z)
{
    cout&lt;&lt;z.datum&lt;&lt;&quot;, &quot;;
    if(z.stunde&lt;10)
        cout&lt;&lt;&quot;0&quot;;
    cout&lt;&lt;z.stunde&lt;&lt;&quot;:&quot;;
    if(z.minute&lt;10)
        cout&lt;&lt;&quot;0&quot;;
    cout&lt;&lt;z.minute&lt;&lt;&quot; Uhr&quot;;
    return os;
}

bool operator==(const Zeit&amp; x, const Zeit&amp; y)
{
    if(x.datum == y.datum &amp;&amp; x.minute == y.minute &amp;&amp; x.stunde == y.stunde)
        return true;
    else
        return false;
}

class Termin
{
private:
    Zeit zeit;
    unsigned int dauer;
    string beschreibung;
public:

    Termin(Zeit z, string b, unsigned int d)
    {
        zeit=z;
        beschreibung=b;
        dauer=d;
    }

    Termin() : Termin(Zeit(), &quot;leer&quot;, 0)
    {
        return;
    }

    friend ostream&amp; operator&lt;&lt;(ostream&amp; , Termin&amp;);

};

ostream&amp; operator&lt;&lt;(ostream&amp; os , Termin&amp; t)
{
    cout&lt;&lt;&quot;Termin: &quot;&lt;&lt;t.beschreibung&lt;&lt;endl;
    cout&lt;&lt;&quot;Beginn: &quot;&lt;&lt;t.zeit&lt;&lt;endl;
    t.zeit+=t.dauer;
    cout&lt;&lt;&quot;Ende: &quot;&lt;&lt;t.zeit&lt;&lt;endl;

    return os;
}

int main(void)
{
    Datum d1;
    Datum d2(03, 12, 2015);

    cout&lt;&lt;boolalpha;
    cout&lt;&lt;&quot;Datum d1: &quot;&lt;&lt;d1&lt;&lt;endl;
    cout&lt;&lt;&quot;Datum d2: &quot;&lt;&lt;d2&lt;&lt;endl&lt;&lt;endl;

    cout &lt;&lt; &quot;Versuche d3 mit Datum 30.02.2016 anzulegen&quot; &lt;&lt; endl;
    Datum d3(30,2,2016);
    cout &lt;&lt; &quot;Datum d3: &quot; &lt;&lt; d3 &lt;&lt; endl &lt;&lt; endl;

    cout &lt;&lt; &quot;Vergleiche d1 mit d2 und d3: &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;d1==d2: &quot; &lt;&lt; (d1==d2) &lt;&lt; endl;
    cout &lt;&lt; &quot;d1==d3: &quot; &lt;&lt; (d1==d3) &lt;&lt; endl &lt;&lt; endl;

    cout&lt;&lt; &quot;Setze d1 auf Wert von d2&quot;&lt;&lt;endl;
    d1 = d2;
    cout&lt;&lt; &quot;Datum d1: &quot;&lt;&lt; d1 &lt;&lt; endl&lt;&lt;endl;

    cout &lt;&lt; &quot;Addiere 100 Tage zu d1&quot; &lt;&lt; endl;
    d1 += 100;
    cout &lt;&lt; &quot;Datum d1: &quot; &lt;&lt; d1 &lt;&lt; endl;
    cout &lt;&lt; &quot;Addiere 60 Tage zu d2&quot; &lt;&lt; endl;
    d2 += 60;
    cout &lt;&lt; &quot;Datum d2: &quot; &lt;&lt; d2 &lt;&lt; endl &lt;&lt; endl;

    cout &lt;&lt; &quot;Datum im Format \&quot;tt mm jjjj\&quot; eingeben: &quot;; cout.flush();
    cin &gt;&gt; d1;
    cout &lt;&lt; &quot;Speichere eingegebenes Datum in d1&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Datum d1: &quot; &lt;&lt; d1 &lt;&lt; endl &lt;&lt; endl;

    Zeit z1;
    cout &lt;&lt; &quot;Zeitpunkt z1: &quot; &lt;&lt; z1 &lt;&lt; endl;
    Zeit z2(d1,23,30);
    cout &lt;&lt; &quot;Zeitpunkt z2: &quot; &lt;&lt; z2 &lt;&lt; endl;
    cout &lt;&lt; &quot;Versuche Zeit z3 mit d1 und Zeit 25:10 Uhr anzulegen: &quot; &lt;&lt; endl;
    Zeit z3(d1,25,10);
    z2 += 100;
    cout &lt;&lt; &quot;Addiere 100 Minuten zu z2: &quot; &lt;&lt; z2 &lt;&lt; endl &lt;&lt; endl;

    d1 += 1;
    Zeit z4(d1, 1, 10);
    cout &lt;&lt; &quot;Kollisionstest z1 mit z2: &quot; &lt;&lt; (z1==z2) &lt;&lt; endl;
    cout &lt;&lt; &quot;Kollisionstest z2 mit z4: &quot; &lt;&lt; (z2==z4) &lt;&lt; endl &lt;&lt; endl;

    Zeit z5(d2,22,30);
    cout &lt;&lt; &quot;Zeitpunkt z5: &quot; &lt;&lt; z5 &lt;&lt; endl;
    z5 += 2000;
    cout &lt;&lt; &quot;Addiere 2000 Minuten zu Zeitpunkt z5: &quot; &lt;&lt; z5 &lt;&lt; endl &lt;&lt; endl;

    Termin t1(Zeit(Datum(16,2,2016),10,0),&quot;OOP Klausur&quot;,90);
    cout &lt;&lt; &quot;Erstelle Termin mit 90 Minuten Dauer: &quot; &lt;&lt; endl &lt;&lt; t1 &lt;&lt; endl;

    return 0;

}
</code></pre>
<p>Ich weiß ist ein ziemlicher Brocken, vielleicht kann trotzdem wer helfen! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/335673/fehler-terminated-with-status-1</link><generator>RSS for Node</generator><lastBuildDate>Mon, 20 Apr 2026 08:39:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/335673.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 03 Dec 2015 17:15:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler &#x27;terminated with status 1&#x27; on Thu, 03 Dec 2015 17:15:37 GMT]]></title><description><![CDATA[<p>Hey Leute! Ich habe wiedermal eine Frage:<br />
Unzwar sollten wir ein Programm entwickeln welches Daten einlesen, kontrollieren, vergleichen etc. kann.<br />
Das Programm ist fertig und es funktionierte auch. Nur urplötzlich lässt es sich nicht mehr ausführen, Fehlermeldung:</p>
<p>In Funktion 'Termin::Termin(Zeit, std::string, unsigned int)':<br />
class.cpp(.text._ZN6TerminC2E4ZeitSsj[_ZN6TerminC5E4ZeitSSj]+0x3c):<br />
Nicht defenierter Verweis auf 'Zeit::operator=(Zeit&amp;)'<br />
collect2: error: ld returned 1 exit status<br />
Process terminated with status 1 (0 minutes(s), 0 second(s))<br />
0 error(s), 0 warning(s) (0 minute (s), 0 second(s))</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;iomanip&gt;

using namespace std;

class Datum
{
  private:
    unsigned int tag;
    unsigned int monat;
    unsigned int jahr;
  public:
    Datum(unsigned int t, unsigned int m, unsigned int j)
    {
      switch(m)
      {
	case 1:
	  if(t&gt;31)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1;jahr=2000;
	  }
	  else
	  {
	       tag=t; monat=m; jahr=j;
	  }
	   break;
	case 2:
	  if((j%4==0 &amp;&amp; j%100 != 0 )|| j%400 ==0)
	  {
	    if(t &gt; 29)
	    {
	      cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	      tag=1; monat=1; jahr = 2000;
	    }
	    else
	    {
	      if(t &gt;28)
	      {
		cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
		tag=1; monat=1; jahr=2000;
	      }
	    }
	  }
	    else
	    {
	        tag=t, monat=m, jahr=j;
	    }
	  break;
	case 3:
	  if(t &gt; 31)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
	   {
        tag=t; monat=m; jahr=j;
	   }
	  break;
	case 4:
	  if(t &gt; 30)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
	    {
            tag=t; monat=m; jahr=j;
	    }
	  break;
	case 5:
	  if(t &gt; 31)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
        {
            tag=t; monat=m; jahr=j;
        }
	  break;
	case 6:
	  if(t &gt; 30)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
      {
          tag=t; monat=m; jahr=j;
      }
	  break;
	case 7:
	  if(t &gt; 31)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
 	    tag=1; monat=1; jahr=2000;
	  }
	  else
	    {
	        tag=t; monat=m; jahr=j;
	    }
	    break;
	case 8:
	  if(t &gt; 31)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
	    {
	        tag=t; monat=m; jahr=j;
	    }
	  break;
	case 9:
	  if(t &gt; 30)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
	    {
	        tag=t; monat=m; jahr=j;
	    }
	  break;
	case 10:
	  if(t &gt; 31)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
	    {
	        tag=t; monat=m; jahr=j;
	    }
	  break;
	case 11:
	  if(t &gt; 30)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
	    {
	        tag=t; monat=m; jahr=j;
	    }
	  break;
	case 12:
	  if(t &gt; 31)
	  {
	    cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
	    tag=1; monat=1; jahr=2000;
	  }
	  else
	    {
	        tag=t; monat=m; jahr=j;
	    }
	  break;
	default:
	  cout&lt;&lt;t&lt;&lt;&quot;.&quot;&lt;&lt;m&lt;&lt;&quot;.&quot;&lt;&lt;j&lt;&lt;&quot; ist ein ungueltiges Datum!&quot;&lt;&lt;endl;
 	  tag=1; monat=1; jahr=2000;
	  break;
      }

      return;
    }

    Datum() : Datum(1, 1, 2000)                 //Standardkonstruktor
    {
      return;
    }

    friend ostream&amp; operator&lt;&lt;(ostream&amp; , const Datum&amp;);

    Datum&amp; operator+=(unsigned int);

    friend istream&amp; operator&gt;&gt;(istream&amp;, Datum&amp;);

    friend bool operator==(const Datum&amp;, const Datum&amp;);

    Datum&amp; operator=(Datum&amp;);
};

ostream&amp; operator&lt;&lt;(ostream&amp; os , const Datum&amp; d)
{
    os &lt;&lt; d.tag &lt;&lt; &quot;. &quot;;
    switch(d.monat)
    {
        case 1:
        os &lt;&lt;&quot;Januar &quot;;
        break;
        case 2:
        os &lt;&lt;&quot;Februar &quot;;
        break;
        case 3:
        os &lt;&lt;&quot;Maerz &quot;;
        break;
        case 4:
        os &lt;&lt;&quot;April &quot;;
        break;
        case 5:
        os &lt;&lt;&quot;Mai &quot;;
        break;
        case 6:
        os &lt;&lt;&quot;Juni &quot;;
        break;
        case 7:
        os &lt;&lt;&quot;Juli &quot;;
        break;
        case 8:
        os &lt;&lt;&quot;August &quot;;
        break;
        case 9:
        os &lt;&lt;&quot;September &quot;;
        break;
        case 10:
        os &lt;&lt;&quot;Oktober &quot;;
        break;
        case 11:
        os &lt;&lt;&quot;November &quot;;
        break;
        case 12:
        os &lt;&lt;&quot;Dezember &quot;;
        break;
        default:
        break;
      }
        os &lt;&lt; d.jahr ;

        return os;
}

Datum&amp; Datum::operator+=(unsigned int a)
{
        while (a&gt;0)
        {
            switch(monat)
            {
                case 1:
                    if(a&lt;=31-tag) {tag += a; a=0;}
                    else {a= a-(31-tag+1); monat+=1; tag=1;}
                break;
                case 2:
                    if((jahr%4==0 &amp;&amp; jahr%100 != 0)|| jahr % 400 == 0)
                        {
                            if(a&lt;=29-tag) {tag += a; a=0;}
                            else{a= a-(29-tag+1); monat+=1; tag=1;}
                        }
                    else if(jahr%4 != 0)
                    {
                        if(a&lt;=28-tag) {tag += a; a=0;}
                        else {a= a-(28-tag+1); monat+=1; tag=1;}

                    }
                break;
                case 3:
                    if(a&lt;=31-tag)  {tag += a; a=0;}
                    else {a= a-(31-tag+1); monat+=1; tag=1;}
                break;
                case 4:
                    if(a&lt;=30-tag) {tag += a; a=0;}
                    else{a= a-(30-tag+1); monat+=1; tag=1;}
                break;
                case 5:
                    if(a&lt;=31-tag) {tag += a; a=0;}
                    else{a= a-(31-tag+1); monat+=1; tag=1;}
                break;
                case 6:
                    if(a&lt;=30-tag) {tag += a; a=0;}
                    else{a= a-(30-tag+1); monat+=1; tag=1;}
                break;
                case 7:
                    if(a&lt;=31-tag) {tag += a; a=0;}
                    else{a= a-(31-tag+1); monat+=1; tag=1;}
                break;
                case 8:
                    if(a&lt;=31-tag) {tag += a; a=0;}
                    else{a= a-(31-tag+1); monat+=1; tag=1;}
                break;
                case 9:
                    if(a&lt;=30-tag) {tag += a; a=0;}
                    else{a= a-(30-tag+1); monat+=1; tag=1;}
                break;
                case 10:
                    if(a&lt;=31-tag) {tag += a; a=0;}
                    else{a= a-(31-tag+1); monat+=1; tag=1;}
                break;
                case 11:
                    if(a&lt;=30-tag) {tag += a; a=0;}
                    else{a= a-(30-tag+1); monat+=1; tag=1;}
                break;
                case 12:
                    if(a&lt;=31-tag) {tag += a; a=0;}
                    else{a= a-(31-tag+1); jahr += 1; monat=1; tag=1;}
                break;
                default:
                break;

            }
    }

return *this;
}

istream&amp; operator&gt;&gt;(istream&amp; is, Datum&amp; d)
{
    cin&gt;&gt;d.tag&gt;&gt;d.monat&gt;&gt;d.jahr;

    return is;
}

bool operator==(const Datum&amp; d, const Datum&amp; e)
{
    if(d.tag == e.tag &amp;&amp; d.monat == e.monat &amp;&amp; d.jahr == e.jahr)
        return true;
    else
        return false;
}

Datum&amp; Datum:: operator=(Datum&amp; d)
{
  tag=d.tag;
  monat=d.monat;
  jahr=d.jahr;

  return *this;
}

class Zeit
{
private:
    unsigned int stunde;
    unsigned int minute;
    Datum datum;
public:
    Zeit(Datum d, unsigned int s, unsigned int m)
    {
        if(s&gt;23 || m&gt;59)
            {
                cout&lt;&lt;d&lt;&lt;&quot;, &quot;&lt;&lt;s&lt;&lt;&quot;:&quot;&lt;&lt;m&lt;&lt;&quot; Uhr ist keine gueltige Zeit!&quot;&lt;&lt;endl;
                stunde=0;
                minute=0;
            }
        else{stunde = s; minute = m; datum = d;}
    }

    Zeit() : Zeit(Datum(), 0, 0)                 //Standardkonstruktor
    {
      return;
    }

    Zeit&amp; operator+=(unsigned int);
    friend ostream&amp; operator&lt;&lt;(ostream&amp; , const Zeit&amp; );
    friend bool operator==(const Zeit&amp;, const Zeit&amp;);
    Zeit&amp; operator=( Zeit&amp;);

};

Zeit&amp; Zeit::operator+=(unsigned int a)
{
    while (a&gt;0)

    {
        if(stunde == 23)
        {

            if(a&lt;= 59-minute)
            {
                minute += a;
                a=0;
            }
            else
            {
                a = a-(59-minute+1);
                stunde = 0;
                minute = 0;
                datum+=1;
            }
        }
        else
        {
            if(a&lt;= 59-minute)
            {
                minute += a;
                a=0;
            }
            else
            {
                a = a-(59-minute+1);
                stunde += 1;
                minute = 0;

            }
        }

    }
return *this;
}

ostream&amp; operator&lt;&lt;(ostream&amp; os , const Zeit&amp; z)
{
    cout&lt;&lt;z.datum&lt;&lt;&quot;, &quot;;
    if(z.stunde&lt;10)
        cout&lt;&lt;&quot;0&quot;;
    cout&lt;&lt;z.stunde&lt;&lt;&quot;:&quot;;
    if(z.minute&lt;10)
        cout&lt;&lt;&quot;0&quot;;
    cout&lt;&lt;z.minute&lt;&lt;&quot; Uhr&quot;;
    return os;
}

bool operator==(const Zeit&amp; x, const Zeit&amp; y)
{
    if(x.datum == y.datum &amp;&amp; x.minute == y.minute &amp;&amp; x.stunde == y.stunde)
        return true;
    else
        return false;
}

class Termin
{
private:
    Zeit zeit;
    unsigned int dauer;
    string beschreibung;
public:

    Termin(Zeit z, string b, unsigned int d)
    {
        zeit=z;
        beschreibung=b;
        dauer=d;
    }

    Termin() : Termin(Zeit(), &quot;leer&quot;, 0)
    {
        return;
    }

    friend ostream&amp; operator&lt;&lt;(ostream&amp; , Termin&amp;);

};

ostream&amp; operator&lt;&lt;(ostream&amp; os , Termin&amp; t)
{
    cout&lt;&lt;&quot;Termin: &quot;&lt;&lt;t.beschreibung&lt;&lt;endl;
    cout&lt;&lt;&quot;Beginn: &quot;&lt;&lt;t.zeit&lt;&lt;endl;
    t.zeit+=t.dauer;
    cout&lt;&lt;&quot;Ende: &quot;&lt;&lt;t.zeit&lt;&lt;endl;

    return os;
}

int main(void)
{
    Datum d1;
    Datum d2(03, 12, 2015);

    cout&lt;&lt;boolalpha;
    cout&lt;&lt;&quot;Datum d1: &quot;&lt;&lt;d1&lt;&lt;endl;
    cout&lt;&lt;&quot;Datum d2: &quot;&lt;&lt;d2&lt;&lt;endl&lt;&lt;endl;

    cout &lt;&lt; &quot;Versuche d3 mit Datum 30.02.2016 anzulegen&quot; &lt;&lt; endl;
    Datum d3(30,2,2016);
    cout &lt;&lt; &quot;Datum d3: &quot; &lt;&lt; d3 &lt;&lt; endl &lt;&lt; endl;

    cout &lt;&lt; &quot;Vergleiche d1 mit d2 und d3: &quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;d1==d2: &quot; &lt;&lt; (d1==d2) &lt;&lt; endl;
    cout &lt;&lt; &quot;d1==d3: &quot; &lt;&lt; (d1==d3) &lt;&lt; endl &lt;&lt; endl;

    cout&lt;&lt; &quot;Setze d1 auf Wert von d2&quot;&lt;&lt;endl;
    d1 = d2;
    cout&lt;&lt; &quot;Datum d1: &quot;&lt;&lt; d1 &lt;&lt; endl&lt;&lt;endl;

    cout &lt;&lt; &quot;Addiere 100 Tage zu d1&quot; &lt;&lt; endl;
    d1 += 100;
    cout &lt;&lt; &quot;Datum d1: &quot; &lt;&lt; d1 &lt;&lt; endl;
    cout &lt;&lt; &quot;Addiere 60 Tage zu d2&quot; &lt;&lt; endl;
    d2 += 60;
    cout &lt;&lt; &quot;Datum d2: &quot; &lt;&lt; d2 &lt;&lt; endl &lt;&lt; endl;

    cout &lt;&lt; &quot;Datum im Format \&quot;tt mm jjjj\&quot; eingeben: &quot;; cout.flush();
    cin &gt;&gt; d1;
    cout &lt;&lt; &quot;Speichere eingegebenes Datum in d1&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Datum d1: &quot; &lt;&lt; d1 &lt;&lt; endl &lt;&lt; endl;

    Zeit z1;
    cout &lt;&lt; &quot;Zeitpunkt z1: &quot; &lt;&lt; z1 &lt;&lt; endl;
    Zeit z2(d1,23,30);
    cout &lt;&lt; &quot;Zeitpunkt z2: &quot; &lt;&lt; z2 &lt;&lt; endl;
    cout &lt;&lt; &quot;Versuche Zeit z3 mit d1 und Zeit 25:10 Uhr anzulegen: &quot; &lt;&lt; endl;
    Zeit z3(d1,25,10);
    z2 += 100;
    cout &lt;&lt; &quot;Addiere 100 Minuten zu z2: &quot; &lt;&lt; z2 &lt;&lt; endl &lt;&lt; endl;

    d1 += 1;
    Zeit z4(d1, 1, 10);
    cout &lt;&lt; &quot;Kollisionstest z1 mit z2: &quot; &lt;&lt; (z1==z2) &lt;&lt; endl;
    cout &lt;&lt; &quot;Kollisionstest z2 mit z4: &quot; &lt;&lt; (z2==z4) &lt;&lt; endl &lt;&lt; endl;

    Zeit z5(d2,22,30);
    cout &lt;&lt; &quot;Zeitpunkt z5: &quot; &lt;&lt; z5 &lt;&lt; endl;
    z5 += 2000;
    cout &lt;&lt; &quot;Addiere 2000 Minuten zu Zeitpunkt z5: &quot; &lt;&lt; z5 &lt;&lt; endl &lt;&lt; endl;

    Termin t1(Zeit(Datum(16,2,2016),10,0),&quot;OOP Klausur&quot;,90);
    cout &lt;&lt; &quot;Erstelle Termin mit 90 Minuten Dauer: &quot; &lt;&lt; endl &lt;&lt; t1 &lt;&lt; endl;

    return 0;

}
</code></pre>
<p>Ich weiß ist ein ziemlicher Brocken, vielleicht kann trotzdem wer helfen! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2478065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2478065</guid><dc:creator><![CDATA[DEWeezy]]></dc:creator><pubDate>Thu, 03 Dec 2015 17:15:37 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler &#x27;terminated with status 1&#x27; on Thu, 03 Dec 2015 17:26:05 GMT]]></title><description><![CDATA[<p>Wo ist die Implementierung zu Zeile 364:</p>
<pre><code>Zeit&amp; operator=( Zeit&amp;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2478068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2478068</guid><dc:creator><![CDATA[zeitreise]]></dc:creator><pubDate>Thu, 03 Dec 2015 17:26:05 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler &#x27;terminated with status 1&#x27; on Thu, 03 Dec 2015 17:39:45 GMT]]></title><description><![CDATA[<p>Mit etwas Denke hätte man das auch selbst lösen können ;). Der Fehler steht doch schon auf dem Tablett serviert:</p>
<pre><code>Termin::Termin(Zeit, std::string, unsigned int)': 
class.cpp:  Nicht defenierter Verweis auf 'Zeit::operator=(Zeit&amp;)'
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2478070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2478070</guid><dc:creator><![CDATA[Techel]]></dc:creator><pubDate>Thu, 03 Dec 2015 17:39:45 GMT</pubDate></item></channel></rss>