Aufruf von Funktionen mittels Variablen steuern.

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
squiddy
Beiträge: 4
Registriert: Fr Apr 06, 2012 8:08 pm

Aufruf von Funktionen mittels Variablen steuern.

Beitrag von squiddy » Fr Apr 06, 2012 8:44 pm

Hallo, liebe Programmierer...

Ich bin noch ziemlich bis völlig grün und habe es mir in den kopf gesetzt, in C eine kleine Quizsoftware mit Auswertung zu schreiben.

Dass ich das Ganze einfach mit einer Langen Wurst in der main()-Funktion lösen könnte ist mir klar, aber um die Fragen später leichter verändern zu können und Codezeilen zu sparen möchte ich die Fragen mit dazugehöriger Antwort als Funktionen im Header definieren.

In der main()-Funktion möchte ich dann nur noch eine art Schleifenanweisung haben, die die Fragen nach der Reihe aufruft und die Variable für bereits gestellte Fragen immer um 1 erhöht und die Variable für richtig beantwortete Fragen bei bedarf um 1 erhöht.
Soweit alles klar, bis auf folgendes:

Gibt es eine Art Schleife oder Anweisung, mit der der Wert einer Variable steuert, welche Funktion aufgerufen wird?

LG und danke im Voraus
Nikolaus

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Aufruf von Funktionen mittels Variablen steuern.

Beitrag von cloidnerux » Fr Apr 06, 2012 9:10 pm

Hallo, liebe Programmierer...
Hi und willkommen im Forum.
Gibt es eine Art Schleife oder Anweisung, mit der der Wert einer Variable steuert, welche Funktion aufgerufen wird?
Nein. Aber es gibt etwas, was sich "Funktionspointer" nennt. Damit könnte man eine Liste alle Fragen und Antworten generieren, durch die man dann aber Iterieren kann. Dies ist aber keine Sinnvolle Lösung.
Dass ich das Ganze einfach mit einer Langen Wurst in der main()-Funktion lösen könnte ist mir klar, aber um die Fragen später leichter verändern zu können und Codezeilen zu sparen möchte ich die Fragen mit dazugehöriger Antwort als Funktionen im Header definieren.
Funktionen im Header sind nicht schön, dass ist aber nicht das Problem.
Versuch doch mal eine andere Lösung zu entwickeln, bei der Fragen und Antworten nicht in Funktionen sondern als Daten gespeichert werden.

MfG cloidnerux.
Redundanz macht wiederholen unnötig.
quod erat expectandum

squiddy
Beiträge: 4
Registriert: Fr Apr 06, 2012 8:08 pm

Re: Aufruf von Funktionen mittels Variablen steuern.

Beitrag von squiddy » Fr Apr 06, 2012 10:00 pm

Hallo und danke für die schnelle Antwort.

Danke, jetzt weiß ich, wonach ich suchen muss.
Das Einbinden von externen Dateien ist leider noch weit über meiner Kragenweite, also werden besagte Funktionspointer einstweilen herhalten müssen ;)
Schönen Abend noch.
LG
Nikolaus

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Aufruf von Funktionen mittels Variablen steuern.

Beitrag von Xin » Fr Apr 06, 2012 10:26 pm

Moin Squiddy
squiddy hat geschrieben:Dass ich das Ganze einfach mit einer Langen Wurst in der main()-Funktion lösen könnte ist mir klar, aber um die Fragen später leichter verändern zu können und Codezeilen zu sparen möchte ich die Fragen mit dazugehöriger Antwort als Funktionen im Header definieren.
Du kannst die Fragen und Antworten als Array in der .c-Datei erstellen, aber nicht im Header.
squiddy hat geschrieben: Gibt es eine Art Schleife oder Anweisung, mit der der Wert einer Variable steuert, welche Funktion aufgerufen wird?
Wie cloidnerux schon richtig sagte, wären hier ein Array von Funktionspointern eine Möglichkeit. Ich glaube aber nicht, dass das hier gewünscht ist.

Was sollen die Funktionen denn machen!?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

squiddy
Beiträge: 4
Registriert: Fr Apr 06, 2012 8:08 pm

Re: Aufruf von Funktionen mittels Variablen steuern.

Beitrag von squiddy » Fr Apr 06, 2012 11:08 pm

Abend

Hatte es mir so gedacht, dass die Mainfunktion

Die Fragenfunktionen sollen jeweils

- die Fragestellung per printf ausgeben
- die Variable "richtigeAntwort" auf den entsprechenden Wert setzen
- die Variable "anzahlBearbeiteterFragen" um eins erhöhen

in der Mainfunktion wollte ich dann etwas unterbringen, was

solange unbeantwortete Fragen vorhanden sind
- die erste Frage stellt
- die Variablen "richtigeAntwort" und "gegebeneantwort" vergleicht und gegebenfalls "richtigeAntworten" um eins erhöht.
- die Variable "anzahlBearbeiteterFragen" um eins erhöht
- die nächste Frage stellt

...und am Ende anzeigt, wie viele Fragen richtig beantwortet wurden?

LG
Nikolaus

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Aufruf von Funktionen mittels Variablen steuern.

Beitrag von Bebu » Fr Apr 06, 2012 11:19 pm

Ist doch ein schönes kleines Projekt. Aber dazu musst du dich nicht mit Funktionszeigern rumschlagen. Du könntest dir stattdessen ein Struct aufbauen, das die Fragen und die Beantwortet Flags enthält und solche Structs dann in ein Array packen. Das kannst du dann durchlaufen.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Aufruf von Funktionen mittels Variablen steuern.

Beitrag von Xin » Fr Apr 06, 2012 11:22 pm

Bebu hat geschrieben:Ist doch ein schönes kleines Projekt. Aber dazu musst du dich nicht mit Funktionszeigern rumschlagen. Du könntest dir stattdessen ein Struct aufbauen, das die Fragen und die Beantwortet Flags enthält und solche Structs dann in ein Array packen. Das kannst du dann durchlaufen.
So würde ich es auch schreiben.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

squiddy
Beiträge: 4
Registriert: Fr Apr 06, 2012 8:08 pm

Re: Aufruf von Funktionen mittels Variablen steuern.

Beitrag von squiddy » So Apr 08, 2012 10:16 am

Danke Sehr.

Dann werd ich mal wieder die Nase ins Buch stecken.

LG und schönen Ostersonntag
Nikolaus

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Aufruf von Funktionen mittels Variablen steuern.

Beitrag von Xin » So Apr 08, 2012 10:24 am

squiddy hat geschrieben:Dann werd ich mal wieder die Nase ins Buch stecken.
Einerseits dort nachlesen, was geht, andererseits aber auch Ausprobieren.
Ein Fehlschlag ist nur dann ein Fehlschlag, wenn man das Kapitel danach aufgibt. Ansonsten ist es ein Fortschritt.

Probiere ruhig auch Dinge aus und sei nicht enttäuscht, wenn etwas nicht kappt. Das Wissen darüber wird Dir später nützlich sein.
Ein Buch kann Dir nie erklären, was alles möglich ist.

Frohe Ostern.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten