Datei lesen und double wert ausgeben



  • Hallo,

    ich habe eine txt Datei mit dem Inhalt:
    Aluminium 0.028
    Edelstahl 0.72
    Gold 0.022
    Kupfer 0.028

    In Abhängigkeit der vom Benutzer eingegebenes Wort soll das Programm das Wort in der Datei suchen und entsprechenden double Wert in eine Variable speichern, sodass man diesen Wert später verwenden kann.
    Kann jemand mir helfen?

    Vielen Dank im Voraus!
    Radomir



  • Was ist denn dein Problem? Dateien aufmachen, Dateien lesen, Wörter in Texten suchen, aus Wörtern Zahlen machen, Daten in Variablen speichern oder was anderes? "Schreib mir mein Programm" kommt nicht so gut an.



  • Wert, der sich neben dem sucheneden Wort befindet, sollte in einer Variable gespeichert werden.

    z.B wenn ich das Wort Aluminium eingebe, dann sollte den Wert 0.028 in einer Variable gespeichert werden.



  • Ich glaube std::map könnte für dich Interessant sein
    http://www.cplusplus.com/reference/map/map/



  • kovacevic.radomir schrieb:

    Wert, der sich neben dem sucheneden Wort befindet, sollte in einer Variable gespeichert werden.

    z.B wenn ich das Wort Aluminium eingebe, dann sollte den Wert 0.028 in einer Variable gespeichert werden.

    Das haben wir verstanden.

    Was ist mit:

    nwp3 schrieb:

    Was ist denn dein Problem:
    - Dateien aufmachen?
    - Dateien lesen?
    - Wörter in Texten suchen?
    - aus Wörtern Zahlen machen?
    - Daten in Variablen speichern?
    - oder was anderes?

    "Schreib mir mein Programm" kommt nicht so gut an.

    Das sind sechs Fragen, die du beantworten kannst, damit dir geholfen wird.



  • Wörter in Texten suchen?
    Daten in Variablen speichern?



  • http://www.cplusplus.com/reference/string/string/substr/

    Die Seite sollte dir helfen.

    std::string str2 = str.substr (str.find("Aluminium"),5);

    "Aluminium" ist natürlich die Variable, in die du vom Benutzer eingelesen hast
    Bei der 5 bin ich mal davon ausgegangen, dass das die spezifischen Widerstände der Materialien sind die werden glaub ich meistens mit 3 nachkommestellen angegeben (plus 1 vorkommastelle und der .) 😕

    LG



  • Danke 🙂



  • nwp3 schrieb:

    ... Dateien lesen, Wörter in Texten suchen, aus Wörtern Zahlen machen, ...

    verwunderlich, dass derartige Vorschläge hier immer noch rumgeistern, und niemand widerspricht!

    Was haltet Ihr denn davon, die Worte und die Zahlen direkt in die Variablen einzulesen?

    #include <iostream>
    #include <fstream>
    #include <string>
    #include <map>
    
    int main()
    {
        using namespace std;
        map< string, double > werte;
        ifstream file("input.txt");
        string material;
        double wert;
        while( file >> material >> wert ) // hier werden der Name und der Wert gelesen
        {
            werte.insert( make_pair( material, wert ) );
        }
        cout << werte.size() << " Werte gelesen" << endl;
        return 0;
    }
    

Log in to reply