<?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[Klasse, Feld, Zugriff auf Felder]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Ich wusste nicht wie ich das Thema anders bennen sollte. Ich bin Anfängerin, also nehmt mich nicht gleich komplett außeinander <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>Aufgrund einer Aufgabe soll ein Verwaltungsprogramm erstellt werden.</p>
<p>Ich habe bisher 600 Zeilen Code und funktionieren tut irgendwie gar nichts.</p>
<p>Die Klasse:</p>
<pre><code>class ZIMMER
{
      private:
			  //private Klassenattribute
              string Gast;
              int Tage, Typ, Nummer;
			  bool Belegung; 

      public:
			  //öffentliche Methoden
			  //Set um Werte zu setzen
			  void ZIMMER_TYP (int);
			  void ZIMMER_NR (int);
			  void ZIMMER_TAGE (int);
			  void ZIMMER_BELEGUNG (bool);
			  void ZIMMER_GAST (string);

			  //Get um Werte zu erhalten
			  int BZIMMER_TYP ();
			  int BZIMMER_NR ();
			  int BZIMMER_TAGE ();
			  bool BZIMMER_BELEGUNG ();
			  string BZIMMER_GAST();

			  ZIMMER();///Deklaration des Konstruktors
                          ZIMMER (int, int, int, bool, string);
</code></pre>
<p>Die Methoden der Klasse:</p>
<pre><code>void ZIMMER::ZIMMER_TYP(int Z_Typ)

	{
       Typ=Z_Typ;
	}  

void ZIMMER::ZIMMER_NR(int Z_Nr)
	{
		Nummer=Z_Nr;
	}

void ZIMMER::ZIMMER_TAGE(int Z_Tage)
	{
		Tage=Z_Tage;
	}

void ZIMMER::ZIMMER_BELEGUNG(bool Z_Belegung)
	{
		Belegung=Z_Belegung;
	}

void ZIMMER::ZIMMER_GAST(string Z_Gast)
	{
		Gast=Z_Gast;
	}

int ZIMMER::BZIMMER_TYP(void)
	{
		return (Typ);
	}
int ZIMMER::BZIMMER_NR(void)
	{
		return (Nummer);
	}
int ZIMMER::BZIMMER_TAGE(void)
	{
		return (Tage);
	}
bool ZIMMER::BZIMMER_BELEGUNG(void)
	{
		return (Belegung);
	}
string ZIMMER::BZIMMER_GAST(void)
	{
		return (Gast);
	}
</code></pre>
<p>und die Zimmer werden in einem Feld gespeichert und Objekte erzeugt:</p>
<pre><code>ZIMMER Zimmer[20];
{

//Schleifen zur Generierung von Objekten
	//Einzelzimmer
	for (int i=1; i &lt;=10; i++)
	{
		Zimmer[i].ZIMMER_TYP(100);
		Zimmer[i].ZIMMER_NR(100+i);
		Zimmer[i].ZIMMER_BELEGUNG(false);
	}

	//Doppelzimmer
	for (int i =11; i&lt;=20; i++)
	{
		Zimmer[i].ZIMMER_TYP(200);
		Zimmer[i].ZIMMER_NR(200+i);
		Zimmer[i].ZIMMER_BELEGUNG(false);
	}
</code></pre>
<p>Jetzt wollte ich hergehen und z.B. eine Zimmer belegen.</p>
<pre><code>cout&lt;&lt;&quot;Geben Sie die Übernachtungstage ein&quot;&lt;&lt;endl;
							cin&gt;&gt;Zimmer[i].ZIMMER_TAGE(int Z_Tage);
cout&lt;&lt;&quot;Geben Sie den Namen des Gastes ein&quot;&lt;&lt;endl;
							cin&gt;&gt;Zimmer[i].ZIMMER_GAST(string Z_Gast);
							Zimmer[i].ZIMMER_BELEGUNG(false);
</code></pre>
<p>Da fängt's ja dann schon an. Es wird string nicht akzeptiert #include &lt;string&gt; habe ich deshalb gemacht (aufgrund eines Forumsvorschlages) gebracht hat es aber nicht's. Außerdem sagt er, dass die Funktion (cin&gt;&gt;Zimmer[i].ZIMMER_TAGE(int Z_Tage);) kein 0 Argument akzeptiert. Liege ich vielleicht mit meinem Konzept vollkommen auf dem falschen Dampfer?<br />
Reichen die Infos die ich hier gebracht habe, oder werden zusätzliche Angaben benötigt. Für etwas Hilfe wäre ich wirklich dankbar.</p>
<p>Danke schonmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/297797/klasse-feld-zugriff-auf-felder</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 06:49:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/297797.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 Jan 2012 23:45:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klasse, Feld, Zugriff auf Felder on Fri, 06 Jan 2012 23:45:07 GMT]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Ich wusste nicht wie ich das Thema anders bennen sollte. Ich bin Anfängerin, also nehmt mich nicht gleich komplett außeinander <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>Aufgrund einer Aufgabe soll ein Verwaltungsprogramm erstellt werden.</p>
<p>Ich habe bisher 600 Zeilen Code und funktionieren tut irgendwie gar nichts.</p>
<p>Die Klasse:</p>
<pre><code>class ZIMMER
{
      private:
			  //private Klassenattribute
              string Gast;
              int Tage, Typ, Nummer;
			  bool Belegung; 

      public:
			  //öffentliche Methoden
			  //Set um Werte zu setzen
			  void ZIMMER_TYP (int);
			  void ZIMMER_NR (int);
			  void ZIMMER_TAGE (int);
			  void ZIMMER_BELEGUNG (bool);
			  void ZIMMER_GAST (string);

			  //Get um Werte zu erhalten
			  int BZIMMER_TYP ();
			  int BZIMMER_NR ();
			  int BZIMMER_TAGE ();
			  bool BZIMMER_BELEGUNG ();
			  string BZIMMER_GAST();

			  ZIMMER();///Deklaration des Konstruktors
                          ZIMMER (int, int, int, bool, string);
</code></pre>
<p>Die Methoden der Klasse:</p>
<pre><code>void ZIMMER::ZIMMER_TYP(int Z_Typ)

	{
       Typ=Z_Typ;
	}  

void ZIMMER::ZIMMER_NR(int Z_Nr)
	{
		Nummer=Z_Nr;
	}

void ZIMMER::ZIMMER_TAGE(int Z_Tage)
	{
		Tage=Z_Tage;
	}

void ZIMMER::ZIMMER_BELEGUNG(bool Z_Belegung)
	{
		Belegung=Z_Belegung;
	}

void ZIMMER::ZIMMER_GAST(string Z_Gast)
	{
		Gast=Z_Gast;
	}

int ZIMMER::BZIMMER_TYP(void)
	{
		return (Typ);
	}
int ZIMMER::BZIMMER_NR(void)
	{
		return (Nummer);
	}
int ZIMMER::BZIMMER_TAGE(void)
	{
		return (Tage);
	}
bool ZIMMER::BZIMMER_BELEGUNG(void)
	{
		return (Belegung);
	}
string ZIMMER::BZIMMER_GAST(void)
	{
		return (Gast);
	}
</code></pre>
<p>und die Zimmer werden in einem Feld gespeichert und Objekte erzeugt:</p>
<pre><code>ZIMMER Zimmer[20];
{

//Schleifen zur Generierung von Objekten
	//Einzelzimmer
	for (int i=1; i &lt;=10; i++)
	{
		Zimmer[i].ZIMMER_TYP(100);
		Zimmer[i].ZIMMER_NR(100+i);
		Zimmer[i].ZIMMER_BELEGUNG(false);
	}

	//Doppelzimmer
	for (int i =11; i&lt;=20; i++)
	{
		Zimmer[i].ZIMMER_TYP(200);
		Zimmer[i].ZIMMER_NR(200+i);
		Zimmer[i].ZIMMER_BELEGUNG(false);
	}
</code></pre>
<p>Jetzt wollte ich hergehen und z.B. eine Zimmer belegen.</p>
<pre><code>cout&lt;&lt;&quot;Geben Sie die Übernachtungstage ein&quot;&lt;&lt;endl;
							cin&gt;&gt;Zimmer[i].ZIMMER_TAGE(int Z_Tage);
cout&lt;&lt;&quot;Geben Sie den Namen des Gastes ein&quot;&lt;&lt;endl;
							cin&gt;&gt;Zimmer[i].ZIMMER_GAST(string Z_Gast);
							Zimmer[i].ZIMMER_BELEGUNG(false);
</code></pre>
<p>Da fängt's ja dann schon an. Es wird string nicht akzeptiert #include &lt;string&gt; habe ich deshalb gemacht (aufgrund eines Forumsvorschlages) gebracht hat es aber nicht's. Außerdem sagt er, dass die Funktion (cin&gt;&gt;Zimmer[i].ZIMMER_TAGE(int Z_Tage);) kein 0 Argument akzeptiert. Liege ich vielleicht mit meinem Konzept vollkommen auf dem falschen Dampfer?<br />
Reichen die Infos die ich hier gebracht habe, oder werden zusätzliche Angaben benötigt. Für etwas Hilfe wäre ich wirklich dankbar.</p>
<p>Danke schonmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2164716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2164716</guid><dc:creator><![CDATA[C++Anfängerin]]></dc:creator><pubDate>Fri, 06 Jan 2012 23:45:07 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, Feld, Zugriff auf Felder on Fri, 06 Jan 2012 23:59:11 GMT]]></title><description><![CDATA[<p>Du hast 600 Zeilen in dem Stil geschrieben? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Solche Fehler sollte man lieber im Kleinen angehen. Nicht funktionierende Codeteile isolieren und einzeln testen. Das ist im Endeffekt wesentlich weniger Aufwand.<br />
Zunächst mal solltest du die Grundlagen wie Funktionen verstehen. Und dann solltest du aufhören alles in GROßBUCHSTABEN zu schreiben, ist dein Capslock kaputt?<br />
Also los, erst mal eine Funktion:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

void print_number(int number)
{
  std::cout &lt;&lt; number;
}

int main()
{
  print_number(5); // Du übergibst den Wert den die Variable &quot;number&quot; in der Funktion haben soll.
                   // Hier noch mal &quot;int number&quot; zu schreiben hat ja wenig Sinn.
}
</code></pre>
<p>Und dann zu dem Zimmer:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

class Room
{
  std::string guest_;
public:
  std::string getGuest()
  {
    return guest_;
  }
  void setGuest(std::string guest)
  {
    guest_ = guest;
  }
};

int main()
{
  Room room;
  room.setGuest(&quot;Mueller&quot;);
  std::cout &lt;&lt; room.getGuest(); // Funktioniert
  // std::cin &gt;&gt; room.setGuest(); // Geht nicht! Wie auch? Die Funktion müsste doch etwas zurückgeben, in das man lesen kann.
  // Way to go ist also:
  std::string guest;
  std::cin &gt;&gt; guest;
  room.setGuest(guest);
}
</code></pre>
<p>Soweit mal zu dem Grundsätzlichen Denkfehler. Da sind noch ~10 andere Dinge drin die ich komisch finde, aber bevor man das angeht sollte die Sprache doch grundlegend verstanden sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2164718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2164718</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Fri, 06 Jan 2012 23:59:11 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, Feld, Zugriff auf Felder on Sat, 07 Jan 2012 10:30:48 GMT]]></title><description><![CDATA[<p>zu deinem string problem: dir fehlt der zugriff auf den std namensraum -&gt; nutze **std::**string</p>
<p>wenn du dir setter methoden schreibst und die mit einer benutzereingabe verknüpfen willst, führt kein weg an temporären variablen vorbei, aber cooky hat das ja schon gezeigt. ok, es gibt da trix, aber lass die erstmal bleiben, daher gehe ich auch nicht drauf ein.</p>
<p>@cooky: ja es gibt viel zu beanstanden, aber wir haben alle mal klein angefangen. und wieso machen manche &quot;großen&quot; hier im forum, die neuen immer so kaputt für sachen, die sie zwar früher oder später lernen müssen/sollen, es aber einfach noch nicht können. das demotiviert total. daher sage ich erstmal zu dem programm, änder die 2 angesprochenen sachen und dann haste erstmald as was du willst <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2164789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2164789</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sat, 07 Jan 2012 10:30:48 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, Feld, Zugriff auf Felder on Sat, 07 Jan 2012 10:32:53 GMT]]></title><description><![CDATA[<p>Hier gabs doch vor ein paar Tagen schonmal jemanden der eine Klasse ZIMMER hatte. Ist das wieder so eine Aufgabe von einem Professor?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2164791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2164791</guid><dc:creator><![CDATA[_p]]></dc:creator><pubDate>Sat, 07 Jan 2012 10:32:53 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse, Feld, Zugriff auf Felder on Sat, 07 Jan 2012 18:04:53 GMT]]></title><description><![CDATA[<p>Wie die anderen schon meinten, solltest du:<br />
1. Ersteinmal mit kleinen Projekten anfangen. 600 Zeilen sind für eine Anfängerin nicht zu empfehlen.<br />
2. An deinem Code-Stil arbeiten.<br />
und 3. dich über die Funktionsweise von Klassen informieren.</p>
<blockquote>
<p>Da fängt's ja dann schon an. Es wird string nicht akzeptiert #include &lt;string&gt; habe ich deshalb gemacht</p>
</blockquote>
<p>Was will man sonst machen außer #include &lt;string&gt;?</p>
<blockquote>
<p>(cin&gt;&gt;Zimmer[i].ZIMMER_TAGE(int Z_Tage);) kein 0 Argument akzeptiert. Liege ich vielleicht mit meinem Konzept vollkommen auf dem falschen Dampfer?</p>
</blockquote>
<p>Was willst du damit bezwecken? So kannst du doch der Funktion keinen Parameter übergeben. Dafür brauchst du eine andere Variable. So z.B.:</p>
<pre><code>int iTemp = 0;
cin &gt;&gt; iTemp;
Zimmer[i].ZIMMER_TAGE(iTemp);
</code></pre>
<p>Aber da sind noch sehr viele Fehler, die ich jetzt gar nicht alle aufzählen will und die du mit genug Fachwissen auch leicht selbst findest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2164953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2164953</guid><dc:creator><![CDATA[Ich bin Matrix]]></dc:creator><pubDate>Sat, 07 Jan 2012 18:04:53 GMT</pubDate></item></channel></rss>