<?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[Verbesserung Schulaufgabe?]]></title><description><![CDATA[<p>Guten Tag,</p>
<p>hab folgende Schulaufgabe (ist eine Abschrift der Abgabe beim Lehrer, das original hab ich leider nicht mehr :/) geschrieben - ich bin mir zu 100% sicher, dass sie sich einwandfrei kompilieren ließ, zu dem Zeitpunkt, als ich Sie abgegeben hab (habe in den letzten 5 Minuten das billige Menü hingezimmert und mir nach dem kompilieren angesehen).</p>
<p>Scheinend hat der Compiler vom Lehrer irgendetwas verändert - z.b. ist es nicht meine Art, die { in die nächste Zeile zu tippen, sondern hinten dran - trotzdem kommt das häufig vor, und ich war's definitiv nicht.</p>
<p>Er meckert immer, er würde ein ; oder { erwarten - auf Höhe von &quot; class fass:public bier() {&quot; - ich hab keinen Fehler gefunden. Jemand eine Idee??</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;iomanip&gt;
#include &lt;string&gt;
#include &lt;conio.h&gt;

using namespace std;

class bier {
    private: 
        string sorte;
        int menge;
    public:
        bier(string n_sorte, int s_menge) {
            sorte = n_sorte;
            menge = s_menge;
        }
        bier() {}

        int getmenge();
        void setmenge(int);
        void anzeige();
    };

    class kasten:public bier {
        private:
            int anzahl_Flaschen;
            float Flaschenvolumen;
        public:
            float getflaschenvolumen();
            int getanzahlflaschen();

             kasten(int n_anzahl_Flaschen, float n_Flaschenvolumen) {
                if( n_anzahl_Flaschen == 11 || n_anzahl_Flaschen == 20 ) {
                    if (n_Flaschenvolumen != 0.5) {
                        cout &lt;&lt; &quot;Fehler! ... &quot; &lt;&lt; n_Flaschenvolumen &lt;&lt; &quot;§passt nicht überein&quot; &lt;&lt; anzahl_Flaschen;
                    } else {
                        anzahl_Flaschen = n_anzahl_Flaschen;
                        Flaschenvolumen = n_Flaschenvolumen;
                    }
                }

                if( n_anzahl_Flaschen == 24) {
                    if (n_Flaschenvolumen != 0.33) {
                        cout &lt;&lt; &quot;Fehler! ... &quot; &lt;&lt; n_Flaschenvolumen &lt;&lt; &quot; Flascheanzahl &quot; &lt;&lt; n_anzahl_Flaschen &lt;&lt; &quot;überein!&quot;;
                    } else  {
                        anzahl_Flaschen = n_anzahl_Flaschen;
                        Flaschenvolumen = n_Flaschenvolumen;
                    }
                }
            } 

            kasten() {}
            void anzeige();
        };

        class fass:public bier() {
            private:
                float preis_pro_liter;
                int fassvermoegen;
            public:
               /* fass(float n_preis_pro_liter, int n_fassvermoegen) {
                    if( n_fassvermoegen == 11 || n_fassvermoegen == 15 || n_fassvermoegen == 30 || n_fassvermoegen == 50) {
                        fassvermoegen = n_fassvermoegen;
                    } else {
                        cout &lt;&lt; &quot;Fassvermoegen muss wert...&quot;;
                    }
                    if (n_preis_pro_liter &lt;= 0) {
                        cout &lt;&lt; &quot;preiss...&quot;;
                    } else {
                        preis_pro_liter = n_preis_pro_liter;
                    }
                }

                */

                bool fuellen(int);
                void anzeige();
                int getpreisproliter();
                int getfassvermoegen();
            };

            int bier::getmenge() {
                return menge;
            }

            void bier::setmenge(int s_menge) {
                menge = s_menge;
            }

            int kasten::getanzahlflaschen() {
                return anzahl_Flaschen;
            }

            float kasten::getflaschenvolumen() {
                return Flaschenvolumen;
            }

            void bier::anzeige() {
                cout &lt;&lt; &quot;Biersorte: &quot; &lt;&lt; sorte &lt;&lt; endl;
                cout &lt;&lt; &quot;Menge: &quot; &lt;&lt; getmenge() &lt;&lt; &quot; hl&quot; &lt;&lt; endl;
            }

            void kasten::anzeige() {
                bier::anzeige();
                cout &lt;&lt; &quot;Flaschenanzahl: &quot; &lt;&lt; getanzahlflaschen() &lt;&lt; endl;
                cout &lt;&lt; &quot;Flaschenvolumen: &quot; &lt;&lt; getflaschenvolumen() &lt;&lt; endl;
            }

            int fass::getfassvermoegen() {
                return fassvermoegen;
            }

            int fass::getpreisproliter() {
                return preis_pro_liter;
            }

            void fass:anzeige() {
                bier::anzeige();
                cout &lt;&lt; getfassvermoegen();
                cout &lt;&lt; getpreisproliter();
                cout &lt;&lt; getfassvermoegen*getpreisproliter();
            }

            void main() {
                int x = 1, auswahl, temp;
                bier pils(&quot;Pils&quot;, 50);
                kasten kunde1(20, 0.5);
                fass gross(3,11);

                gross.anzeige();
                while ( x == 1 ) {
                    cout &lt;&lt; &quot;Anzeige kasten 1&quot;;
                    cin &gt;&gt; auswahl;
                    if ( auswahl == 1) {
                        kunde1.anzeige();
                    }
                    if( auswahl == 2 ) {
                        gross.anzeige();
                    }
                    if( auswahl == 3) {
                        cout &lt;&lt; &quot;Vermoegen?&quot; &lt;&lt; endl;
                        cin &gt;&gt; temp;
                        gross.fuellen(temp);
                    }
                    if( auswahl == 0 ) {
                        x = 0;
                    }
                }
                getch();
            }
</code></pre>
<p>Die Schriftausgaben sind stark verkürzt - das Script ist aber definitiv eine exakte Abschrift vom Ausdruck des Lehrers - und es läuft nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f611.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--expressionless_face"
      title="-_-"
      alt="😑"
    /> Und ich will wissen warum!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/205177/verbesserung-schulaufgabe</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 23:44:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/205177.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 11 Feb 2008 13:33:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verbesserung Schulaufgabe? on Mon, 11 Feb 2008 13:33:03 GMT]]></title><description><![CDATA[<p>Guten Tag,</p>
<p>hab folgende Schulaufgabe (ist eine Abschrift der Abgabe beim Lehrer, das original hab ich leider nicht mehr :/) geschrieben - ich bin mir zu 100% sicher, dass sie sich einwandfrei kompilieren ließ, zu dem Zeitpunkt, als ich Sie abgegeben hab (habe in den letzten 5 Minuten das billige Menü hingezimmert und mir nach dem kompilieren angesehen).</p>
<p>Scheinend hat der Compiler vom Lehrer irgendetwas verändert - z.b. ist es nicht meine Art, die { in die nächste Zeile zu tippen, sondern hinten dran - trotzdem kommt das häufig vor, und ich war's definitiv nicht.</p>
<p>Er meckert immer, er würde ein ; oder { erwarten - auf Höhe von &quot; class fass:public bier() {&quot; - ich hab keinen Fehler gefunden. Jemand eine Idee??</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;iomanip&gt;
#include &lt;string&gt;
#include &lt;conio.h&gt;

using namespace std;

class bier {
    private: 
        string sorte;
        int menge;
    public:
        bier(string n_sorte, int s_menge) {
            sorte = n_sorte;
            menge = s_menge;
        }
        bier() {}

        int getmenge();
        void setmenge(int);
        void anzeige();
    };

    class kasten:public bier {
        private:
            int anzahl_Flaschen;
            float Flaschenvolumen;
        public:
            float getflaschenvolumen();
            int getanzahlflaschen();

             kasten(int n_anzahl_Flaschen, float n_Flaschenvolumen) {
                if( n_anzahl_Flaschen == 11 || n_anzahl_Flaschen == 20 ) {
                    if (n_Flaschenvolumen != 0.5) {
                        cout &lt;&lt; &quot;Fehler! ... &quot; &lt;&lt; n_Flaschenvolumen &lt;&lt; &quot;§passt nicht überein&quot; &lt;&lt; anzahl_Flaschen;
                    } else {
                        anzahl_Flaschen = n_anzahl_Flaschen;
                        Flaschenvolumen = n_Flaschenvolumen;
                    }
                }

                if( n_anzahl_Flaschen == 24) {
                    if (n_Flaschenvolumen != 0.33) {
                        cout &lt;&lt; &quot;Fehler! ... &quot; &lt;&lt; n_Flaschenvolumen &lt;&lt; &quot; Flascheanzahl &quot; &lt;&lt; n_anzahl_Flaschen &lt;&lt; &quot;überein!&quot;;
                    } else  {
                        anzahl_Flaschen = n_anzahl_Flaschen;
                        Flaschenvolumen = n_Flaschenvolumen;
                    }
                }
            } 

            kasten() {}
            void anzeige();
        };

        class fass:public bier() {
            private:
                float preis_pro_liter;
                int fassvermoegen;
            public:
               /* fass(float n_preis_pro_liter, int n_fassvermoegen) {
                    if( n_fassvermoegen == 11 || n_fassvermoegen == 15 || n_fassvermoegen == 30 || n_fassvermoegen == 50) {
                        fassvermoegen = n_fassvermoegen;
                    } else {
                        cout &lt;&lt; &quot;Fassvermoegen muss wert...&quot;;
                    }
                    if (n_preis_pro_liter &lt;= 0) {
                        cout &lt;&lt; &quot;preiss...&quot;;
                    } else {
                        preis_pro_liter = n_preis_pro_liter;
                    }
                }

                */

                bool fuellen(int);
                void anzeige();
                int getpreisproliter();
                int getfassvermoegen();
            };

            int bier::getmenge() {
                return menge;
            }

            void bier::setmenge(int s_menge) {
                menge = s_menge;
            }

            int kasten::getanzahlflaschen() {
                return anzahl_Flaschen;
            }

            float kasten::getflaschenvolumen() {
                return Flaschenvolumen;
            }

            void bier::anzeige() {
                cout &lt;&lt; &quot;Biersorte: &quot; &lt;&lt; sorte &lt;&lt; endl;
                cout &lt;&lt; &quot;Menge: &quot; &lt;&lt; getmenge() &lt;&lt; &quot; hl&quot; &lt;&lt; endl;
            }

            void kasten::anzeige() {
                bier::anzeige();
                cout &lt;&lt; &quot;Flaschenanzahl: &quot; &lt;&lt; getanzahlflaschen() &lt;&lt; endl;
                cout &lt;&lt; &quot;Flaschenvolumen: &quot; &lt;&lt; getflaschenvolumen() &lt;&lt; endl;
            }

            int fass::getfassvermoegen() {
                return fassvermoegen;
            }

            int fass::getpreisproliter() {
                return preis_pro_liter;
            }

            void fass:anzeige() {
                bier::anzeige();
                cout &lt;&lt; getfassvermoegen();
                cout &lt;&lt; getpreisproliter();
                cout &lt;&lt; getfassvermoegen*getpreisproliter();
            }

            void main() {
                int x = 1, auswahl, temp;
                bier pils(&quot;Pils&quot;, 50);
                kasten kunde1(20, 0.5);
                fass gross(3,11);

                gross.anzeige();
                while ( x == 1 ) {
                    cout &lt;&lt; &quot;Anzeige kasten 1&quot;;
                    cin &gt;&gt; auswahl;
                    if ( auswahl == 1) {
                        kunde1.anzeige();
                    }
                    if( auswahl == 2 ) {
                        gross.anzeige();
                    }
                    if( auswahl == 3) {
                        cout &lt;&lt; &quot;Vermoegen?&quot; &lt;&lt; endl;
                        cin &gt;&gt; temp;
                        gross.fuellen(temp);
                    }
                    if( auswahl == 0 ) {
                        x = 0;
                    }
                }
                getch();
            }
</code></pre>
<p>Die Schriftausgaben sind stark verkürzt - das Script ist aber definitiv eine exakte Abschrift vom Ausdruck des Lehrers - und es läuft nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f611.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--expressionless_face"
      title="-_-"
      alt="😑"
    /> Und ich will wissen warum!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453626</guid><dc:creator><![CDATA[Neo van Matix]]></dc:creator><pubDate>Mon, 11 Feb 2008 13:33:03 GMT</pubDate></item><item><title><![CDATA[Reply to Verbesserung Schulaufgabe? on Mon, 11 Feb 2008 13:52:42 GMT]]></title><description><![CDATA[<p>Welchem zweck dienen die () hinter dem public bier ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453642</guid><dc:creator><![CDATA[darthdespotism]]></dc:creator><pubDate>Mon, 11 Feb 2008 13:52:42 GMT</pubDate></item><item><title><![CDATA[Reply to Verbesserung Schulaufgabe? on Mon, 11 Feb 2008 14:08:04 GMT]]></title><description><![CDATA[<p>Naja Vererbung ist eine &quot;ist-ein&quot; Beziehung ... ein Kasten ist ein Bier?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453654</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 11 Feb 2008 14:08:04 GMT</pubDate></item><item><title><![CDATA[Reply to Verbesserung Schulaufgabe? on Mon, 11 Feb 2008 14:12:51 GMT]]></title><description><![CDATA[<p>Bzgl. der Aufgabenstellung ist der Lehrer verantwortlich ^^<br />
Ich finds nur äußerst komisch... das Programm lief, mit DevC++ erstellt - 100%. Ohne Fehler. Und jetzt, wenn ich Fehler bereinige (einige), dann läufts trotzdem nicht...</p>
<p>Kann die IDE des Lehrers, wenn diese eine andere ist, ggf. im Code rumpfuschen - weil Sie Syntaxanpassungen o.ä. macht? Handelt sich wohl um Microsoft Visual C++...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453661</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453661</guid><dc:creator><![CDATA[Neo van Matix]]></dc:creator><pubDate>Mon, 11 Feb 2008 14:12:51 GMT</pubDate></item><item><title><![CDATA[Reply to Verbesserung Schulaufgabe? on Mon, 11 Feb 2008 14:23:49 GMT]]></title><description><![CDATA[<p>also, diese vererbungshierarchie ist ja ma wieder der hammer. Aber da können die schüler ja nix für. Der fehler ist in der zeile:</p>
<p>class fass:public bier() { ... }</p>
<p>die Klammern () müssen weg.</p>
<p>Es kann sein, dass dein lehrer was am code gemacht hat (aber solche klammern setzt keine ide irgendwo automatisch hin.). Warum nimmst du denn nciht deinen code sondern den vom lehrer?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453680</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Mon, 11 Feb 2008 14:23:49 GMT</pubDate></item><item><title><![CDATA[Reply to Verbesserung Schulaufgabe? on Mon, 11 Feb 2008 14:43:51 GMT]]></title><description><![CDATA[<p>nochn Fehler: es heißt</p>
<pre><code class="language-cpp">int main()
</code></pre>
<p>und nicht</p>
<pre><code class="language-cpp">void main()
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1453707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453707</guid><dc:creator><![CDATA[Ryuzaki]]></dc:creator><pubDate>Mon, 11 Feb 2008 14:43:51 GMT</pubDate></item><item><title><![CDATA[Reply to Verbesserung Schulaufgabe? on Mon, 11 Feb 2008 16:52:43 GMT]]></title><description><![CDATA[<p>Innerhalb der Klasse ist auch die Qualifizierung klasse::methode nicht zulässig. Davon mal abgesehen, warum definierst Du in der Klasse fass eine Methode kasten::*?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453809</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 11 Feb 2008 16:52:43 GMT</pubDate></item><item><title><![CDATA[Reply to Verbesserung Schulaufgabe? on Mon, 11 Feb 2008 18:27:35 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#if !defined(BOTTLE_HPP__INCLUDED)
#define BOTTLE_HPP__INCLUDED

#if (_MSC_VER &gt;= 1300)
#pragma once
#endif // (_MSC_VER &gt;= 1300)

#include &lt;string&gt;
#include &lt;iostream&gt;

class bottle
{
	std::string m_name;
	double m_content;

public:
	bottle(std::string const&amp; name, const double content)
		: m_name(name), m_content(content)
	{}

	friend std::ostream&amp; operator&lt;&lt;(std::ostream&amp; out, bottle const&amp; data)
	{ return out &lt;&lt; m_name &lt;&lt; &quot;(&quot; &lt;&lt; m_content &lt;&lt; &quot;L)&quot;; }

public:
	std::string const&amp; get_name() const { return m_name; }
	double get_content() const { return m_content; }
};

#endif // BOTTLE_HPP__INCLUDED
</code></pre>
<pre><code class="language-cpp">#if !defined (BEER_HPP__INCLUDED)
#define BEER_HPP__INCLUDED

#if (_MSC_VER &gt;= 1300)
#pragma once
#endif // (_MSC_VER &gt;= 1300)

#include &quot;bottle.hpp&quot;
#include &lt;string&gt;

class beer : public bottle
{
	beer(std::string const&amp; name, const double content)
		: bottle(name, content)
	{
		if (content != 0.5 &amp;&amp; content != 0.33) throw std::invalid_argument(&quot;invalid beer size&quot;);
	}
};

#endif // BEER_HPP__INCLUDED
</code></pre>
<pre><code class="language-cpp">#if !defined(CRATE_HPP__INCLUDED)
#define CRATE_HPP__INCLUDED

#if (_MSC_VER &gt;= 1300)
#pragma once
#endif // (_MSC_VER &gt;= 1300)

#include &lt;vector&gt;
#include &lt;iostream&gt;
#include &quot;bottle.hpp&quot;

class crate
{
	std::vector&lt;bottle*&gt; m_bottles;
	const std::size_t m_size;
	const double m_bottlesize;

public:
	crate(const std::size_t size, const double bottlesize)
		: m_size(size), m_bottlesize(bottlesize)
	{}

	friend std::ostream&amp; operator &lt;&lt; (std::ostream&amp; out, crate const&amp; data)
	{ return out &lt;&lt; &quot;Kasten (&quot; &lt;&lt; data.m_size &lt;&lt; &quot; Flaschen) mit einem Volumen von &quot; &lt;&lt; m_size * m_bottlesize &lt;&lt; &quot;L&quot;; }

public:
	void insert_bottle(const bottle* item)
	{
		if (item-&gt;get_content() &gt; m_bottlesize) throw std::invalid_argument(&quot;bottle does not match&quot;);
		if (m_bottles.size() &gt; m_size) throw std::runtime_error(&quot;crate already full&quot;);
		m_bottles.push_back(item);
	}
};

#endif // CRATE_HPP__INCLUDED
</code></pre>
<pre><code class="language-cpp">#include &quot;crate.hpp&quot;
#include &lt;vector&gt;
#include &lt;algorithm&gt; // std::copy
#include &lt;iterator&gt;
#include &lt;iostream&gt;

int main() 
{
	std::vector&lt;crate&gt; m_store(10, crate(10, 0.5));
	std::copy(m_store.begin(), m_store.end(), std::ostream_operator&lt;crate&gt;(std::cout, &quot;\n&quot;));
}
</code></pre>
<p>Fertig <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/1453883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453883</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 11 Feb 2008 18:27:35 GMT</pubDate></item></channel></rss>