Brauche dringend eure Hilfe!



  • Also, ich habe ein Problem, ich brauche für ein Projekt in der Schule
    ein C Programm und bin leider nichts sonderlich gut darin!
    Hoffe ihr könnt mir helfen!
    Also es ist wie folgt!
    Ich will ein Textfile einlesen, das sind Codes(Beispiel: G01X3Y2)
    und diesen irgenwie einlesen und mittels einer Codetabelle oder ähnlichem dann in etwas anderes umwandeln(das sind dann binärcodes)!
    Irgendwie mit einzelnen Zeichen in Arrays einlesen oder so, sollte das funktionieren. Die Codes die ich einlese sind immer in der selben Form:
    Also zuerst N001 das hat aber keine funktion, also erst aber der 4ten stelle umwandeln! dann ein G und dann eine Zahl zwischen 01 und 99 dahinter. und danach entweder X oder Y und nach diesen X oder Y eine Zahl.
    Das muss ich umwandeln und das umgewandelte dann ausgeben!
    Brauche dringendst Hilfe und ich glaub das ganze nennt man Interpreter oder so, wurde mir gesagt von einem Kollegen.
    Haben nur ein halbes Jahr C gemacht in der Schule und das ist schon zwei Jahre her! Also bitte den Code schicken, wenns geht, denn ob ich ratschläge umsetzen kann, weiß ich wirklich nicht!

    Danke im Voraus

    Für euch ist das sicher ein Klax!!!

    gruß

    ein Hilfesuchender



  • Auch wenn uns das keine 5 Minuten kostet, werden hier keine Hausaufgaben gemacht. Entweder du versuchst es wenigstens und zeigst, was du hast, oder dir wird nicht geholfen..



  • Was ist ein Klax? Klingt ja gefährlich.



  • Fellhuhn schrieb:

    Was ist ein Klax? Klingt ja gefährlich.

    Vielleicht macht Schwertfisch es Dir ja... 🙄



  • Tachyon schrieb:

    Fellhuhn schrieb:

    Was ist ein Klax? Klingt ja gefährlich.

    Vielleicht macht Schwertfisch es Dir ja... 🙄

    Solange er dafür kein Geld nimmt und auch zärtlich ist. 😃



  • #include <stdio.h>
    #include <string.h>
    #include <conio.h>

    int gverarbeitung(char ary[]);

    void main()
    {
    int k=5; //Schleifenavriable
    int i; //Schleifenvariable
    char c; //zum Einlesen der Zeichen vom Code-File
    //char abfrage[a]; //Array für weiterverarbeitung
    char *ptr; //Pointer für abfragen der Zeichen innerhalb des Arrays
    FILE *test; //Zum File einlesen benötigt
    char ary[i]; //Zeichen werden in Array eingelesen um code weiterzuverarbeiten

    // test=fopen("","r"); //File adresse eingeben

    // do //Schleife zum Zeichenweises einlesen von file

    for(i=1; i<100;i++)
    {
    c=fgetc(test);
    if(c!=';')
    ary[i]=c; //Zeichen werden in Array eingelesen

    if (c==';')
    {
    i=99;
    }
    }

    ptr=&ary[5];
    do //Abfrage o auf 5. stelle G steht, wenn ja pointer wird auf eins weiter gesetzt
    {
    if (*ptr=='G')
    {
    gverarbeitung(ary);
    }
    else
    k++;

    }
    }
    }
    while(k<=14);

    }
    }

    int gverarbeitung(char ary[])
    {



  • Wenn das ein Scherz ist, dann ein ziemlich schlechter. Und damit meine ich nicht den Code, den habe ich mir nämlich garnicht erst angeschaut, so unformatiert hingeklatscht.



  • bis hierher wird eingelesen und die 5te stelle überprüft!
    wenn g dann nächste stelle überprüfen! also das überprüfen der anderen zeichen sollte ja gehen. bis auf vielleicht anzugeben das es einen rahmen gibt, also das nach g nicht nur 01 kommen kann, sondern eine zahl zwischen 01 und 99, dann erst wieder um eins weiter!
    nur wie vergleich ichs dann mit ner codetabelle und muss die ein format haben? kann ich die auch in txt einlesen und so vergleichen?



  • Hab ihn leider in ein TXT dokument eingefügt bevor ich ihn hierher kopiert habe, tut leid, da hat sich die formatierung total umgestellt!


  • Administrator

    MichaelHILFE schrieb:

    Hab ihn leider in ein TXT dokument eingefügt bevor ich ihn hierher kopiert habe, tut leid, da hat sich die formatierung total umgestellt!

    Verwende die C/C++ Tags:

    // Dann bleiben auch Einrückungen erhalten:
    if(true)
    {
      std::cout << "true" << std::endl;
    }
    

    Man findet den Schalter direkt unter den Smilies.

    Grüssli



  • MichaelHILFE schrieb:

    ich brauche für ein Projekt in der Schule
    ein C Programm ...

    Hallo Michael,

    das ist hier das C++-Forum das C-Forum ist hier.

    MichaelHILFE schrieb:

    Ich will ein Textfile einlesen ... Also zuerst N001 das hat aber keine funktion, also erst aber der 4ten stelle umwandeln! dann ein G und dann eine Zahl zwischen 01 und 99 dahinter. und danach entweder X oder Y und nach diesen X oder Y eine Zahl.

    Auch auf die Gefahr hin, dass Du es nicht verstehst ...

    MichaelHILFE schrieb:

    ... bitte den Code schicken, wenns geht, denn ob ich ratschläge umsetzen kann, weiß ich wirklich nicht!

    in C++ sähe das so aus:

    #include <algorithm>    // find
    #include <fstream>
    #include <iostream>
    #include <string>
    
    struct eins_von
    {
        explicit eins_von( const std::string& zeichen )
            : m_zeichen( zeichen )
        {}
        friend std::istream& operator>>( std::istream& in, const eins_von& x )
        {
            char c;
            if( in >> c  &&  std::find( x.m_zeichen.begin(), x.m_zeichen.end(), c ) == x.m_zeichen.end() )
                in.setstate( std::ios_base::failbit );
            return in;
        }
    private:
        std::string m_zeichen;
    };
    
    int main()
    {
        using namespace std;
        int zahl_1_99, zahl1, zahl2;
        ifstream datei( "test.txt" );
        //    4 ignorieren    -   'G' lesen    - zahl 1-99  -  X oder Y lesen -  Zahl  -  X oder Y lesen -  Zahl
        if( datei.ignore( 4 ) >> eins_von("G") >> zahl_1_99 >> eins_von("XY") >> zahl1 >> eins_von("XY") >> zahl2 )
        {
            // alles korrekt gelesen
            // .. jetzt die Umwandlung, was immer das sein soll?
        }
        return 0;
    }
    

    MichaelHILFE schrieb:

    .. und mittels einer Codetabelle oder ähnlichem dann in etwas anderes umwandeln(das sind dann binärcodes)!

    😕 könntest Du hier etwas präziser werden.

    Gruß
    Werner



  • Stimmt, code ist echt ned leicht!
    werde die codetabelle bald reinstellen hier, die hat nämlich der zweite in der gruppe, der leider über die ferien weg is!
    danke derweil!
    schick tabelle nach so schnell wies geht!



  • MichaelHILFE schrieb:

    schick tabelle nach so schnell wies geht!

    Und dann erwartest du noch, dass wir sie schön in deinen Code einbauen? 🙄

    Das, was Werner Salomon für dich geschrieben hat, ist eigentlich schon zu viel. Du solltest nicht davon ausgehen, dass hier noch mehr für dich gemacht wird. Entweder du bringst Eigeninitiative oder Geld.


Anmelden zum Antworten