<?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[Variablen in einer Methode Speichern und in einer anderen Aufrufen... aber wie?]]></title><description><![CDATA[<p>Hallo allerseits,</p>
<p>Ich habe ein Problem.</p>
<p>Ich schreibe zur Zeit ein Programm was mir eine komplette Kurvendiskussion berechnen soll.</p>
<p>Mein Problem ist folgendes:</p>
<p>Ich Bin vom Main zu einer Methode gegangen, in welcher ich den Benutzer Auffordere Werte einzugeben. Mit diesen Werten bin ich mehrere Methoden durchlaufen und anschließend in eine Methode gegangen wo ich meine Variablen nicht mit hin nehme. Von dort aus hat der Nutzer die möglichkeit auszuwählen einen passenden y-wert zu einem von ihm eingegebenen x-wert zu errechnen, aber die eingaben sind nicht in dieser methode gespeichert. kann ich irgendwie wieder von da aus an die variablen aus der eingabe ran kommen?</p>
<p>Ich habe ein Main und zum beispiel 4 Methoden... Ich stelle das jetzt etwas vereinfacht dar:</p>
<pre><code>void ywert()
{
  //Hier benötige ich wieder die vom Benutzer eigegeben werte aus &quot;FunktionEingeben&quot;. ABer wie komme ich da ran?
}

void menu()
{
    cout&lt;&lt;&quot;Drücke 1 um einen y-wert zu einem X-wert zu berechnen&quot;;
    int auswahl;
    cin&gt;&gt;auswahl;
    if(auswahl==1)
    {
        ywert();
    }
}

void bearbeiten(double x2, double x, double c)
{
    //Die rechnung mit diesen werten
    menu();
}

void FunktionEingeben()
{
    cout&lt;&lt;&quot;x hoch 2: &quot;;
    double x2;
    cin&gt;&gt;x2;
    cout&lt;&lt;&quot;x: &quot;;
    double x;
    cin&gt;&gt;x;
    cout&lt;&lt;&quot;Constante: &quot;;
    double c;
    cin&gt;&gt;c;
    cout&lt;&lt;&quot;\n&quot;;

bearbeiten(x2, x, c);
}

int main()
{
    //Begrüßung und so weiter
    FunktionEingeben();
}
</code></pre>
<p>Ich hoffe das Wort &quot;Methoden&quot; ist richtig, das hat uns der lehrer so beigebracht <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>
<p>Ich hoffe auf gute hilfe und danke im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/274525/variablen-in-einer-methode-speichern-und-in-einer-anderen-aufrufen-aber-wie</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 11:25:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/274525.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 27 Sep 2010 22:24:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Variablen in einer Methode Speichern und in einer anderen Aufrufen... aber wie? on Mon, 27 Sep 2010 22:26:21 GMT]]></title><description><![CDATA[<p>Hallo allerseits,</p>
<p>Ich habe ein Problem.</p>
<p>Ich schreibe zur Zeit ein Programm was mir eine komplette Kurvendiskussion berechnen soll.</p>
<p>Mein Problem ist folgendes:</p>
<p>Ich Bin vom Main zu einer Methode gegangen, in welcher ich den Benutzer Auffordere Werte einzugeben. Mit diesen Werten bin ich mehrere Methoden durchlaufen und anschließend in eine Methode gegangen wo ich meine Variablen nicht mit hin nehme. Von dort aus hat der Nutzer die möglichkeit auszuwählen einen passenden y-wert zu einem von ihm eingegebenen x-wert zu errechnen, aber die eingaben sind nicht in dieser methode gespeichert. kann ich irgendwie wieder von da aus an die variablen aus der eingabe ran kommen?</p>
<p>Ich habe ein Main und zum beispiel 4 Methoden... Ich stelle das jetzt etwas vereinfacht dar:</p>
<pre><code>void ywert()
{
  //Hier benötige ich wieder die vom Benutzer eigegeben werte aus &quot;FunktionEingeben&quot;. ABer wie komme ich da ran?
}

void menu()
{
    cout&lt;&lt;&quot;Drücke 1 um einen y-wert zu einem X-wert zu berechnen&quot;;
    int auswahl;
    cin&gt;&gt;auswahl;
    if(auswahl==1)
    {
        ywert();
    }
}

void bearbeiten(double x2, double x, double c)
{
    //Die rechnung mit diesen werten
    menu();
}

void FunktionEingeben()
{
    cout&lt;&lt;&quot;x hoch 2: &quot;;
    double x2;
    cin&gt;&gt;x2;
    cout&lt;&lt;&quot;x: &quot;;
    double x;
    cin&gt;&gt;x;
    cout&lt;&lt;&quot;Constante: &quot;;
    double c;
    cin&gt;&gt;c;
    cout&lt;&lt;&quot;\n&quot;;

bearbeiten(x2, x, c);
}

int main()
{
    //Begrüßung und so weiter
    FunktionEingeben();
}
</code></pre>
<p>Ich hoffe das Wort &quot;Methoden&quot; ist richtig, das hat uns der lehrer so beigebracht <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>
<p>Ich hoffe auf gute hilfe und danke im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958284</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958284</guid><dc:creator><![CDATA[baxitus]]></dc:creator><pubDate>Mon, 27 Sep 2010 22:26:21 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen in einer Methode Speichern und in einer anderen Aufrufen... aber wie? on Mon, 27 Sep 2010 22:32:18 GMT]]></title><description><![CDATA[<p>Unschön: Speicher die Daten Global</p>
<p>Alternative:</p>
<p>- Pack sie in eine Struktur/Klasse (mit new erstellt) und übergeb immer einen Pointer bei den Funktionsaufrufen</p>
<p>- Mach eine Singelton Klasse und speicher darin die Daten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958286</guid><dc:creator><![CDATA[Matyr]]></dc:creator><pubDate>Mon, 27 Sep 2010 22:32:18 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen in einer Methode Speichern und in einer anderen Aufrufen... aber wie? on Mon, 27 Sep 2010 22:35:44 GMT]]></title><description><![CDATA[<p>Matyr schrieb:</p>
<blockquote>
<p>Alternative:</p>
<p>- Pack sie in eine Struktur/Klasse (mit new erstellt) und übergeb immer einen Pointer bei den Funktionsaufrufen</p>
<p>- Mach eine Singelton Klasse und speicher darin die Daten</p>
</blockquote>
<p>mit der information kann ich leider noch nichts anfangen weil mein wissen recht begrenzt ist... mit anderen worten... ich weis nicht was du meinst <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/1958288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958288</guid><dc:creator><![CDATA[baxitus]]></dc:creator><pubDate>Mon, 27 Sep 2010 22:35:44 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen in einer Methode Speichern und in einer anderen Aufrufen... aber wie? on Tue, 28 Sep 2010 04:08:23 GMT]]></title><description><![CDATA[<p>baxitus schrieb:</p>
<blockquote>
<p>Matyr schrieb:</p>
<blockquote>
<p>Alternative:</p>
<p>- Pack sie in eine Struktur/Klasse (mit new erstellt) und übergeb immer einen Pointer bei den Funktionsaufrufen</p>
<p>- Mach eine Singelton Klasse und speicher darin die Daten</p>
</blockquote>
<p>mit der information kann ich leider noch nichts anfangen weil mein wissen recht begrenzt ist... mit anderen worten... ich weis nicht was du meinst <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>
</blockquote>
<p>Was eine Klasse ist.. naja da gibts genug Literatur dazu.<br />
<a href="http://www.cplusplus.com/doc/tutorial/" rel="nofollow">http://www.cplusplus.com/doc/tutorial/</a></p>
<p>Ein Singleton ist eine Klasse, die nur einmal pro POrogramm existiert. Die Instanzierung wird durch private/public Mechanismen verhindert.</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">class MySingleton
{
private:
     MySingleton() : m_foobar(0)
     {}

     MySingleton(const MySingleton&amp;) 
     {}

     MySingleton&amp; operator=(const MySingelton&amp;)
     { return *this; }

    int m_foobar;

public:
    static MySingleton&amp; getInstance() 
    {
        static MySingleton TheOneAndOnly;
        return TheOneAndOnly;
    }

    int getData() const { return m_foobar; }
};
</code></pre>
<p>Die Methode getData() kannst Du jetzt nur über den Getter erreichen:</p>
<pre><code class="language-cpp">MySingleton::getInstance().getData()
</code></pre>
<p>Dadurch dass die Variable statisch ist, wird sie nur einmal im Programmverlauf erzeugt. Ein erneutes erzeugen der Klasse ist unmöglich.</p>
<p>Du musst halt dafür sorgen, dass Deine Variablen solange leben wie Dein Programm läuft. Am besten geht das in C++ mit Klassen. Dort kannst Du Deine Funktionen und Daten unterbringen und die Klasse in sich arbeiten. Ausserdem kann man ein großes Problem auf mehrere kleine runterbrechen und so viel schneller vorankommen. Aber Du solltest vllt ein Buch lesen..<br />
rya.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958293</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Tue, 28 Sep 2010 04:08:23 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen in einer Methode Speichern und in einer anderen Aufrufen... aber wie? on Mon, 27 Sep 2010 23:14:50 GMT]]></title><description><![CDATA[<p>kann ich dem programm nicht einfach sagen &quot;Speicher die Variablen in datei.txt und lade sie später wieder raus&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958295</guid><dc:creator><![CDATA[baxitus]]></dc:creator><pubDate>Mon, 27 Sep 2010 23:14:50 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen in einer Methode Speichern und in einer anderen Aufrufen... aber wie? on Mon, 27 Sep 2010 23:22:55 GMT]]></title><description><![CDATA[<p>baxitus schrieb:</p>
<blockquote>
<p>kann ich dem programm nicht einfach sagen &quot;Speicher die Variablen in datei.txt und lade sie später wieder raus&quot;?</p>
</blockquote>
<p>Natürlich kannst Du das. Allerdings wird es später schwer ohne Verständnis für Klassen und OOP in C++ auszukommen. Du solltest vllt eher dann C lernen wenn Dir prozedurale Programmierung lieber ist.<br />
Google-Stichwort für dein problem ist &quot;filestreams, ostream&quot;.<br />
<a href="http://www.cplusplus.com/reference/iostream/ofstream/" rel="nofollow">http://www.cplusplus.com/reference/iostream/ofstream/</a><br />
rya.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958296</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958296</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Mon, 27 Sep 2010 23:22:55 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen in einer Methode Speichern und in einer anderen Aufrufen... aber wie? on Mon, 27 Sep 2010 23:32:53 GMT]]></title><description><![CDATA[<p>Wir sind in der schule halt noch nicht so weit... wir haben grade angefangen mit diesen methoden umzugehen und der lehrer will und die nächste zeit zum objektorientierten Programmieren leiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958298</guid><dc:creator><![CDATA[baxitus]]></dc:creator><pubDate>Mon, 27 Sep 2010 23:32:53 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen in einer Methode Speichern und in einer anderen Aufrufen... aber wie? on Tue, 28 Sep 2010 03:55:25 GMT]]></title><description><![CDATA[<p>Methoden nennt man Funktionen, die in einer Klasse sind. Diese Funktionen hier liegen nicht in einer, sind folglich also auch keine Methoden, da benutzt dein Lehrer die Begriffe leider falsch.</p>
<p>Was Du hier suchst, ist call by reference, jedenfalls ist das eine Moeglichkeit:</p>
<pre><code class="language-cpp">void machwas(int&amp; a)
{
a = 10;
}

int main()
{
int c;
machwas(c);
std::cout &lt;&lt; &quot;Wert von c: &quot; &lt;&lt; c;
return 0;
}
</code></pre>
<p>Wenn ihr das weitere Zeug noch lernt, ist ja gut. Und globale Variablen funktionieren wie gesagt auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958309</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958309</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Tue, 28 Sep 2010 03:55:25 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen in einer Methode Speichern und in einer anderen Aufrufen... aber wie? on Tue, 28 Sep 2010 04:58:06 GMT]]></title><description><![CDATA[<p>Eisflamme schrieb:</p>
<blockquote>
<p>Methoden nennt man Funktionen, die in einer Klasse sind. Diese Funktionen hier liegen nicht in einer, sind folglich also auch keine Methoden, da benutzt dein Lehrer die Begriffe leider falsch.</p>
<p>Was Du hier suchst, ist call by reference, jedenfalls ist das eine Moeglichkeit:</p>
<pre><code class="language-cpp">void machwas(int&amp; a)
{
a = 10;
}

int main()
{
int c;
machwas(c);
std::cout &lt;&lt; &quot;Wert von c: &quot; &lt;&lt; c;
return 0;
}
</code></pre>
<p>Wenn ihr das weitere Zeug noch lernt, ist ja gut. Und globale Variablen funktionieren wie gesagt auch.</p>
</blockquote>
<p>Sag doch gleich entweder Member-Funktionen oder Nicht-Member-Funktionen bzw. freie Funktionen. Find ich weit aus verständlicher und leichter zu merken=)</p>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958311</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Tue, 28 Sep 2010 04:58:06 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen in einer Methode Speichern und in einer anderen Aufrufen... aber wie? on Tue, 28 Sep 2010 14:50:55 GMT]]></title><description><![CDATA[<p>Warum übergibst du x2, x und c nicht einfach an menu() und von dort aus an ywert()? Soweit ich verstanden habe, willst du die Variablen ja nicht verändern, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1958583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1958583</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Tue, 28 Sep 2010 14:50:55 GMT</pubDate></item></channel></rss>