• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Suchfunktion in C++

Status
Für weitere Antworten geschlossen.

snboy2005

Neues Mitglied
Hallo. Brauche Hilfe. Also ich gehe noch zur Schule und ich habe in Informatik in C++ eine kleine Aufgabe bekommen. Ich soll folgendes machen:
Es ist eine Datei angelegt. In der Datei(ganz normale "*.txt" stehen mehrere Namen und zu den Namen noch die Eingenschaften von diesen Namen. Ich soll eine Konsoleanwendung schreiben, die folgendes macht: Ich tippe einen Namen, der in der Datei enthalten ist und mir soll ausgegeben werden, die Eingenschaften dieses Namens. Es sind aber viele Namen in der Datei, von daher wäre alle Namen in den Quelcode zu programmieren nicht so gut.
Kann mir jemand helfen so einen Code zu schreiben, also mit dem ich so eine Suchfunktion und Ausgabefunktion hinbekomme? Sitze schon 8Tag daran und komme nicht weiter und muss bald abgeben und ich strehe in Informatik kurz vor einem Ausfalls
Also bitte bitte hilft mir!!!
 
Werbung:
Hallo,

wenn die Namen in der Datei stehen, musst du doch nur die Datei durchlaufen und wenn in einer Zeile der passende Name steht, die Eigenschaften dazu ausgeben.


N43
 
Und wie mache ich das? Da komme ich ja nicht weiter. Wie kann ich so eine Datei durchlaufen und das richtige ausgeben? Ich schaffe eben nicht so einen Quelcode zu programmieren.
 
Werbung:
Dazu wääre es als erstes mal wichtig zu wissen mit welcher umgebung ihr in der Schule arbeitet? Dann können wir dir viel gezielter helfen. Es gibt in C++ von Bibliothek zu Bibliothek andere möglichkeiten dateien zu öffnen und auszulsesen.

Die suchfunktion müsste dann nur noch die datei durchlaufen und die entsprechende zeichenkette suchen. Das sollte breits mit standard suchfunktionen möglichsein. Du müsstest dir also noch nicht einmal selbst etwas schreiben.
 
Also, wir arbeiten mit dem DEV C++ Editor. Wir verwenden folgende Bibliotheken:
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

Und zum schreiben in eine Datei bzw. öffnen einer Datei hatten wir bis jetzt folgende Befehle: ofstream bzw. ifstream

Es ist aber kein Problem andere Bibliotheken hinzuzufügen oder mit anderen Befehlen zu arbeiten.
p.s.) Also ich bin ein absoluter Anfänger, aber als ich versucht habe etwas alleine zu machen, habe ich folgende Biblitothek bei meinen Recherchen gefunden "#include <sstream>". Allerdings konnte ich nichts weiter damit anfangen. Ich weiß jetzt nicht ob diese etwas mit meinem Problem zu tun hat. Wollte aber mal erwähnen.
p.s.2)Vielen Dank schon mal für eure Hilfe.

HAAAALLLOOO???? Bitte lasst mich hier nicht im Stich. Jemand kennt doch bestimmt eine Lösung bzw. kann mir weiter helfen.
BITTE !!!
 
Zuletzt bearbeitet von einem Moderator:
MAn darf hier keinen Live Support verlangen. Es ist immerhin nur ein Forum. Es ist nicht selten, dass man schonmal mehrere Stunden auf eine Antwort warten muss. Aber normalerweise geht das hier relativ schnell.
 
Werbung:
Hallo,

deine Hausaufgaben mache ich nicht, aber ich sag dir wies geht.

du bekommst die Komplette DatenBank als String, indem du sie per

getline(cin, buffer, delimiter);

einliest.

getline steht in string, buffer ist eine string-variable und delimiter ist ein char, bei dem der Einlesevorgang gestoppt wird.
Standartmäßig ist das \n.
Wenn du eine Datenbank mit Namen hast, wäre etwas anderes Sinvoll - z.B das Eurozeichen.

Wenn du den String eingelesen hast und er nun im buffer steht durchsuchst du den Buffer per schleife oder einfach ==
(je nach dem wie du es dann vorliegen hast)
und fertig.

lg,
n1ob
 
Du kannst auch einfach weiter deinen ifstream verwenden. Wenn ihr die sowieso schon verwendet kannst du damit die datei öffnen und dann über getline (getline) zeilenweise auslesen. Mit hilfe der find (find) methode kannst du deinen string (C++ Strings) (die gerade gelesene zeilen) nach dem gewünschten namen durchforsten.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben