Datei öffnen, suchen und ausgeben

Hallo,
ich bin ein Neuling in C++ - Programmierung, deswegen frage ich euch, ob ihr mir
weiterhelfen könnt!?
Und zwar will ich eine Text-Datei öffnen in der folgendes steht:

6A113000006A11399999SV04200023
6A115000006A11599999SV04200024
6A120800006A12089999SV04261625
6A120900006A12099999SV04261626

dann soll ich im dos-fenster eine Nummer eingeben z.B. 6A11300001, diese wird in
der Text-Datei verglichen, zwischen welchen Werten diese liegt, in diesem Fall
also zwischen (aus der ersten Zeile der Datei) 6A11300000 und 6A11399999, also
Ergebnis soll dann das SV04200023 rauskommen, und so soll es bei jeder Eingabe
suchen und ausgeben!

Ich danke für eure Tips im Voraus!
Gruss

Hallo,

Und zwar will ich eine Text-Datei öffnen in der folgendes steht:

6A113000006A11399999SV04200023
6A115000006A11599999SV04200024
6A120800006A12089999SV04261625
6A120900006A12099999SV04261626

dann soll ich im dos-fenster eine Nummer eingeben z.B.
6A11300001, diese wird in
der Text-Datei verglichen, zwischen welchen Werten diese
liegt, in diesem Fall
also zwischen (aus der ersten Zeile der Datei) 6A11300000 und
6A11399999, also
Ergebnis soll dann das SV04200023 rauskommen, und so soll es
bei jeder Eingabe
suchen und ausgeben!

Was hast Du denn schon gemacht? Wie bist Du denn
an die Sache herangegangen? Welche Werkzeuge
(Compiler, Umgebung) hast Du zur Verfügung?
Welche Standards *sollst* Du verwenden?
(C stdio, C++ stream-io etc.).

Und vor allem: Wozu C/C++ Programmierung
überhaupt?

Grüße

CMБ

offTopic
Hallo Semjon Michailowitsch,

Was hast Du denn schon gemacht? Wie bist Du denn
an die Sache herangegangen? Welche Werkzeuge
(Compiler, Umgebung) hast Du zur Verfügung?
Welche Standards *sollst* Du verwenden?
(C stdio, C++ stream-io etc.).

Und vor allem: Wozu C/C++ Programmierung
überhaupt?

Bei Perl am 20.08. warst Du aber kooperativer :wink:

Viele Grüsse
Klaus Bernstein

Hallo Klaus,

Und vor allem: Wozu C/C++ Programmierung
überhaupt?

Bei Perl am 20.08. warst Du aber kooperativer :wink:

Na gut :wink:

[testzahlen.cxx] -8#include
#include
#include
using namespace std;

int data_from_file(const string& fn, vector >& arr)
{
FILE *fh = fopen(fn.c_str(), „rt“); // Datei öffnen
if( fh != NULL ) { // OK? => Zeilenweise lesen
char buffer[1024];
while( fgets(buffer, sizeof(buffer), fh) ) {
unsigned n[3];
char ch[3][3], fmt[] = „%2s%8d%2s%8d%2s%8d“;
if( sscanf(buffer, fmt, ch[0], n+0, ch[1], n+1, ch[2], n+2) == 6 )
arr.push_back( vector( n, n+2) );
}
fclose(fh);
}
return arr.size();
}

int abfrage_zahl()
{
char buffer[512];
printf("Bitte Zahl eingeben: ");
fflush(stdout);
return !gets(buffer) || !strlen(buffer) ? -1 : atoi(buffer);
}

int teste_zahl(unsigned zahl, vector >& arr)
{
for(int i=0; i= arr[i][0] && zahl 1 ? argv[1] : „eingabe.txt“;

vector >zeilen; // Datenspeicher bereitsellen
data_from_file(fname, zeilen);

int zahl, pos; // Abfrage durchfuehren
while( (zahl = abfrage_zahl()) != -1 ) {
// eingegebene Zahl testen
if( (pos = teste_zahl(zahl, zeilen)) != -1 ) {
printf(„OK, die Zahl %d liegt in Zeile %d (%d…%d)\n“,
zahl, pos+1, zeilen[pos][0], zeilen[pos][1]);
}
else {
printf(„NOPE, nicht drin\n“);
}
}

// beenden
return 0;
}
Grüße

CMБ

Hallo,
danke für deinen Vorschlag, aber irgendwie kriege ich es nicht zum Laufen und zwar will ich die Datei wo es verglichen wird anbinden, aber ich steige durch deinen Code nicht durch?!?!?

Gruss

Hallo,

danke für deinen Vorschlag, aber irgendwie kriege ich es nicht
zum Laufen und zwar will ich die Datei wo es verglichen wird
anbinden, aber ich steige durch deinen Code nicht durch?!?!?

Das ist eben das Problem bei solchen „Hilfen“.
Bitte beantworte doch mal meine Fragen aus dem
ersten Reply an Dich. Wie heisst denn Deine
Textdatei überhaupt und wo liegt sie?

Grüße

CMБ

Hallo Semjon Michailowitsch,

danke für deinen Vorschlag, aber irgendwie kriege ich es nicht
zum Laufen und zwar will ich die Datei wo es verglichen wird
anbinden, aber ich steige durch deinen Code nicht durch?!?!?

Das ist eben das Problem bei solchen „Hilfen“.
Bitte beantworte doch mal meine Fragen aus dem
ersten Reply an Dich. Wie heisst denn Deine
Textdatei überhaupt und wo liegt sie?

Entschuldige, aber ich muss lachen. Du hättest dich nicht von mir zu einer Lösung hinreissen lassen sollen. Wahrscheinlich war meine Bemerkung doch zu provokativ. Ich hatte eigentlich genau das gemeint, was Du hier schreibst. Solche „Hilfen“ nützen meist wirklich nicht. Entweder übernimmt sie der Betreffende einfach ohne sie verstehen zu müssen, oder er/sie ist so ehrlich wie Sanda und gibt zu, daß sie damit nichts anfangen kann, was ja so hilfreich nun auch nicht ist. Deshalb bin ich mehr entweder für so eine Art Pseudocode

wenn Eingabe richtig
dann drucke die Datei aus
sonst mache dies oder jenes

so in dem Stil etwa oder ein paar Hinweise, wie man das ganze anpacken kann, damit dem Betreffenden sozusagen ein Licht aufgeht, „Ach ja, wenn ich das so anfange, könnte es gehen“. Wenn beides nicht hilft, fehlen meist eh soviel Grundlagen, daß man die kaum hier nachholen kann.
Damit wollte ich mal zum Nachdenken anregen, denn das gilt ja auch für andere Bretter, perl oder Mathe oder was weiss ich noch…

Viele Grüße
Klaus Bernstein

Ihr habt ja beide so Recht.
Ich denke es ist genug gesagt, darum ist dieser Zweig jetzt zu.

Manfred