Platzhalter verbergen
-
Hallo, ich schreib mir gerade ein kleines Telefonbuch nix großes aber ich hab da ein Problem in der Ausgabe werden die leeren Datensätze gezeigt mit "leer" und genau das will ich ausblenden es sollen nur die eingegeben Datensätze angezeigt werden und die leeren nicht.
{ ds=k2[s].getDaten(); a1=ds.substr(0,ds.find(";")); ds=ds.substr(ds.find(";")+1,ds.length()); a2=ds.substr(0,ds.find(";")); ds=ds.substr(ds.find(";")+1,ds.length()); a3=ds.substr(0,ds.find(";")); ds=ds.substr(ds.find(";")+1,ds.length()); a4=ds.substr(0,ds.find(";")); cout<<"Datensatz"<<(s+1)<<":\n"; cout<<a1<<" "<<a2<<" "<<a3<<" "<<a4<<" "<<endl; }hoffe das ist der richtige Codebereich
-
void printAndAddSomeSpacesIfNotEmpty(const std::string& str) { if (!str.empty())cout << str << " "; }So?
-
hm der soll nur gefüllte Datensätze ausgeben
derzeit gibt er auch die nicht geüllten mit aus da steht dann drin "leer"und das soll nicht sein dafür such ich nen weg.
-
void printAndAddSomeSpacesIfNotEmpty(const std::string& str) { if (str!="leer")cout << str << " "; }Dann eben so...
Edit: um da ein wenig Übersichtlichkeit rein zu bringen, bietet sich eine Datensatz-Klasse an. Dort kannst du solche Hilfsfunktionen dann auch unterbringen.
-
so hier mal der gesammte Methoden code
void anzeigen (Kontakt k2[GR]) { string a1,a2,a3,a4,ds; for(short s=0;s<GR;++s) { ds=k2[s].getDaten(); a1=ds.substr(0,ds.find(";")); ds=ds.substr(ds.find(";")+1,ds.length()); a2=ds.substr(0,ds.find(";")); ds=ds.substr(ds.find(";")+1,ds.length()); a3=ds.substr(0,ds.find(";")); ds=ds.substr(ds.find(";")+1,ds.length()); a4=ds.substr(0,ds.find(";")); cout<<"Datensatz"<<(s+1)<<":\n";*/ cout<<a1<<" "<<a2<<" "<<a3<<" "<<a4<<" "<<endl; } }hab das jetzt versucht mit dem was du gepostet hast aber irgendwie will das nicht er zeigt nach wie vor die "leer" zeichen in denn Datensätzen an die nicht vergeben sind.
-
Hast du auch statt der cout-Zeile
pasine(a1), pasine(a2), pasine(a3), pasine(a4), cout<<endl;geschrieben?
(pasine=printAndAddSomeSpacesIfNotEmpty passend zum restlichen Quelltext kryptologifiziert).
-
Danke für die Hilfe hab es jetzt anders realisiert

if(a1 != "leer")