1 zeichen von der ausgabe ausnehmen



  • ich habe eine textdatei die eingelesen wird und anschließend formatiert auf dem bildschirm ausgegeben werden soll.

    Bei der ausgabe sollen alle zeichen ausgegeben werden wie sie in der textdatei steht mit ausnahme des (kommas=,)

    wie stell ich das an ?



  • Gibt sicher auch böse Tricks, aber auf Anhieb:

    char c;
    while(file >> c)
    {
        if(c != ',')
            cout << c;
    }
    

    MfG SideWinder



  • hmm funktioniert irgendwie ned

    meckert wegen "file" und sagt es wäre ein nicht deklarierter bezeichner

    dabei hab ich doch <fstream> eingebunden



  • desweiteren funktioniert der befehl setpecision nicht

    ich möchte die ausgegebenen koordinaten nur mit 3 nachkommastellen anzeigen

    #include <iostream>
    #include <fstream>
    #include <iomanip> // setprecision, fixed
    using namespace std;
    
    void main() 
    {
    	ifstream OpenFile("koordinaten.txt"); //oeffnen der datei
    
    	//deklaration der variable	
    	char ch;
    
    	//formatierte ausgabe
    
    	cout <<"Name der Eingabedatei: Koordinaten.txt"; 
    	cout <<endl;
        cout <<endl;
    
    	cout << setw(8) << "X" << setw(16) << "Y" << setw(14) <<"Z";
    	cout <<endl;
    	cout <<endl;
    
    	while(!OpenFile.eof())
    	{
    
    		OpenFile.get(ch);
    
    		cout << ch;
    
    	}
    	cout <<endl;
    	OpenFile.close();
    
    }
    


  • Statt "file" wär halt dann "OpenFile" einzusetzen - ein bißchen Selbstinitiative wär halt auch gefragt 🙄

    Von Koordinaten war aber bisher keine Rede...nun gut dann les lieber die Koordinaten mit "file >> x; file >> y; file >> z;" aus und verwene dann precision um die Nachkommastellen zu runden. BTW: setw() muss dann auch jedesmal aufgerufen werden, nicht nur in der ersten Zeile.

    BTW: Ein while(!file.eof()) ist nicht gut. Siehe dazu auch http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&faq=eof#Answ

    MfG SideWinder



  • tut mir leid das ich dich nochmal stören muss

    bin völliger neuling

    "nun gut dann les lieber die Koordinaten mit "file >> x; file >> y; file >> z;" "

    wie muss ich hierbei vorgehen

    in 1 zeiler stehen jeweils x,y,z-koordinate durch komma getrennt
    es sind 13 zeilen



  • Lass mal den Inhalt der Datei sehen - wie sind die Werte getrennt? Tab? Leerzeichen?

    MfG SideWinder



  • 3523216.343218, 5773089.044545, 5.05
    3523320.146447, 5773120.018090, 6.054
    3523396.324623, 5773086.533177, 7.07
    3523484.222519, 5773028.771703, 8.56
    3523416.415571, 5772984.404194, 35.65
    3523314.286588, 5772960.127632, 55.017
    3523377.070799, 5772899.017667, 25.032
    3523441.529255, 5772808.608403, 25.03
    3523410.555711, 5772752.521174, 15.0323
    3523324.332061, 5772735.778718, 0.021
    3523172.812832, 5772795.214437, 35.02
    3523155.233253, 5772883.949456, 4.021
    3523156.907498, 5773045.514159, 99.02


Anmelden zum Antworten