Hallo
Ich glaube, du hast da etwas falsch verstanden.
Meine Erläuterungen zu Präfix, Suffix etc. hiessen nur, dass, wenn es eine Funktion gibt, die diese Präfixe und Suffixe hat, die Präfixe und Suffixe entsprechend das bedeuten. Nicht umgekehrt.
Zudem scheinst du das Konzept von C nicht richtig verstanden zu haben. Darf man fragen, ob du das autodidaktisch/für einen gewissen Zweck/für eine Hochschule machst?
Ich versuche mal, aufzuklären:
Du hast in deinem Code 2 main-Funktionen. Das ist nicht erlaubt.
Ein C-Programm ist eigentlich nur eine Sammlung von Funktionen. Eine .dll unter Windows ist eigentlich ziemlich dasselbe wie eine .exe (.so / executeable unter *nix): Es sind nur Funktionen drin gespeichert.
Wenn du nun ein Programm startest, muss dein Betriebssystem wissen, von welcher Funktion es ausgehen musst. Diese nennt man "Entry Point" (oder auf Deutsch "Einstiegspunkt"). Normalerweise ist das die int main(int argc, char** argv), kann aber auch zu int main() vereinfacht werden.
2 Funktionen mit demselben Namen sind allerdings niemals erlaubt (Ausnahme: Overloaded functions in C++, wobei auch die für das System eigentlich anders (eindeutig) heissen).
Du kannst zwar Funktionen wie s_read_file() selbst definieren, allerdings macht das in diesem Zusammenhang wenig Sinn.
"String" gibt es gar nicht. Wenn schon, dann std::string und das ist C++. Wenn du nur C, willst, müsstest du für Strings jeweils char* verwenden.
Der Code von sheel hat dir eigentlich schon ziemlich alles gezeigt:
Du öffnest die Datei zuerst und liest sie dann mit while(3==fscanf...) aus. Die Durchschnitte kannst du dann mathematisch eruiren.
Das war jetzt viel Text mit wenig Inhalt, oder?
Wir als Forumscommunity stehen bei solchen Fragen immer ein bisschen im Kakao: Es wäre für sheel ein Leichtes (ich schätze mal 5 Minütchen), dir den Code fertig hinzuwerfen und viel Spass damit zu wünschen, aber wir glauben, dass man so nichts lernt. sheel kann schon diesen Code schreiben, ich (glaube ich
) auch. Es geht darum, dass du ihn verstehst. (Fisch-Zitat einfügen)
(Fast) alles, was du für deine Aufgabe braucht, hat dir sheel einige Posts höher gegeben. Du kannst natürlich immer versuchen, etwas komplett eigenes zu machen, aber gerade, wenn du lernen willst, solltest du erst den "normalen" Weg verstanden haben.
Ich will damit auch nicht gemein sein, aber ich gebe dir folgenden Rat:
Schaue dir den Code an, den sheel gepostet hat. Verdaue ihn, und füge die einzelnen Stücke (intelligent) zusammen. Wenn dann etwas nicht läuft, darfst du natürlich fragen. Du darfst auch immer wieder theoretische, konzeptuelle Fragen stellen. Aber der Code, den du gepostet hast, enthält keine Fragen, keinen Ansatz; er kompiliert nicht einmal.
Zumindest ich kann dir kein komplettes Tutorial schreiben, dafür fehlt mir schlicht die Zeit, aber du kannst viele im Internet finden.
Also, als Teilaufgabe für dich:
Schaue dir sheels Codeschnippel an und baue aus diesen Bausteinen etwas, lasse es durch den Compiler laufen, schaue dir die Fehler an, schaue, ob du sie selbst beheben kannst, und sollte dem nicht so sein, dann fragst du hier und wir beantworten dir deine Frage voller Freude.
Aber wenn wir zuerst die Glaskugel anschmeissen müssen, um zu wissen, was du weisst, was nicht und was genau das Problem ist, dann dämpft das unsere Motivation auch ein bisschen.
Ich habe jetzt frecherweise für alle geschrieben. Zustimmungen/Widersprüche sind also nötig, um die Aussagen zu veri- oder falsifizieren
Gruss
cwriter