<?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[Bibliotheken einfügen]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>Ich habe gerade den Auftrag erhalten, eine römische Zahl in eine Arabische und eine arabische in eine römische Zahl umzuwandeln. Das machen wir so, dass wir die Funktion der römischen in arabischen Zahl und das umgekehrte in zwei einzelnen Dateien speichern und dann vergleichen und ausgeben. Leider funktioniert es bei mir noch nicht richtig</p>
<p>Hier ist das Hauptprogramm :</p>
<pre><code>//Eingabe der In/out Bibliothek

#include &lt;iostream&gt;

#include &quot;rom.h&quot;
#include &quot;arab.h&quot;

//Angabe welchen Namensraum man verwenden will (hier standard)
using namespace std;

//Hauptfunktion
int main()
{
int ausgabe;
char eingabe[200];
int eingabe2;

cin &gt;&gt; eingabe;
cin &gt;&gt; eingabe2;
 ausgabe = rom(eingabe[200]);
arab(eingabe2);

cin.get();
system (&quot;pause&quot;);
return 0;
}
</code></pre>
<p>Die Funktion des römischen:</p>
<pre><code>//Hauptfunktion
void rom(char text[200])
{
int zaehler = 0;
int zahl = 0;

//hier kommt ein definiertes Char-Array 

 // das ist eigentlich kein Array sondern ein einzelnes Zeichen;

 //cin.getline(text,sizeof(text));

 for (int i =0; i &lt;= strlen (text); /* er wird nur die den gewünschten Text befürworten */ i++)
 {
     //das vergleicht  den Text mit dem Zeichen dazu brauche ich aber noch einen Zähler, der jedesmal ausgegeben wird wenn der Buchstabe vorkommt
    if(text[i] == 'C' &amp;&amp; text[i+1] == 'M') {zahl += 900;  i += 2;}
     if(text[i] == 'C' &amp;&amp; text[i+1] == 'D') {zahl += 400; i += 2;}
     if(text[i] == 'X' &amp;&amp; text[i+1] == 'C') {zahl += 90; i += 2;}
     if(text[i] == 'X' &amp;&amp; text[i+1] == 'L') {zahl += 40;i += 2;}
     if(text[i] == 'I' &amp;&amp; text[i+1] == 'X') {zahl += 9; i += 2;}
     if(text[i] == 'I' &amp;&amp; text[i+1] == 'V') {zahl += 4; i += 2;}

    if(text[i] == 'D' ) zahl += 500; 
     if(text[i] == 'C') zahl += 100;
     if(text[i] == 'L') zahl += 50;
     if(text[i] == 'X') zahl += 10;
     if(text[i] == 'V') zahl += 5;
     if(text[i] == 'I') zahl += 1;

}

cout &lt;&lt;  zahl;

}
</code></pre>
<p>Und die des arabischen</p>
<pre><code>//Hauptfunktion
int arab(int arabisch)
{
    char arabischzeichen[9] = {'I','M','C','D','L','X','V'};

while(arabisch &gt;=1000)
{
 return arabischzeichen[1];
 arabisch -= 1000;

}

/*while(arabisch &gt;=900)
{

  cout &lt;&lt; &quot;CM&quot;;
  arabisch -= 900;

} 

while(arabisch &gt;=500)
{

  cout &lt;&lt; &quot;D&quot;;
  arabisch -= 500;

} 
while(arabisch &gt;=400)
{

  cout &lt;&lt; &quot;CD&quot;;
  arabisch -= 400;

} 
while(arabisch &gt;=100)
{

  cout &lt;&lt; &quot;C&quot;;
  arabisch -= 100;

} 
while(arabisch &gt;=50)
{

  cout &lt;&lt; &quot;L&quot;;
  arabisch -= 50;

} 
while(arabisch &gt;=40)
{

  cout &lt;&lt; &quot;XL&quot;;
  arabisch -= 40;

} 
while(arabisch &gt;=10)
{

  cout &lt;&lt; &quot;X&quot;;
  arabisch -= 10;

} 
while(arabisch &gt;=5)
{

  cout &lt;&lt; &quot;V&quot;;
  arabisch -= 5;

} 
while(arabisch &gt;=4)
{

  cout &lt;&lt; &quot;IV&quot;;
  arabisch -= 4;

} 
*/
while(arabisch &gt;=1)
{

  return  arabischzeichen[0];
  arabisch -= 1;

} 

}
</code></pre>
<p>Ich hoffe, Ihr könnt mir 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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/284571/bibliotheken-einfügen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 22:22:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/284571.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 04 Apr 2011 09:01:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bibliotheken einfügen on Mon, 04 Apr 2011 09:02:01 GMT]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>Ich habe gerade den Auftrag erhalten, eine römische Zahl in eine Arabische und eine arabische in eine römische Zahl umzuwandeln. Das machen wir so, dass wir die Funktion der römischen in arabischen Zahl und das umgekehrte in zwei einzelnen Dateien speichern und dann vergleichen und ausgeben. Leider funktioniert es bei mir noch nicht richtig</p>
<p>Hier ist das Hauptprogramm :</p>
<pre><code>//Eingabe der In/out Bibliothek

