CSV Datei mit C++ Code bearbeiten



  • Hallo Zusammen,
    ich möchte einigen Daten in CSV Format automatisch bearbeiten bevor ich diese dann in ein Simulationsprogramm hochlqden möchte.

    Es handelt sich um folgendes Problem:

    Ich habe Mengenangaben und die entsprechenden Preise z.B.

    Preis Menge

    0 4500
    0 4530
    0 4535 !!!
    9 4600 !!!
    9 4610
    9 4618

    Um die Daten hochladen zu können muss ich ein den Übergang von 4535 auf 4600 nicht als stetigen Übergang sondern als Sprung darstellen, d.h. ich für die Menge von 4535 den Preis (hier: 9) ansetzen.

    Ich habe mir da eine do-while Schleife überlegt, aber ich habe keine Ahnung wie ich das mit dem Preis für die vergangene Periode machen soll.

    Habt Ihr eine Idee wie der entsprechende Code aussehen müsste??? bin um jeden Tipp dankbar!!!

    Vielen Dank!!!



  • ich verstehe deine aufgabe/frage nicht wirklich

    was sollst du machen?
    und wo hast du dann probleme?



  • peterlustig2000 schrieb:

    ...

    Versetz dich mal in die Lage von jemandem, der KEINE Ahnung hat, wie deine Aufgabe aussieht. Dann wird dir vielleicht auffallen, dass das was du da geschrieben hast völlig unverständlich ist.
    Lies dir mal bitte den Link in meiner Signatur durch und stell deine Frage dann nochmal präzise - und etwas sparsamer an Ausrufezeichen, dafür gibts keinen Mengenrabatt...



  • ok!

    ich probiere es so gut es geht zu beschreiben:

    ich habe eine Tabelle mit Mengen- und Preisangaben:

    Preise(p) Menge(q)

    0 4500
    0 4530
    0 4535
    9 4600
    9 4610
    9 4618

    wenn man sich das mal aufmalt mit p auf der Y-achse und q auf der X-achse wird man feststellen, wenn man die Punkte 4535 und 4600 mit einer Gerade verbinden kann. das problem ist, ich jetzt gerne ein c++ code schreiben möchte was folgendes macht:

    es soll eine schrittweise erhöhung stattfinden, dh beim wert 4535 habe ich jetzt nicht mehr einen punkt sondern einen punkt bei p=0 und einen bei p=9, also eine stufe.

    meine versuche sehen folgendermassen aus:

    p=0;
    i=0;
    q=0;
    
    {
    while(i=! NULL)
    {
    i++
    if(q=0 && p=0)
    {
    
    // soll ein die nächste zeile lesen 
    
    continue;
    }
    else
    {
    
    //? 
    
    }
    }
    }
    

    konnte ich es etw besser beschreiben?!



  • i ist 0.

    und dann dein Schleifenkopf "solange i nicht 0 ist"

    Das wird nen kurzes Programm, nicht wahr?



  • Soll das heißen, du möchtest aus dem da:

    `0 4500

    0 4530

    0 4535

    9 4600

    9 4610

    9 4618 `

    das da machen?

    `0 4500

    0 4530

    0 4535

    9 4535

    9 4600

    9 4610

    9 4618 `

    Das widerspricht sich aber wieder mit

    es soll eine schrittweise erhöhung stattfinden



  • Uff. Dir fehlen hier die grundlegendsten Grundlagen. Dein "Versuch" ist jedenfalls ganz weit davon entfernt auch nur irgendwas sinnvolles zu machen, geschweige denn das was du (mehr schlecht als recht) beschrieben hast.

    Und ein Forum wie dieses hier ist nicht der beste Platz sich Grundlagen anzueignen.

    Davon abgesehen...
    Versuch mal das ganze als Schritt-Für-Schritt Anleitung zu formulieren.

    Beispiel:

    Aufagbe: finde eine zufällige Zahl zwischen 1 und 100, die entweder durch 3 oder durch 5 teilbar ist, aber nicht beides.

    Schritt-Für-Schritt Anleitung:

    1. Ziehe eine zufällige Zahl X zwischen 1 und 100
    2. Sätze "Zähler" auf 0
    3. Wenn X durch 3 teilbar ist, erhöhe "Zähler"
    4. Wenn X durch 5 teilbar ist, erhöhe "Zähler"
    5. Wenn "Zähler" ungleich 1 ist, gehe zurück zu (1)
    6. Gib X aus
    7. Fertig

    Im Prinzip hast du damit ein Programm, du musst es dann nur noch in der (imperativen) Programmiersprache deiner Wahl hinschreiben.

    Versuche erstmal so eine Anleitung für deine Aufgabe zu schreiben. Und dann versuche diese Anleitung in C++ zu übersetzen.
    Zumindest für den ersten Teil solltest du keine speziellen Kenntnisse brauchen.

    ps: Änderungen von einer "Zeile" (Datensatz, ...) zur nächsten, erkennt man üblicherweise dadurch, dass man sich die Werte der Zeile "vor" der aktuellen Zeile merkt, und dann vergleicht.


Anmelden zum Antworten