if suche
-
Hallo erst mal
was ist falsch in der Zeile if(suche==0,STRUKT[i].mgnr)
der Compiler spricht eine Warnung aus "not meaningful", nach Eingabe einer Mitgliedsnummer zeigt er die an, aber wenn ich weiter suche und eine andere Nummer eingebe zeigt er immer die selbe, warum?void aendern()
{
int x;
int suche;//clrscr();
Datei=fopen("C:\\Datei1.txt","r+");
fread(&STRUKT[i],sizeof(STRUKT[i]),1,Datei);
do
{
fread(&STRUKT[i],sizeof(STRUKT[i]),1,Datei);
cout<<"\nBitte gesuchte Mitgliedsnummer eingeben: ";cin>> suche;
if(suche==0,STRUKT[i].mgnr){
cout<<"Mitgliedsnummer :\t\t"<<STRUKT[i].mgnr<<"\n";
cout<<"Nachname-Vorname:\t\t"<<STRUKT[i].nvn<<"\n";
cout<<"Strasse :\t\t"<<STRUKT[i].str<<"\n";
cout<<"Postleitzahl :\t\t"<<STRUKT[i].plz<<"\n";
cout<<"Ort :\t\t"<<STRUKT[i].ort<<"\n";
cout<<"Eintrittsjahr :\t\t"<<STRUKT[i].etj<<"\n";fseek(Datei,(1)*sizeof(struct Programm),SEEK_SET);
fwrite(&STRUKT[i],sizeof(STRUKT[i]),1,Datei);}
i++;
cout<<"Wollen sie weiter suchen? Ja/Nein:";
cin>>x;}
while(x!='n');
fclose(Datei);
cout<<"\nWeiter mit beliebiger Taste...";
getch();
//clrscr();
menue();
}
//----------------------------------------------hanna1
-
if(suche==0,STRUKT[i].mgnr)
==>
if(suche==STRUKT[i].mgnr)
Welchen Wert soll suche eigentlich haben ??
mfg JJ
-
[quote="John Doe"]
if(suche==0,STRUKT[i].mgnr)
==>
if(suche==STRUKT[i].mgnr)
Welchen Wert soll suche eigentlich haben ??
mfg JJ[/quote]
du hast recht
ich habe es mit if(suche = i,STRUKT[i].mgnr) probiert die Warnung ist weg er compiliert es sauber und ohne Warnung
aber er zeigt immer nur die selbe mgnr an Warum sucht er nicht die die ich eingebe aus der Datei.
-
hanna1 schrieb:
...
ich habe es mit if(suche = i,STRUKT[i].mgnr) probiert die Warnung ist weg er compiliert es sauber und ohne Warnung
...if(suche = i,STRUKT[i].mgnr)
der wert eines ausdrucks mit dem kommaoperator "," ist der rechte operand. so ist der wert des ausdrucks "3 , 4" beispielsweise der wert "4".
du gehst also in dem if-teil wenn STRUKT[i].mgnr ungleich 0 ist.
willst du das?was ist eigentlich i? das ist nirgends deklariert, doch wohl keine globale variable?
was willst du überhaupt tun?
ich denke du willst sowas:cin>> suche; for(int j=0; j<array_laenge; j++) if(suche==STRUKT[j].mgnr) { cout<<"Mitgliedsnummer :\t\t"<<STRUKT[j].mgnr<<"\n"; cout<<"Nachname-Vorname:\t\t"<<STRUKT[j].nvn<<"\n"; ...
evtl solltest du dir erstmal ein buch anschaffen und dir was zu den grundlagen durchlesen. falls du das schon getan hast, lies nochmal
-
[quote="borg"][quote="hanna1"]
...
ich habe es mit if(suche = i,STRUKT[i].mgnr) probiert die Warnung ist weg er compiliert es sauber und ohne Warnung
...
[/quote]if(suche = i,STRUKT[i].mgnr)
der wert eines ausdrucks mit dem kommaoperator "," ist der rechte operand. so ist der wert des ausdrucks "3 , 4" beispielsweise der wert "4".
du gehst also in dem if-teil wenn STRUKT[i].mgnr ungleich 0 ist.
willst du das?was ist eigentlich i? das ist nirgends deklariert, doch wohl keine globale variable?
was willst du überhaupt tun?
ich denke du willst sowas:cin>> suche; for(int j=0; j<array_laenge; j++) if(suche==STRUKT[j].mgnr) { cout<<"Mitgliedsnummer :\t\t"<<STRUKT[j].mgnr<<"\n"; cout<<"Nachname-Vorname:\t\t"<<STRUKT[j].nvn<<"\n"; ...
evtl solltest du dir erstmal ein buch anschaffen und dir was zu den grundlagen durchlesen. falls du das schon getan hast, lies nochmal
[/quote]
ich will mit dem Programm Adressen eingeben, speichern,ausgeben, bearbeiten zum Beispiel die eines Vereines. In diesem Teil aendern will ich eine Adresse über Mitgliesnummer aus der Datei aufrufen und bearbeiten. Das rufe ich über Menue auf. i ist global. Ich hatte mal das ganze Programm gepostet da hat gleich einer gemeckert das ich das nicht tun sollte wie man es macht ist es verkehrt. Trotzddem vielen Dank für deine Antwort.
-
Args, schon wieder. Man muss echt ein Parser sein um deine Beiträge lesen zu können...