title image


Smiley Re: Suchfunktion
Hi



Ich weiß zwar nicht genau, was das von ch.mar sollte, aber vielleicht solltest du es lieber mit der C++-Standard-Library versuchen...





#include <iostream>

#include <fstream>

#include <sstream>

#include <string>



using namespace std;



void sucheIn(string dateiname, string artikelnr) {



// Eingabedatei öffnen

ifstream input(dateiname.c_str());

if (!input) {

cerr << "Datei " << dateiname << " nicht gefunden" << endl;

return;

}



// Datei lesen

while (input) {



// Eine Zeile lesen

string zeile;

getline(input, zeile, '\n');



// Zeile in die 3 Teile zerlegen

string artnr;

string bezeichnung;

string preis;

stringstream ss(zeile);

getline(ss, artnr, '\t');

getline(ss, bezeichnung, '\t');

getline(ss, preis, '\n');



// Wenn artikelnr gefunden wurde, ausgeben und funktion beenden

if (artnr == artikelnr) {

cout << "In datei " << dateiname << ": ";

cout << artnr << " " << bezeichnung << " " << preis << endl;

return;

}

}

}





int main() {



string artnr;

cout << "Art. Nr. eingeben: ";

cin >> artnr;



sucheIn("artikel1.txt", artnr);

sucheIn("artikel2.txt", artnr);

sucheIn("artikel3.txt", artnr);



return 0;

}







Als Beispieldateien habe ich die Folgenden verwendet. Die Einträge sind durch ein TAB getrennt (und nicht durch den String "tab").



---------------- artikel1.txt

12345 ErstesProdukt 14.91

22345 ZweitesProdukt 24.91

32345 DrittesProdukt 34.91

42345 ViertesProdukt 44.91

52345 FünftesProdukt 54.91



---------------- artikel2.txt

12345 ErstesProdukt 14.92

22345 ZweitesProdukt 24.92

32345 DrittesProdukt 34.92

42345 ViertesProdukt 44.92

52345 FünftesProdukt 54.92



---------------- artikel3.txt

12345 ErstesProdukt 14.93

22345 ZweitesProdukt 24.93

32345 DrittesProdukt 34.93

42345 ViertesProdukt 44.93

52345 FünftesProdukt 54.93



bye



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: