<?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[#define]]></title><description><![CDATA[<p>Ok, also ich bin ein völliger NOOB im C++ Programmieren (Programmieren allgemein).</p>
<p>Nun habe ich mich in letzter Zeit dafür interessiert und mit dem Programmieren eines Roboters angefangen (RC- SOCCERBOT von <a href="http://www.graupner-robotics.com" rel="nofollow">www.graupner-robotics.com</a>).</p>
<p>So, nun hat mir ein Bekannter ein Beispielprogramm geschrieben und gegeben, nun ersetze ich im Moment ein paar Variablen und definiere ein paar Begriffe neu. (Hier kommt meine Frage)</p>
<p>Nun, nachdem ich:</p>
<pre><code class="language-cpp">#define WERT_Rot_min (10)
#define WERT_Rot_max (16)
#define WERT_Gruen_min (60)
#define WERT_Gruen_max (80)
#define WERT_Schwarz_min (190)
#define WERT_Schwarz_max (255)
</code></pre>
<p>habe will ich einen &quot;WERT_Schwarz&quot; definieren, der in dem vorgegebenen Bereich liegt. Ich habe es mit</p>
<pre><code class="language-cpp">#define WERT_Schwarz (190 &lt;= x &lt;= 255)
</code></pre>
<p>probiert, aber es kam nichts dabei raus.</p>
<p>Könnte mir jemand vielleicht helfen?</p>
<p>Wäre sehr nett!</p>
<p>Danke!<br />
Vito</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/250711/define</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 22:33:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/250711.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Sep 2009 20:22:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to #define on Tue, 22 Sep 2009 20:22:03 GMT]]></title><description><![CDATA[<p>Ok, also ich bin ein völliger NOOB im C++ Programmieren (Programmieren allgemein).</p>
<p>Nun habe ich mich in letzter Zeit dafür interessiert und mit dem Programmieren eines Roboters angefangen (RC- SOCCERBOT von <a href="http://www.graupner-robotics.com" rel="nofollow">www.graupner-robotics.com</a>).</p>
<p>So, nun hat mir ein Bekannter ein Beispielprogramm geschrieben und gegeben, nun ersetze ich im Moment ein paar Variablen und definiere ein paar Begriffe neu. (Hier kommt meine Frage)</p>
<p>Nun, nachdem ich:</p>
<pre><code class="language-cpp">#define WERT_Rot_min (10)
#define WERT_Rot_max (16)
#define WERT_Gruen_min (60)
#define WERT_Gruen_max (80)
#define WERT_Schwarz_min (190)
#define WERT_Schwarz_max (255)
</code></pre>
<p>habe will ich einen &quot;WERT_Schwarz&quot; definieren, der in dem vorgegebenen Bereich liegt. Ich habe es mit</p>
<pre><code class="language-cpp">#define WERT_Schwarz (190 &lt;= x &lt;= 255)
</code></pre>
<p>probiert, aber es kam nichts dabei raus.</p>
<p>Könnte mir jemand vielleicht helfen?</p>
<p>Wäre sehr nett!</p>
<p>Danke!<br />
Vito</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1782785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782785</guid><dc:creator><![CDATA[Indian_Foxx]]></dc:creator><pubDate>Tue, 22 Sep 2009 20:22:03 GMT</pubDate></item><item><title><![CDATA[Reply to #define on Tue, 22 Sep 2009 20:32:04 GMT]]></title><description><![CDATA[<p>defines sind nicht für das definieren von Variablen da.. Dafür benutzt du besser const Typen:</p>
<pre><code class="language-cpp">const int Rot_min (10);
const int Rot_max (16);
const int Gruen_min (60);
const int Gruen_max (80);
const int Schwarz_min (190);
const int Schwarz_max (255);
</code></pre>
<p>Dann das nächste Problem. Das ist zwar ein korrekter mathematischer Begriff, aber er macht in C++ nicht wirklich das, was du denkst. <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>Du willst eine Variable, die sich stets in den Bounds befindet, nicht? - Das musst du dann halt selbst checken:</p>
<pre><code class="language-cpp">class foo
{
 public:
  void set_schwarz (int value )
  {
   if ( value &gt; Schwarz_max )
    schwarz = Schwarz_max; // z.B du könntest auch eine exception werfen
   else if ( value &lt; Schwarz_min )
    schwarz = Schwarz_min;
   else
    schwarz = value;
  }

  void get_schwar () const { return schwarz; }
 private:
  int schwarz;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1782789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782789</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 22 Sep 2009 20:32:04 GMT</pubDate></item><item><title><![CDATA[Reply to #define on Tue, 22 Sep 2009 20:33:54 GMT]]></title><description><![CDATA[<p>Du willst also, dass der Compiler (oder sogar Präprozessor) dir zufällig irgendeinen Wert in den Grenzen auswählt? So einfach ist das nicht... <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>...sondern noch viel einfacher, indem du selbst einen konkreten Wert festlegst. Oder geht es dir ums Prüfen, ob die Konvention eingehalten wurde?</p>
<p>Abgesehen sollte man für Konstanten in C++ keine Makros nehmen, da diese einige Probleme aufweisen. Und ein gutes Buch würde nicht schaden, wenn du kein Anfänger bleiben 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/1782790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782790</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 22 Sep 2009 20:33:54 GMT</pubDate></item><item><title><![CDATA[Reply to #define on Tue, 22 Sep 2009 20:34:34 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">case ',': { // Liniensensor
                   printf(&quot;LI=%03d VL=%d RT=%d GN=%d\n\r&quot;,
                     val_Farbe, 
                     WERT_Schwarz() ? 1 : 0,
					 WERT_Rot() ? 1 : 0,
                     WERT_Gruen() ? 1 : 0,
					 robot.digital(SENSD_BumperLinks),
                     robot.digital(SENSD_BumperRechts) );
                 break;}
      case '.': { // Kalibrierungswerte
#if Kalibrierung_im_Programm    
               printf(&quot;SW=%03d S=%03d W=%03d R=%03d G=%03d\n\r&quot;,cal_schwarz_weiss, cal_schwarz, cal_weiss, cal_rot, cal_gruen);
#endif
               printf(&quot;R-=%03d R+=%03d G-=%03d G+=%03d S-=%03d S+=%03d\n\r&quot;,
			         WERT_Rot_min, WERT_Rot_max, WERT_Gruen_min, WERT_Gruen_max, WERT_Schwarz_min, WERT_Schwarz_max);
				 break;}
</code></pre>
<p>Hier sind die WERT_****s<br />
und die Schwarz_mins und so habe ich schon (ja ich habe die Frage dumm gestellt)</p>
<p>aber wie mach ich das, dass &quot;WERT_Schwarz&quot; und so bei dem #define richtig angegeben sind?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1782791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782791</guid><dc:creator><![CDATA[Indian_Foxx]]></dc:creator><pubDate>Tue, 22 Sep 2009 20:34:34 GMT</pubDate></item><item><title><![CDATA[Reply to #define on Tue, 22 Sep 2009 20:35:31 GMT]]></title><description><![CDATA[<p>Mit #define erreichst du lediglich eine <strong>Textersetzung</strong>, die vor dem Kompilieren stattfindet (durch den Präprozessor). Das heißt also, überall wo in deinem Code &quot;WERT_Schwarz&quot; vorkommt, wird es durch &quot;(190 &lt;= x &lt;= 255)&quot; ersetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1782792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782792</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Tue, 22 Sep 2009 20:35:31 GMT</pubDate></item><item><title><![CDATA[Reply to #define on Tue, 22 Sep 2009 20:35:41 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Du willst also, dass der Compiler (oder sogar Präprozessor) dir zufällig irgendeinen Wert in den Grenzen auswählt? So einfach ist das nicht... <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>...sondern noch viel einfacher, indem du selbst einen konkreten Wert festlegst. Oder geht es dir ums Prüfen, ob die Konvention eingehalten wurde?</p>
<p>Abgesehen sollte man für Konstanten in C++ keine Makros nehmen, da diese einige Probleme aufweisen. Und ein gutes Buch würde nicht schaden, wenn du kein Anfänger bleiben 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>
</blockquote>
<p>Ich habe im Moment nicht so richtig die Zeit für ein gutes Buch, ansonsten hätte ich ja nicht hier gefragt!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1782793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782793</guid><dc:creator><![CDATA[Indian_Foxx]]></dc:creator><pubDate>Tue, 22 Sep 2009 20:35:41 GMT</pubDate></item><item><title><![CDATA[Reply to #define on Tue, 22 Sep 2009 20:36:32 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>Mit #define erreichst du lediglich eine <strong>Textersetzung</strong>, die vor dem Kompilieren stattfindet (durch den Präprozessor). Das heißt also, überall wo in deinem Code &quot;WERT_Schwarz&quot; vorkommt, wird es durch &quot;(190 &lt;= x &lt;= 255)&quot; ersetzt.</p>
</blockquote>
<p>GENAU und wie kriege ich das hin? Mein SCH**** Compiler sagt immer, dass das nicht geht, weil das &quot;x&quot; nicht definiert ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1782796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782796</guid><dc:creator><![CDATA[Indian_Foxx]]></dc:creator><pubDate>Tue, 22 Sep 2009 20:36:32 GMT</pubDate></item><item><title><![CDATA[Reply to #define on Tue, 22 Sep 2009 20:41:15 GMT]]></title><description><![CDATA[<p>Schau dir mein Beispiel an. Dort siehst du, wie man es richtig macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1782798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782798</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 22 Sep 2009 20:41:15 GMT</pubDate></item><item><title><![CDATA[Reply to #define on Tue, 22 Sep 2009 20:42:04 GMT]]></title><description><![CDATA[<p>Indian_Foxx schrieb:</p>
<blockquote>
<p>Ich habe im Moment nicht so richtig die Zeit für ein gutes Buch, ansonsten hätte ich ja nicht hier gefragt!</p>
</blockquote>
<p>Aha. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Indian_Foxx schrieb:</p>
<blockquote>
<p>GENAU und wie kriege ich das hin? Mein SCH**** Compiler sagt immer, dass das nicht geht, weil das &quot;x&quot; nicht definiert ist...</p>
</blockquote>
<p>Klar, der Compiler ist Mist, am meisten, weil er bei dem Präprozessorvorgang so starkt involviert ist. :p</p>
<p>Wie willst du was hinkriegen? Wie man eine einfache Zahl per <code>#define</code> festlegt, habe ich ja erwähnt und das kannst du auch schön an den anderen Zeilen ablesen. Dass es in C++ bessere Möglichkeiten gibt, wurde aber auch schon gesagt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1782799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782799</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 22 Sep 2009 20:42:04 GMT</pubDate></item><item><title><![CDATA[Reply to #define on Tue, 22 Sep 2009 20:43:37 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Schau dir mein Beispiel an. Dort siehst du, wie man es richtig macht.</p>
</blockquote>
<p>Yeah, das sehe ich ja schon, aber gibt es wiklich KEINE EINZIGE Möglichkeit das mit der &quot;#define&quot; zu machen? Ansonsten muss ich 3 A4 Seiten umschreiben o.O!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1782800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782800</guid><dc:creator><![CDATA[Indian_Foxx]]></dc:creator><pubDate>Tue, 22 Sep 2009 20:43:37 GMT</pubDate></item><item><title><![CDATA[Reply to #define on Tue, 22 Sep 2009 20:46:20 GMT]]></title><description><![CDATA[<p>Die definierten Konstanten kannst du genau gleich so stehen lassen. Du kannst von mir auch das redundante &quot;WERT_&quot; wieder vorne ranhängen.</p>
<p>Und für die Schwarzwerte nimmst du einfach einen int und nachdem du den Wert erhalten hast, machst du Boundchecks. (Das kann, wie ich bereits gezeigt habe automatisiert werden..)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1782801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782801</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 22 Sep 2009 20:46:20 GMT</pubDate></item><item><title><![CDATA[Reply to #define on Tue, 22 Sep 2009 20:55:55 GMT]]></title><description><![CDATA[<p>Oah... Ich gebs einfach auf und gut ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Das kriege ich doch nie im Leben hin...<br />
(Muss mir wirklich etwas durchlesen... Aber das wird erst dann kommen, wenn das alles schon vorbei ist.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1782805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782805</guid><dc:creator><![CDATA[Indian_Foxx]]></dc:creator><pubDate>Tue, 22 Sep 2009 20:55:55 GMT</pubDate></item><item><title><![CDATA[Reply to #define on Tue, 22 Sep 2009 21:12:26 GMT]]></title><description><![CDATA[<p>Tja, von 0 auf 100 geht nunmal nicht. Bei C++ noch weniger als bei den meisten Sprachen. Du wirst dich damit anfreunden müssen, dass du ohne das Grundlagen-Lernen nicht weit kommen wirst... <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/1782810</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782810</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Tue, 22 Sep 2009 21:12:26 GMT</pubDate></item><item><title><![CDATA[Reply to #define on Tue, 22 Sep 2009 21:15:14 GMT]]></title><description><![CDATA[<p>Das wusste ich schon am anfang, aber ich wurde damit verdonnert und das muss halt bis Donnerstag sitzen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1782813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1782813</guid><dc:creator><![CDATA[Indian_Foxx]]></dc:creator><pubDate>Tue, 22 Sep 2009 21:15:14 GMT</pubDate></item></channel></rss>