Hallo Martin,
Also das Programm soll in „C“ geschrieben sein und es geht
nicht darum 6 Zahlen aus einem Pool von 49 zu ziehen, dass hab
ich nämlich schon hinbekommen. Die Aufgabenstellung is wie
gesagt komplex. Der zweite teil, um den es geht, ist eher ein
Statistikteil und zur zur Fehlererkennung einer Lottoschein
Datei*.
…
Also, es soll „6 aus 49“ plus Zusatzzahl sein, o.k.
Nach Deiner etwas konfusen (imho) Be-
schreibung sind es aber im wesentlichen
zwei Programme, von denen die Rede
ist oder sein könnte.
Das eine (A) ist „interaktiv“, fragt einen
Anwender ab und gibt entsprechende Meldungen
aus.
Das andere (B) ist ein „Filter“, den man
mit einem „Datenstrom“ (Lotto-Datei)
aufruft, welche verarbeitet wird - wonach
dann ein (konfigurierbares) Resultat
ausgegeben wird - völlig automatisch
und ohne weitere Interaktion.
Diese beiden Aspekte sollte man
vielleicht getrennt angehen, die
„Interaktion“ A ist jedoch ein
„Spezialfall“ von B mit nur einem
(oder wenigen) Datensatz(-en).
Daher würde ich mit dem Filter B
anfangen. In Deiner Liste wäre das:
\* Datei mit den Lottoscheinen einlesen,
3. Nummer aller Scheine mit je drei, vier, fünf, sechs und
fünf Treffern mit Superzahl aufsteigend geordnet in Datei
oder auf Konsole (entsprechend Option) ausgeben
4. optional alle 49 zahlen mit der jeweiligen Angabe der
Anzahl ihres Auftretens ausgeben (=Statistk)
5. Nummer aller ungültigen Scheine aufsteigend geordnet in
Datei bzw. auf der Konsole (je nach Option) ausgeben
8. wenn mehr als 500 dreier bzw. 100 vierer oder 500 fünfer
bzw. 100 fünfer mit Zusatzzahl oder 30 sechser oder mehr
als 200 ungültige Scheine auftrten -\> entsprechende Meldung
ausgeben und restliche Aufgaben nicht mehr durchführen
Kannst Du etwas zum Format der Lottodatei sagen? Vielleicht mal
10 Zeilen einfügen?
Sicher ist das in C kein allzugrosses Problem,
aber ich halte C für unzweckmässig bezüglich
solcher Aufgabenstellungen.
Geht es um „Lernen von C anhand des Problems“
oder wie ist die ganze Sache zu verstehen?
Ich schätze mal grob - ~300 Zeilen in C,
wogegen man in z.B. Perl (o.ä.) wahrschein-
lich mit 30 oder 40 Zeilen davonkäme (für
die Kombination von A und B in einem
Programm).
An sich ist das schon nicht uninteressant …
Noch eine Frage: in welchem Umfeld soll das
Programm laufen, Windows/Konsole, Unix …?
Welche Werkzeuge bzw. Compiler sollen verwendet werden?
Grüße
CM