Textinhalt in Variablen speichern aber wie???



  • Hi Leute!
    Könnt ihr mir viel weiterhelfen??
    Der Textinhalt ist folgendermaßen aufgebaut::

    Noten\Test.txt
    2 Schüler
    10 Klassenarbeiten
    ----------------------------------------------------------------------------
    | | KA1 | KA2 | KA3 | KA4 | KA5 | KA6 | KA7 | KA8 | KA9 | KA10|
    ----------------------------------------------------------------------------
    | Max | 2 | 3 | 1 | 3 | 5 | 3 | 3 | 3 | 3 | 5 |
    ----------------------------------------------------------------------------
    | Moritz | 4 | 2 | 2 | 4 | 4 | 2 | 4 | 2 | 3 | 5 |
    ----------------------------------------------------------------------------

    Zunächst wird der Dateiname angegeben, darunter die Anzahl der Schüler, danach die Anzahl der Klassenarbeiten.
    Diese Werte sollen in Variablen gespeichert werden:
    dateiname anzsch und anzkl gespeichert werden.

    Die Noten der Schüler sollen in den Variablen:
    int noten[10][10], anzsch, anzkl;
    char name[30][20];
    char dateiname[60];


    Die Noten in der Variable noten[x][y]

    Wisst ihr vielleicht, wie man soetwas einlesen könnte??? Die höchstanzahl an klassenarbeiten ist zehn und die höchstanzahl an schuelern ist 30!!!

    MFG
    frekka



  • hier nochmal besser dargestellt

    Noten\Test.txt
    2 Schüler
    10 Klassenarbeiten
    ----------------------------------------------------------------------------
    |              | KA1 | KA2 | KA3 | KA4 | KA5 | KA6 | KA7 | KA8 | KA9 | KA10|
    ----------------------------------------------------------------------------
    | DJ           |  2  |  3  |  1  |  3  |  5  |  3  |  3  |  3  |  3  |  5  |
    ----------------------------------------------------------------------------
    | Marco        |  4  |  2  |  2  |  4  |  4  |  2  |  4  |  2  |  3  |  5  |
    ----------------------------------------------------------------------------
    


  • erst mal solltest du die datei anders formatieren, so ist es ja viel zu kompliziert auszulesen
    z.b.

    marc;10;11;4;9;....

    so halt... der rest -> suchfunktion! 😉



  • Datei Zeilenweise einlesen, anhand des Trennzeichens die jeweilig eingelesene Zeile splitten und die Daten in den Array abspeichern...



  • strtok anschauen....



  • Ja habe ich mir schonmal angeschaut, aber leider versteh ich das noch nicht so wirklich. den text inne datei schreiben war doch wesentlich leichter*g*
    Könnt ihr mir viel mal nen bissl helfen?
    Ich versuchs wirklich schon den ganzen abend und kriegs nicht hin
    MFG
    frekka



  • Mit dem strtok kannst du eine Zeichenkette anhand eines Zeichens trennen.
    Hier ein kleines Beispiel aus der MSDN

    #include <string.h>
    #include <stdio.h>
    
    char string[] = "A string\tof ,,tokens\nand some  more tokens";
    char seps[]   = " ,\t\n";
    char *token;
    
    void main( void )
    {
       printf( "%s\n\nTokens:\n", string );
       /* Establish string and get the first token: */
       token = strtok( string, seps );
       while( token != NULL )
       {
          /* While there are tokens in "string" */
          printf( " %s\n", token );
          /* Get next token: */
          token = strtok( NULL, seps );
       }
    }
    

Anmelden zum Antworten