<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=85.178.198.94</id>
	<title>FreitagsrundenWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=85.178.198.94"/>
	<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//Spezial:Beitr%C3%A4ge/85.178.198.94"/>
	<updated>2026-11-01T12:58:59Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.6</generator>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs_2009/Zahlen_sagen&amp;diff=12492</id>
		<title>C-Kurs 2009/Zahlen sagen</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs_2009/Zahlen_sagen&amp;diff=12492"/>
		<updated>2009-09-22T07:02:39Z</updated>

		<summary type="html">&lt;p&gt;85.178.198.94: /* Hinweise */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Schreibe ein Programm, das eine als Kommandozeilenparameter in numerischer Form übergebene Zahl in Worten (also als Zahlwort) ausgibt.&lt;br /&gt;
Ein Aufruf des fertigen Programms könnte etwa wie folgt aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(~): ./zahlwort 174367&lt;br /&gt;
einhundertvierundsiebzigtausend dreihundertsiebenundsechzig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
* Alloziere zunächst einen Speicherblock, der groß genug ist, um das komplette Zahlwort zu enthalten (z.B. via &amp;lt;code&amp;gt;[http://www.cplusplus.com/reference/clibrary/cstdlib/malloc malloc]&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Schreibe eine Funktion &amp;lt;code&amp;gt;say_short_number(int number, char* buffer)&amp;lt;/code&amp;gt;, die eine übergebene Zahl zwischen 1 und 999 als Zahlwort in den ebenfalls übergebenen Puffer kopiert.&lt;br /&gt;
* Schreibe dann eine Funktion &amp;lt;code&amp;gt;say_number(long int number, char* buffer)&amp;lt;/code&amp;gt;, die eine (nahezu) beliebig große Zahl übergeben bekommt und für alle in der Zahl verfügbaren 10^3er-Gruppen (tausend, million(en), milliarde(n), ...) jeweils &amp;lt;code&amp;gt;say_short_number()&amp;lt;/code&amp;gt; aufruft.&lt;br /&gt;
* Zuordnungen von Zahl zu Zahlwort kannst du statt mittels case-Anweisung auch durch ein Array von Zeichenketten definieren.&lt;br /&gt;
* Beim Zerlegen von Zahlen helfen ggf. die Funktionen &amp;lt;code&amp;gt;[http://www.cplusplus.com/reference/clibrary/cmath/pow pow()]&amp;lt;/code&amp;gt; und/oder &amp;lt;code&amp;gt;[http://www.cplusplus.com/reference/clibrary/cmath/log10 log10()]&amp;lt;/code&amp;gt; aus dem Standardheader [http://www.cplusplus.com/reference/clibrary/cmath math.h].&lt;br /&gt;
* Beachte die Ausnahmen der Zahlwörter elf, zwölf, sechzehn und siebzehn im Gegensatz zu den übrigen Zahlen unter 20.&lt;br /&gt;
* Wie kann man sichergehen, dass unabhängig von der Größe des Speicherblocks und der Länge des Zahlwortes kein Pufferüberlauf (buffer overflow) entstehen kann?&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>85.178.198.94</name></author>
	</entry>
</feed>