Spalte einlesen und Zellen vergleichen



  • hoppaallaaa ich seh ein fehler bei dem code.

    eigentlich sollte das so aussehen.

    if (level = 1){
    		levelContent1 = pointer_mychar;
    	}
    
    else if ( levelContent2 = 2){
    		levelContent2 = pointer_mychar;
    	}
    else if ( levelContent3 = 3){
    	        levelContent3 = pointer_mychar;
    	}
    else if ( levelContent4 = 4){
    		levelContent4 = pointer_mychar;
            }
    else if ( levelContent5 = 5{
    	        levelContent5 = pointer_mychar;
    	}
    else if ( levelContent6 = 6{
    		levelContent6 = pointer_mychar;
    	}
    


  • YumiFerrari schrieb:

    bei mir zeigt es immer die zeilen ab 31 an... das mit dem levelContent...

    Ah - stimmt, ich habe es vor lauter undefinierten Variablen nicht gleich gesehen.

    YumiFerrari schrieb:

    string level; // level from the csv file
        if (level = 1){
            levelContent1 = pointer_mychar;
        }
    

    hinter dem if wird nicht verglichen, sondern zugewiesen, wenn überhaupt muss es heißen

    string level; // level from the csv file
        if (level == "1"){
            levelContent1 = pointer_mychar;
        }
    

    .. die anderen Zeilen entsprechend

    Gruß
    Werner



  • also ich habe das jetzt so umgeändert, aber jetzt kommt folgende fehlermeldung

    error C2446: '==': Keine Konvertierung von 'const char *' in 'int' 😕



  • ich bin grad am überlegen, ob die logik stimmt... ich möchte ja gerne das anhand des levels der ShortName sich zusammen setzt. ( der Shortname soll sich zusammen setzen, weil ich später den als Key in meine map lade)
    dafür vergleiche ich immer den level und möchte dann den passenden shortName dem pointer zuweisen. muss ich dann bei der if () level hinschreiben oder levelContent ? level ist eigentlich die spalte bzw der der level der zeile von dem shortName und levelContent soll ja eigentlich der shortName sein.



  • YumiFerrari schrieb:

    also ich habe das jetzt so umgeändert, aber jetzt kommt folgende fehlermeldung

    error C2446: '==': Keine Konvertierung von 'const char *' in 'int' 😕

    .. das glaube ich nicht! poste mal den Code der Zeile mit der Fehlermeldung und die komplette Fehlermeldung.



  • ahhh sry, das funktioniert. das hatte eben nur mit meiner verwirrung zu tun gehabt, dass ich da levelContent1 hatte und nicht level. aber jetzt klappt das. 🙂 yeah danke 🙂

    nun komme ich aber zu der nächsten frage......

    ich lade shortname und rtname in die map. nur shortname kann ich leider nicht so in die map laden, weil die öfters mit der selben bezeichnung vorkommt. daher habe ich jetzt auch die levels mit eingelesen. nun möchte ich gerne, dass ich den genauen pfad zusammen setze...

    sprich das beispiel von anfangs...

    Level Name Adresse
    1 A 123
    2 B 234
    3 C 345
    3 D 456
    4 E 567
    3 F 678
    4 E 789

    Key rtName
    A 123
    A.B 234
    A.B.C 345
    A.B.D 456
    A.B.D.E 567
    A.B.F 678
    A.B.F.E 789

    Da hat mir ja auch der Benutzer abfe ein beispiel genannt.... hm aber ich dachte ich lege einfach eine medothe key an, bevor das in die map geladen wird. key setzt sich dann ja aus den shortnames zusammen. nur ich weiß jetzt nicht genau wie ich diese methode erstellen kann. sprich ich muss ja sagen, dass die levels immer vergleichen werden, damit man das zusammen setzen kann... hast du da vllt eine idee?



  • theoretisch habe ich den inhalt also was im shortname steht bei levelContent geladen. muss jetzt die levels immer abfragen und die dann zusammen setzen mit einem punkt dazwischen.... Wie kann man das am besten machen? dieses strcat ist nicht dafür geeignet oder?



  • YumiFerrari schrieb:

    theoretisch habe ich den inhalt also was im shortname steht bei levelContent geladen. muss jetzt die levels immer abfragen und die dann zusammen setzen mit einem punkt dazwischen.... Wie kann man das am besten machen? dieses strcat ist nicht dafür geeignet oder?

    Nun ja - strcat ist ein C-Funktion, mit der man Strings aneinander hängen kann.
    Jetzt befinden wir uns hier zum einen im C**++**-Forum und zum anderen hat Dir abfe bereits eine Lösung (in C++) vorgeschlagen, die knapp 20 Zeilen umfasst. Selbst wenn man dort die map noch hinzufügt, wird es keine 30 Zeilen lang werden.

    Du dagegen postest hier ein 300-Zeilen Programm, das den Namen 'Programm' nicht verdient und mit der Tendenz 'weiter wachsend'. Dieses Programm möchtest Du nun unbedingt erweitern, und von uns verlangst Du, Deinen Gedankengängen zu folgen, von denen Du uns immer wieder ein paar Brocken hinwirfst.

    YumiFerrari so wird das nichts!
    Versuche doch, Algorithmus und Programmcode von abfe zu verstehen. Wenn Du das hin bekommen hast, kannst Du es ja gerne noch mal coden. Wenn zu abfes Code Fragen sind, so frage.

    Gruß
    Werner

    PS.: das Aneinander-Hängen der Namen mit '.' geschieht bei abfe in Zeile 15.


Anmelden zum Antworten