#include &lt;iostream&gt;

#include &quot;rom.h&quot;
#include &quot;arab.h&quot;

//Angabe welchen Namensraum man verwenden will (hier standard)
using namespace std;

//Hauptfunktion
int main()
{
int ausgabe;
char eingabe[200];
int eingabe2;

cin &gt;&gt; eingabe;
cin &gt;&gt; eingabe2;
 ausgabe = rom(eingabe[200]);
arab(eingabe2);

cin.get();
system (&quot;pause&quot;);
return 0;
}
</code></pre>
<p>Die Funktion des römischen:</p>
<pre><code>//Hauptfunktion
void rom(char text[200])
{
int zaehler = 0;
int zahl = 0;

//hier kommt ein definiertes Char-Array 

 // das ist eigentlich kein Array sondern ein einzelnes Zeichen;

 //cin.getline(text,sizeof(text));

 for (int i =0; i &lt;= strlen (text); /* er wird nur die den gewünschten Text befürworten */ i++)
 {
     //das vergleicht  den Text mit dem Zeichen dazu brauche ich aber noch einen Zähler, der jedesmal ausgegeben wird wenn der Buchstabe vorkommt
    if(text[i] == 'C' &amp;&amp; text[i+1] == 'M') {zahl += 900;  i += 2;}
     if(text[i] == 'C' &amp;&amp; text[i+1] == 'D') {zahl += 400; i += 2;}
     if(text[i] == 'X' &amp;&amp; text[i+1] == 'C') {zahl += 90; i += 2;}
     if(text[i] == 'X' &amp;&amp; text[i+1] == 'L') {zahl += 40;i += 2;}
     if(text[i] == 'I' &amp;&amp; text[i+1] == 'X') {zahl += 9; i += 2;}
     if(text[i] == 'I' &amp;&amp; text[i+1] == 'V') {zahl += 4; i += 2;}

    if(text[i] == 'D' ) zahl += 500; 
     if(text[i] == 'C') zahl += 100;
     if(text[i] == 'L') zahl += 50;
     if(text[i] == 'X') zahl += 10;
     if(text[i] == 'V') zahl += 5;
     if(text[i] == 'I') zahl += 1;

}

cout &lt;&lt;  zahl;

}
</code></pre>
<p>Und die des arabischen</p>
<pre><code>//Hauptfunktion
int arab(int arabisch)
{
    char arabischzeichen[9] = {'I','M','C','D','L','X','V'};

while(arabisch &gt;=1000)
{
 return arabischzeichen[1];
 arabisch -= 1000;

}

/*while(arabisch &gt;=900)
{

  cout &lt;&lt; &quot;CM&quot;;
  arabisch -= 900;

} 

while(arabisch &gt;=500)
{

  cout &lt;&lt; &quot;D&quot;;
  arabisch -= 500;

} 
while(arabisch &gt;=400)
{

  cout &lt;&lt; &quot;CD&quot;;
  arabisch -= 400;

} 
while(arabisch &gt;=100)
{

  cout &lt;&lt; &quot;C&quot;;
  arabisch -= 100;

} 
while(arabisch &gt;=50)
{

  cout &lt;&lt; &quot;L&quot;;
  arabisch -= 50;

} 
while(arabisch &gt;=40)
{

  cout &lt;&lt; &quot;XL&quot;;
  arabisch -= 40;

} 
while(arabisch &gt;=10)
{

  cout &lt;&lt; &quot;X&quot;;
  arabisch -= 10;

} 
while(arabisch &gt;=5)
{

  cout &lt;&lt; &quot;V&quot;;
  arabisch -= 5;

} 
while(arabisch &gt;=4)
{

  cout &lt;&lt; &quot;IV&quot;;
  arabisch -= 4;

} 
*/
while(arabisch &gt;=1)
{

  return  arabischzeichen[0];
  arabisch -= 1;

} 

}
</code></pre>
<p>Ich hoffe, Ihr könnt mir 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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2044412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2044412</guid><dc:creator><![CDATA[picoG]]></dc:creator><pubDate>Mon, 04 Apr 2011 09:02:01 GMT</pubDate></item><item><title><![CDATA[Reply to Bibliotheken einfügen on Mon, 04 Apr 2011 09:07:15 GMT]]></title><description><![CDATA[<p>picoG schrieb:</p>
<blockquote>
<p>Leider funktioniert es bei mir noch nicht richtig...</p>
</blockquote>
<p>Könntest du bitte genauer sagen was nicht funktioniert? Die wenigsten werden sich deinen Code in Gänze anschauen (zumal teilweise zum Lesen schlecht formatiert...). Zudem verwende bitte die &quot;C/C++&quot;-Tags, nicht die &quot;Code&quot;-Tags um eben solchen im Forum hervorzuheben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2044414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2044414</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 04 Apr 2011 09:07:15 GMT</pubDate></item><item><title><![CDATA[Reply to Bibliotheken einfügen on Mon, 04 Apr 2011 09:09:57 GMT]]></title><description><![CDATA[<p>Ja^^, dass ist ja das Problem^^ also den römischen Teil ist überhaupt nich compilierbar... wenn ich es über void mit einem cout probiere kommt &quot;cout undecleared&quot;. Wenn ich es über einen int mache mit einem return kommt &quot;invalid conversation from *char to int&quot;. Der arabische Teil ist wenigstens kompilierbar, aber es kommt nach der Eingabe keine Ausgabe</p>
<p>ich hoffe das konnte weiterhelfen und bitte helft mir stehe kurz vor der verzweiflung <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/2044416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2044416</guid><dc:creator><![CDATA[picoG]]></dc:creator><pubDate>Mon, 04 Apr 2011 09:09:57 GMT</pubDate></item><item><title><![CDATA[Reply to Bibliotheken einfügen on Mon, 04 Apr 2011 09:14:23 GMT]]></title><description><![CDATA[<p>Du greifst in Zeile 16 und 21 auf einen ungültigen Arrayindex zu und dann fliegt dir dein Programm um die Ohren. Am besten unterteilst du dein Programm in zwei Abschnitte: römisch -&gt; arabisch und arabisch -&gt; römisch. Abhängig davon liest du die Benutzereingabe in den passenden Datentyp ein, für arabish -&gt; römisch wäre das ein Integer und für römisch -&gt; arabisch ein std::string (kein char[200] !).<br />
Die Aufgabe sieht mir nach Hausaufgabe aus, gut möglich, dass ihr std::string noch nicht benutzt habt. Erkundige dich dann, ob du string mit all seinen Vorteilen benutzen darfst oder ob der Aufgabensteller auf char[200] beharrt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2044421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2044421</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Mon, 04 Apr 2011 09:14:23 GMT</pubDate></item><item><title><![CDATA[Reply to Bibliotheken einfügen on Mon, 04 Apr 2011 09:35:42 GMT]]></title><description><![CDATA[<p>Nein std::string dürfen wir nicht benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2044438</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2044438</guid><dc:creator><![CDATA[picoG]]></dc:creator><pubDate>Mon, 04 Apr 2011 09:35:42 GMT</pubDate></item><item><title><![CDATA[Reply to Bibliotheken einfügen on Mon, 04 Apr 2011 10:03:27 GMT]]></title><description><![CDATA[<p>Ein kleiner Tipp:</p>
<p>Du kannst die Lösung mit Hilfe von passenden Arrays und Schleifen sehr übersichtlich gestalten. Zum Beispiel die Ausgabe der römischen Zahl:</p>
<pre><code class="language-cpp">typedef struct {const char* s;unsigned int val;} RomanValues;
const RomanValues romanValues[]={
 // höchster Wert zuerst, wie nutzen aus, dass die Zeichen in ihrem Wert absteigend von links nach rechts innerhalb der Zeichenkette angeordnet sind.
 {&quot;M&quot;, 1000},
 {&quot;CM&quot;, 900},
 {&quot;D&quot;, 500},
 {&quot;CD&quot;, 400},
 {&quot;C&quot;, 100},
 {&quot;XC&quot;, 90},
 {&quot;L&quot;, 50},
 {&quot;XL&quot;, 40},
 {&quot;X&quot;, 10},
 {&quot;IX&quot;, 9},
 {&quot;V&quot;, 5},
 {&quot;IV&quot;, 4},
 {&quot;I&quot;, 1}
};

// Pseudocode:
pos = 0; // 
Solange wie val&gt;0
  wenn val&gt;=romanValues[pos].val
    Ausgabe von romanValues[pos].s
    val-=romanValues[pos].val
  ansonsten
    pos um 1 erhöhen, nächsten Wert im nächsten Schleifendurchlauf überprüfen
</code></pre>
<p>Anders herum geht es genau so, jedoch müssen in dem Falle erst die zweistelligen römischen Zahlen geprüft werden. Beim Auffinden einer Ziffer wird die Position innerhalb der Zeichenkette um eben diese Länge verschoben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2044458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2044458</guid><dc:creator><![CDATA[_Falke]]></dc:creator><pubDate>Mon, 04 Apr 2011 10:03:27 GMT</pubDate></item><item><title><![CDATA[Reply to Bibliotheken einfügen on Mon, 04 Apr 2011 10:07:01 GMT]]></title><description><![CDATA[<p>picoG schrieb:</p>
<blockquote>
<p>Nein std::string dürfen wir nicht benutzen.</p>
</blockquote>
<p>&lt;ironie&gt;<br />
Aber &lt;iostream&gt;? Was lernt ihr eigentlich? C mit Klassen?</p>
<p>(Ich hoffe irgendwann kommt in den Klassenräumen mal an, das std::string zum C++ Standard gehört, und Funktionen wie strlen wiederum sind klassisches C [und in den C-Kompatibilitätsheadern zu finden]).<br />
&lt;/ironie&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2044461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2044461</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 04 Apr 2011 10:07:01 GMT</pubDate></item><item><title><![CDATA[Reply to Bibliotheken einfügen on Mon, 04 Apr 2011 11:05:40 GMT]]></title><description><![CDATA[<p>Ich habe das Problem gelöst aber jetzt habe ich noch eine andere Frage:</p>
<p>Wie kann ich überprüfen, ob ein Char eine Zahl ist?</p>
<p>Also eine Abfrage, wenn der Char eine Zahl ist in eine römische umschreiben und wenn der char keine Nummer ist in eine arabische umschreiben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2044484</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2044484</guid><dc:creator><![CDATA[picoG]]></dc:creator><pubDate>Mon, 04 Apr 2011 11:05:40 GMT</pubDate></item><item><title><![CDATA[Reply to Bibliotheken einfügen on Mon, 04 Apr 2011 14:37:58 GMT]]></title><description><![CDATA[<p>An deiner Stelle würde ich es mit std::string machen, und falls dein Lehrer es nicht akzeptiert, diesen totschlagen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2044564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2044564</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Mon, 04 Apr 2011 14:37:58 GMT</pubDate></item></channel></rss>