<?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[brauche hilfe be einer aufgabe]]></title><description><![CDATA[<p>hallo,</p>
<p>ich muss ein programm schreiben das eine eingebene zahl als wort ausgibt.</p>
<p>zb. eingabe: 123<br />
ausgabe: hundertdreiundzwanzig</p>
<p>ich hab bis jetzt erst ein paar arrays in denen die die wörter drinstehen, die ich für die ausgabe brauche.</p>
<p>kann mir jemand einen tipp geben, wie es weiter geht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>danke <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/184348/brauche-hilfe-be-einer-aufgabe</link><generator>RSS for Node</generator><lastBuildDate>Thu, 23 Jul 2026 18:38:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/184348.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 14 Jun 2007 13:38:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to brauche hilfe be einer aufgabe on Thu, 14 Jun 2007 13:38:40 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>ich muss ein programm schreiben das eine eingebene zahl als wort ausgibt.</p>
<p>zb. eingabe: 123<br />
ausgabe: hundertdreiundzwanzig</p>
<p>ich hab bis jetzt erst ein paar arrays in denen die die wörter drinstehen, die ich für die ausgabe brauche.</p>
<p>kann mir jemand einen tipp geben, wie es weiter geht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>danke <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/1305727</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1305727</guid><dc:creator><![CDATA[azuroo]]></dc:creator><pubDate>Thu, 14 Jun 2007 13:38:40 GMT</pubDate></item><item><title><![CDATA[Reply to brauche hilfe be einer aufgabe on Thu, 14 Jun 2007 13:41:45 GMT]]></title><description><![CDATA[<p>primitivste Lösung: Bau dir ein Array mit x Strings (für jede in Frage kommende Zahl einer) und wähl dann den richtigen aus.</p>
<p>Bessere Lösung: Zerleg die Zahl mit % und / in einzelne Stellen und bau sie zusammen (da brauchst du vor allem eine Sonderbehandlung für den Bereich 1 bis 19).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1305730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1305730</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 14 Jun 2007 13:41:45 GMT</pubDate></item><item><title><![CDATA[Reply to brauche hilfe be einer aufgabe on Thu, 14 Jun 2007 15:11:04 GMT]]></title><description><![CDATA[<p>azuroo schrieb:</p>
<blockquote>
<p>ich muss ein programm schreiben das eine eingebene zahl als wort ausgibt.</p>
<p>zb. eingabe: 123<br />
ausgabe: hundertdreiundzwanzig</p>
</blockquote>
<p>In C++ geht das über die Facette num_put, die man beim gewünschten Ausgabe-Stream austauschen muss. Ich habe das früher schon mal für englische Zahlen bis 999999 gemacht.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;Zahlenklartext.h&quot;

int main()
{
    using namespace std;
    cout.imbue( locale( cout.getloc(), new ZahlKlartext ) );
    for( int i = 1; i &lt; 3000; i *= 7 )
        cout &lt;&lt; i &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>Die Ausgabe ist</p>
<blockquote>
<p>one<br />
seven<br />
fourtynine<br />
threehoundredfourtythree<br />
twothousandfourhoundredone</p>
</blockquote>
<p>Dann fehlt 'nur noch' das Include-File 'Zahlenklartext.h' - für deutsche Zahlen muss der Algorithmus natürlich angepasst werden.</p>
<pre><code class="language-cpp">#ifndef _ZAHLENKLARTEXT_H_
#define _ZAHLENKLARTEXT_H_

#include &lt;locale&gt;
#include &lt;algorithm&gt;
#include &lt;iterator&gt;
#include &lt;cstring&gt;      // strlen

#pragma warning ( disable : 4511 4512 )     // copy constructor / assignment operator could not be generated

namespace
{
namespace text
{
    const char* minus = &quot;minus&quot;;
    const char* numbers[] = {
        &quot;zero&quot;, &quot;one&quot;, &quot;two&quot;, &quot;three&quot;, &quot;four&quot;, &quot;five&quot;, &quot;six&quot;, &quot;seven&quot;, &quot;eight&quot;, &quot;nine&quot;, 
            &quot;ten&quot;, &quot;eleven&quot;, &quot;twelve&quot;, &quot;thirteen&quot;, &quot;fourteen&quot;, &quot;fifteen&quot;, &quot;sixteen&quot;, &quot;seventeen&quot;, &quot;eighteen&quot;, &quot;nineteen&quot;,
            &quot;twenty&quot;
    };
    const char* tausend = &quot;thousand&quot;;
    const char* hundert = &quot;houndred&quot;;
    const char* zehner = &quot;ty&quot;;

    template&lt; typename I &gt;
    I print( I out, const char* txt )
    {
        return std::copy( txt, txt + std::strlen( txt ), out );
    }
}
}

template&lt; typename E, typename OutIt = std::ostreambuf_iterator&lt; E &gt; &gt;
class basic_ZahlKlartext : public std::num_put&lt; E, OutIt &gt;
{
public:
    typedef std::num_put&lt; E, OutIt &gt; base_type;

    explicit basic_ZahlKlartext( std::size_t refs = 0 ) : base_type( refs ) {}
    virtual ~basic_ZahlKlartext() {}

protected:
    virtual iter_type do_put( iter_type out, std::ios_base&amp; ios_, char_type fill,
        long v ) const
    {
        if( v &lt; 0 )
        {
            out = text::print( out, text::minus );
            *(out++) = fill;
            v = -v;
        }
        return put( out, ios_, static_cast&lt; unsigned long &gt;( v ) );
    }
    virtual iter_type do_put( iter_type out, std::ios_base&amp; ios_, char_type,
        unsigned long v ) const
    {
        return put( out, ios_, static_cast&lt; unsigned long &gt;( v ) );
    }

private:
    iter_type put( iter_type out, std::ios_base&amp; ios_,
        unsigned long v ) const
    {
        if( v &gt;= 1000 )
        {
            out = put( out, ios_, v / 1000 );
            out = text::print( out, text::tausend );
            v %= 1000;
            if( v == 0 ) return out;
        }
        if( v &gt;= 100 )
        {
            unsigned long h = v / 100;
            if( h &gt; 0 )
            {
                out = text::print( out, text::numbers[ h ] );
                out = text::print( out, text::hundert );
                v %= 100;
                if( v == 0 ) return out;
            }
        }
        if( v &gt;= sizeof(text::numbers)/sizeof(*text::numbers) )
        {
            unsigned long z = v / 10;
            if( z == 2 )
            {
                // Sonderbehandlung für twenty
                out = text::print( out, text::numbers[ 20 ] );
            }
            else
            {
                out = text::print( out, text::numbers[ z ] );
                out = text::print( out, text::zehner );
            }
            v %= 10;
            if( v == 0 ) return out;
        }
        return text::print( out, text::numbers[ v ] );
    }
};

typedef basic_ZahlKlartext&lt; char &gt; ZahlKlartext;
typedef basic_ZahlKlartext&lt; wchar_t &gt; WZahlKlartext;

#endif  // ifndef _ZAHLENKLARTEXT_H_
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1305791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1305791</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Thu, 14 Jun 2007 15:11:04 GMT</pubDate></item><item><title><![CDATA[Reply to brauche hilfe be einer aufgabe on Fri, 15 Jun 2007 13:30:34 GMT]]></title><description><![CDATA[<p>Pff, für deutsche Zahlen gar net mal so einfach...</p>
<p>Ok, was mir so auffällt:<br />
- Die Namen der Zahlen von 0 bis 19 sollte man sich abspeichern, da etwas speziell.<br />
- Die Namen der Zahlen 20, 30, 40... werden gebildet durch den Namen des Einers+&quot;zig&quot;. Ausnahmen sind zwanzig, dreißig sechzig und siebzig. Muss man sich wieder abspeichern<br />
- 100, 1000, 1000000 usw haben wieder spezielle Namen. (wieder abspeichern) (muss also vorher festlegen bis wohimn es gehen soll)<br />
- Für alle Zahlen &lt;100 und &gt;19 gilt: Erst kommt die Einer-Stelle, dann ein &quot;und&quot; und dann die enstsprechende 10er Stelle (22-&gt; zwei+&quot;und&quot;+zwanzig) Diese lassen sich also zusammensetzen.<br />
- Alle Zahlen &gt;=100 sind simple Aneinanderreihungen der Namen der Ziffern+der Name der Stelle (hundert, tausend, million...)</p>
<p>vllt kannst du damit was anfangen. Quasi eins nach dem andern zum laufen bringen.</p>
<p>Hoffe ich habe nichts vergessen.</p>
<p>EDIT in Bezug auf den Post unter mir.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1305853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1305853</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Fri, 15 Jun 2007 13:30:34 GMT</pubDate></item><item><title><![CDATA[Reply to brauche hilfe be einer aufgabe on Thu, 14 Jun 2007 16:19:06 GMT]]></title><description><![CDATA[<p>dreizig <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Mal n büschen klugscheissen. <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/1305856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1305856</guid><dc:creator><![CDATA[proggingmania]]></dc:creator><pubDate>Thu, 14 Jun 2007 16:19:06 GMT</pubDate></item><item><title><![CDATA[Reply to brauche hilfe be einer aufgabe on Fri, 15 Jun 2007 06:52:17 GMT]]></title><description><![CDATA[<p>Ich müßte irgendwo zu Hause noch eine Pascal-Version für die Aufgabe rumliegen haben (das gab's mal beim BWI - für Zahlen bis 999999).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306244</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 15 Jun 2007 06:52:17 GMT</pubDate></item></channel></rss>