Eine SUCHMASCHIENE mit Sctruct mit C++ dringend bittee Hilfeeeee
-
Hallo
ich muss dringend eine suchmaschiene mit c++ schreiben,erst soll dies Programm ein txt Datei lesen, danach in diesem gelesenen Text Gruppe (z.B: AUT) und die Daten (z.B: Toader)suchen. Das wichtigste ist: ich muss in dem Programm STRUKTUREN (struct) benutzen.
Mein Textdatei sieht wie folgendes aus und heisst plus.txt:AUT==Toader, Joachim
TIT==Kulturwissenschaft, in Japan
der frühen fünfziger Jahre
SIG==2000AUT==Kuschel, Margot
TIT==Politikwisenschaften in Österreich,
Wirtschaft: BWL, in:
Brigitte S. Huhn u. Helmut Klang (Hgg.), Frankreich
1999, S.235-278
JAH==1999
ORT==Frankreich
SIG==3456Für das Ausgangsformat für die Gruppe werden die folgende code verwendet:
SIG ==> %S
AUT ==> %A
TIT ==> %T
JAH ==> %J
ORT ==> %ODamit wird die Ausgabe so aussehen:
%A Toader, Joachim
%T Kulturwissenschaft, in Japan
der frühen fünfziger Jahre
%S 2000%A Kuschel, Margot
%T Politikwisenschaften in Österreich,
Wirtschaftswachstum: Ein mikroökonomischer Ansatz, in:
Brigitte S. Huhn u. Helmut Klang (Hgg.), Frankreich
1999, S.235-278
%J 1999
%O Frankreich
%S 3456Wenn das Programm mir fragt "Welche txt soll geöffnet werden?
Soll ich schreiben "plus.txt" damit wird einmal die Datei lesen.
Dann werde ich die Gruppe fragen "Welche Gruppe- z.B. TIT" und werde ich nochmal fragen "Was soll die Datei enthalten".Am Ende die Ausgabe der Datei soll aussehen.
Ich habe für ein Programm geschrieben aber es funktioniert nicht wie ich möchte.
Ich brauche sehr dringend Info bittteeeeeee
-
Also, was Du vorhast, ist ja nicht wirklich schwer...
Am besten zeigst Du mal Deinen Quellcode und sagst, was nicht geht.mfg
-
Du musst nicht zwei Threads aufmachen für dasselbe Problem:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-105021.html
-
.Brian. schrieb:
Also, was Du vorhast, ist ja nicht wirklich schwer...
Am besten zeigst Du mal Deinen Quellcode und sagst, was nicht geht.mfg
Du hast Recht. ich schreibe hier erst mein Quellcode aber bitte dann Hilfe mir. Das ist sehr wichtig für mich
bitteeeee
Du hast geschrieben es ist nicht so schwer, kannst du mir bittee bitteee helfen.ich habe circa zwei woche das zu lösen
-
.Brian. schrieb:
Also, was Du vorhast, ist ja nicht wirklich schwer...
Am besten zeigst Du mal Deinen Quellcode und sagst, was nicht geht.mfg
Halloo wieder
Die Quellcode ist so wie unten.
1. Frage: Ich bin nicht sicher, ob diese Programm mein Text liest? Nachdem "Execute" zeigt das Programm nicht auf dem dos Fenster, darum bin nicht sicher.2.Frage: ich konnte nicht gruppiert. ich meine, wenn ich tippe AUT zeigt mir das Programm gar nicht, was hinter AUT== steht oder was hinter %A steht.
3.Frage: wie macht man alles?
ich kann nichttttt
Die Quellcode ist /*
#include <iostream>
using namespace std;
#include <stdlib.h>
#include <fstream>
#include <string>struct search{
struct search *danach;
char gruppe[200];
int gleichgleich;
int name;
} ;
enum zustand {imGruppe,imGleichgleich,imNamen};struct search *loadgruppe(ifstream &data);
struct search *loaderhaltene(ifstream &data);
struct search *searcherhaltene(struct search *das, char *zeichnung);
struct search *suchediese(struct search *das, char *diese);int main(){
char dataname[200], befehl[200];
struct search *das=NULL, *now;ifstream data;
cout<<"Welche Datei soll geöffnet werden?"<<endl;
cin.getline(dataname,200,'\n');
data.open(dataname);if(!data){
cout<<"Datei"<<dataname<<" nicht lesbar."<<endl;
return 0;
}das=loadgruppe(data);
for(;;){
cout<<"Bitte wählen Sie:"<<endl<<
" n - Gruppe"<<endl<<
" z - soll enthalten"<<endl<<
" * - Programm beenden"<<endl;
cin.getline(befehl,200,'\n');switch(befehl[0]){
case 'n':
cout<<"Geben Sie die Gruppe ein!"<<endl;
cin.getline(befehl,200,'\n');
now=searcherhaltene(das,befehl);
if (now!=NULL)
cout<<"Die Gruppe"<<now->gleichgleich<<" enthält."<<endl;
else cout<<"Die Gruppe ist nicht bekannt!"<<endl;
break;
case 'z':
cout<<"Was soll enthalten einer Gruppe?"<<endl;
cin.getline(befehl,200,'\n');
now=suchediese(das,befehl);
if (now!=NULL)
cout<<"Die Gruppe "<<now->gruppe<<now->name<<" enthaelt."<<endl;
else cout<<"Zu diesem Daten gibt es keinen Eintrag!"<<endl;break;
case '*':
return 0;
default:
cout<<"Befehl "<<befehl<<" verstehe nicht"<<endl;
break;
}}
{
int x;
cin >> x;
}}
struct search *loadgruppe(ifstream &data){
struct search *das=NULL, *now, *neu;while(!data.eof()){
neu=loaderhaltene(data);
if (neu!=NULL){
if (das==NULL) das=neu;
else now->danach=neu;
now=neu;
}
}
return das;
}struct search *loaderhaltene(ifstream &data){
struct search *searchdas;
char puffer[200],zeichen;
int zaehler;
enum zustand zustand;searchdas=new struct search;
searchdas->danach=NULL;zustand=imGruppe;
zaehler=0;
for (;;)
{
data.get(zeichen);
if (data.eof()) return NULL;switch(zeichen){
case '=':
puffer[zaehler]='\0';
zaehler=0;
strcmp(searchdas->gruppe,puffer);
zustand=imGleichgleich;
break;case ' ':
if (zustand!=imGruppe){
puffer[zaehler]='\0';
zaehler=0;
searchdas->gleichgleich=atol(puffer);
return searchdas;
zustand=imNamen;}
return 0;case '\n': if (zustand!=imNamen)
puffer[zaehler]='\0';
zaehler=0;
searchdas->name=atol(puffer);
return searchdas;
break;
default:
puffer[zaehler]=zeichen;
zaehler++;
break;}}}struct search *searcherhaltene(struct search *das,char *zeichnung){
while(das!=NULL){
if(!strcoll(das->gruppe,zeichnung)) return das;
das=das->danach;
}
return NULL;
}struct search *suchediese(struct search *das, char *diese){
int suchgleichgleich, suchname,i;
char *start;for (i=0;diese[i]==' ';i++);
start=diese;
for (;diese[i]!='=='&& diese[i]!='\0';i++);
if(diese[i]=='\0'){
cout << "Dieses kann ich nicht lesen:"<<diese<< endl;
return NULL;
}diese[i]='\0';
suchgleichgleich=atol(start);
i++;
start=diese+i;
suchname=atol(start);while(das!=NULL){
if (das->gleichgleich == suchgleichgleich && das->name== suchname) return das;
das=das->danach;
}
return NULL;
}*/
Hilfe Bitteeee Bitteeee
-
Hilfe bitte wie kann ich das lösen
die Frage und die Quellcode habe ich hier geschrieben. Ich brauche Hilfe für diese bitteeee
-
cplus2group schrieb:
1. Frage: Ich bin nicht sicher, ob diese Programm mein Text liest? Nachdem "Execute" zeigt das Programm nicht auf dem dos Fenster, darum bin nicht sicher.
Gehe zur "Eingabeaufforderung" und starte dein Programm von da aus.
Alternativ einfach
system("PAUSE"); // oder cin.get();
vor das Ende von main.
cplus2group schrieb:
2.Frage: ich konnte nicht gruppiert. ich meine, wenn ich tippe AUT zeigt mir das Programm gar nicht, was hinter AUT== steht oder was hinter %A steht.
Wärst du so freundlich uns mitzuteilen was dein Programm stattdessen macht? Fehlerbeschreibung? Relevanter Codeabschnitt?
cplus2group schrieb:
3.Frage: wie macht man alles?
ich kann nichttttt
Tja, wie?
cplus2group schrieb:
4.Frage: wird jemand meinen Code lesen wenn ich Code Tags verwende?
Wahrscheinlicher als ohne.
cplus2group schrieb:
5.Frage: was sind Code Tags?
www.c-plusplus.net/forum/faq.php?mode=bbcode
cplus2group schrieb:
6.Frage: Ist es wirklich eine gute Idee meinen Code einzurücken? Macht es ihn vielleicht gar lesbarer?
Ja.
cplus2group schrieb:
7.Frage: Wird mir hier jemand mein komplettes Programm schreiben?
Nein.
-
finix schrieb:
cplus2group schrieb:
1. Frage: Ich bin nicht sicher, ob diese Programm mein Text liest? Nachdem "Execute" zeigt das Programm nicht auf dem dos Fenster, darum bin nicht sicher.
Gehe zur "Eingabeaufforderung" und starte dein Programm von da aus.
Alternativ einfach
system("PAUSE"); // oder cin.get();
vor das Ende von main.
Ich habe das versucht, gibt kein fehler nach dem Programmausführen, aber Wenn Dos fenster öffnet, funktioniert nicht.
cplus2group schrieb:
2.Frage: ich konnte nicht gruppiert. ich meine, wenn ich tippe AUT zeigt mir das Programm gar nicht, was hinter AUT== steht oder was hinter %A steht.
Wärst du so freundlich uns mitzuteilen was dein Programm stattdessen macht? Fehlerbeschreibung? Relevanter Codeabschnitt?
Ja. Ich konnte nicht mein Programm codiert. Ich bin nicht sicher aber denke ich, dass ich erst case Abschnit richtig programmieren. Aber ich weiss jetzt nicht, was ich da schreiben soll und damit wird mein Programm richtig programmiert. Das versuche ich Tag und Nacht aber habe ich leider nicht geschafft.
cplus2group schrieb:
3.Frage: wie macht man alles? ich kann nichttttt
Tja, wie?
Zeit 2-3 Monaten arbeite ich mit dieser Program, um diese Frage zu programmieren. Jetzt habe ich echt "Black out". Ist diese zu programmieren echt schwer? Ich brauche echt aber echt aber echt Hilfeee. Kann jemand mir sagen, was ich erst machen soll. Und wo ich schreiben soll.
cplus2group schrieb:
4.Frage: wird jemand meinen Code lesen wenn ich Code Tags verwende?
Wahrscheinlicher als ohne.
ich werde ab jetzt immer Code Tags benutzen. Ich bin nicht sicher, ob ich Code Tags richtig benutze. Aber habe ich heute versucht.
cplus2group schrieb:
5.Frage: was sind Code Tags?
www.c-plusplus.net/forum/faq.php?mode=bbcode
Dankeschön für die Info glaub mir ,ich wusste nicht ,wie das funktioniert.
cplus2group schrieb:
6.Frage: Ist es wirklich eine gute Idee meinen Code einzurücken? Macht es ihn vielleicht gar lesbarer?
Ja.
cplus2group schrieb:
7.Frage: Wird mir hier jemand mein komplettes Programm schreiben?
Nein.
Upssss! Habe jetzt Angst gehabt, weil du hier über komplettes Programm sprichst, soll ich ganze Programm nochmal schreiben? Ist mein Program komplett falsch?
-
also ich geb dir mal den tipp, nur relevante codebeispiele zu posten. den langen code liest sich kaum jemand durch. man kann ja schließlich auch debuggen.