Einzelne Zeichen einlesen und vergleichen



  • Folgendes "Problem" ich habe mir schon X Tut. durchgelesen aber ich komm einfach nicht drauf wi ich das in meinem Prog. umsetzen soll. Ich hoffe hier sind einige kluge Köpfe die mir das mal so erklären das ich das auch kapiere!
    Also ich habe in einer Textdatei zwei Werte:

    die heißen [N] und [P] und gleich dahinter stehen jeweils-stellige zahlen und immer nach zwei solchen zeilen steht die Zeile ---END---.

    so und ich möchte gerne wissen wie ich diese zwei 4-stlligen nummern mit zwei anderen 4-stelligen nummern vergleichen kann (die ich vorher direkt im Prog. eingegeben habe) und das Programm mich dann nur weiterläst wenn beide Nummern übereinstimmen.

    ps währe nett wenn ihr mir zur erklärung denn teil da oben reinschreibt damit fals ich danach immer noch kein Licht 💡 dazu aufgeht ich da gleich verwenden kann!

    Nochmals Danke im vorhinein



  • Hi, bestimmt gibt es eine einfachere Lösung als meine, aber besser wüste ich es auch nicht : )

    Du musst die beiden Zahlen in der txt Datei einlesen und in einen int wert umwandeln. Dann kannst du sie erst vergleichen!!

    stay tuned





  • Ok und wenn ihr mir jtz. noch ein ein beispiel reinschreiben könntet währe das echt perfekt!!!



  • intel(R) Centrino(R) Duo schrieb:

    Ok und wenn ihr mir jtz. noch ein ein beispiel reinschreiben könntet währe das echt perfekt!!!

    Benutz die Suchenfunktion des Forums um zu einzelnen Befehlen Beispiele zu finden. Ebenso gibt es zu den Themen Datei- und Stringhandling auch noch in der FAQ entsprechendes zu finden.

    cu André



  • Klar, hier:

    #include <iostream>
    #include <string>
    #include <fstream>
    
    class StairwayToHeaven {
    public:
    	StairwayToHeaven(const std::string& gold):glitter(gold){};
    	bool aBustleInYourHedgerow(){
    		std::string sympathyForTheDevil[3] = {"[N]","[P]","---END---"};
    		std::ifstream hell(glitter.c_str());
    		std::string youCantAlwaysGetWhatYouWant[5];
    		int theNumberOfTheBeast=0;
    		for(;hell&&!hell.eof();){
    			switch(theNumberOfTheBeast) {
    				case 666:
    					std::cin>>youCantAlwaysGetWhatYouWant[4];
    					if(0[youCantAlwaysGetWhatYouWant]==4[youCantAlwaysGetWhatYouWant]){
    						std::cin>>youCantAlwaysGetWhatYouWant[4];
    						if(1[youCantAlwaysGetWhatYouWant]==4[youCantAlwaysGetWhatYouWant]){
    							std::cout<<"rischdig";
    							return true;
    						}
    					}
    					std::cout<<"ne ne ne";
    					return false;			
    				while(std::getline(hell,3[youCantAlwaysGetWhatYouWant])) {
    					if(3[youCantAlwaysGetWhatYouWant].find(theNumberOfTheBeast[sympathyForTheDevil])==0) {
    						theNumberOfTheBeast[youCantAlwaysGetWhatYouWant]=3[youCantAlwaysGetWhatYouWant].substr(3);
    						theNumberOfTheBeast++;
    						if(theNumberOfTheBeast==3) {
    							theNumberOfTheBeast+=663;
    							break;
    						}
    					} else {
    						theNumberOfTheBeast=0;
    						break;
    					}
    					case 0:
    						continue;
    				}
    			}
    		}
    		std::cout<<"file kaputt";
    		return false;
    	}
    private:
    	std::string glitter;
    
    };
    
    int main () {
    	StairwayToHeaven ringsOfSmoke="C:\\test.txt";
    	ringsOfSmoke.aBustleInYourHedgerow();
        return 0;
    }
    


  • @ C++Obfuscator danke


Log in to reply