title image


Smiley Re: Suchfunktion
Hi



Wenn mich die Antworten auf diese Fragen interessieren würden, würde ich mir den Borland Compiler ziehen, und mir die Doku durchlesen. Ich habe ihm eben keine Antwort gegeben, die darauf ausgerichtet ist, ihm die Funktionen des Borland-Compilers näherzubringen, sondern eine, die darauf ausgerichtet ist, ihm die elementarsten Funktionen und Abläufe bei C++ beizubringen (also das, wovon ich glaubte, daß er sich sich erhofft hat - jeder glaubt, es richtig zu machen...)



Das ist vermutlich eine Schulaufgabe. Man stelle sich nur mal vor, der Lehrer verwendet zufällig NICHT den Borland Compiler. Dann wäre manu3283 ziemlich gef***t.



Ich wollte dich damit nicht angreifen oder diskreditieren. Wenn Fragen zu MFC oder diesen speziellen Borland-Sachen kommen, stehe ich als der Dumme da, und du kannst eine Antwort locker aus dem Ärmel schütteln. Und vielleicht kannst du ihm ja auch die Borland-Spezifische Frage nach der Borland-Spezifischen Fehlermeldung beantworten (könnte irgendwas damit zu tun haben, daß es als Debug-Version compiliert ist...!?)



Aber nach wie vor ist die Frage nicht beantwortet, WARUM man einem Anfänger diese Funktionen empfiehlt. Wenn er gesagt hätte: "Ich habe hier ein Programm (das diese Borland-Funktionen verwendet), und soll diese Datei-Sache da einbauen", dann wäre das ja OK. Aber (um übertrieben(!) deutlich zu machen, warum ich das so in Frage stelle: ) wenn jemand kommt, und fragt nach einem typischen "Hallo Welt"-Programm in C++, dann wirst du doch vermutlich auch nicht sowas schreiben wie



#include <bcsy.h>

#pragma(do_it_smart)

#include <MyBigProject.h>

#pragma ressource *.avi

TConsole *tcon = new TSmartConsoleFactory(TSystemUtilityCreator());

tcon->showMessage(SOME_CONSTANT, TSystem->DataBase(input), "Hallo, Welt");

tcon->finalizeOutput(MySystemConsoleFlusher(doSomethingWeird));

...



Es ist (meiner Meinung nach, und ohne, daß das "aggressiv" gemeint sein soll) einfach unverhältnismäßig, jemanden mit so Compilerspezifischen Sachen zu beladen, der einfach erstmal die elementarsten C++-Funktionen kennenlernen will. Oder anders formuliert: Was hat ein TButton mit Dateilesen zu tun?



Und das Argument, daß es kürzer ist, zieht nicht, wenn man's drauf anlegt ;-)



#include <iostream>

#include <fstream>

#include <algorithm>

#include <vector>

#include <iterator>

using namespace std;



void sucheIn(string dateiname, string artikelnr) {

vector<string> data;

ifstream input(dateiname.c_str());

copy(istream_iterator<string>(input), istream_iterator<string>(), back_inserter(data));

vector<string>::iterator pos = find(data.begin(), data.end(), artikelnr);

if (pos == data.end()) return;

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

copy(pos, pos+3, ostream_iterator<string>(cout," "));

}



int main() {

string artnr;

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

cin >> artnr;

sucheIn("artikel1.txt", artnr);

sucheIn("artikel2.txt", artnr);

sucheIn("artikel3.txt", artnr);

return 0;

}





Nochmal: Das war nicht böse oder als Angriff gemeint, sondern sollte nur die Frage aufwerfen, ob nicht vielleicht eine "andere Art von Antwort" in diesem Fall besser geeignet gewesen wäre.



bye



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: