1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Anzeigen von gespeicherten Kunden einer Datenbank...

Discussion in 'Programmieren' started by schneiderlein1, Jun 5, 2009.

Thread Status:
Not open for further replies.
  1. Hallo zusammen,

    ich habe folgendes Problem:
    bin gerade dabei eine einfache Datenbank zu programmieren, d.h. sie kann nur Kunden neu eintragen, Kunden anzeigen, Datenbank speichern und Beenden und bei Kunden anzeigen kann man auswählen, ob man nach dem Namen des Kunden sucht oder nach der Kundennummer. Mein Problem ist nun, dass alles funktioniert außer die Suche nach den Namen. Egal welchen Namen ich eingebe, auch bei denen ich weiß dass sie vorhanden sind, zeigt er mir imma an "Datensatz wurde nicht gefunden". Wenn ich aber die Kundennummer eingebe, gibt er mir ganz normal den gesuchten Kunden an.

    Zur Vervollständigung hier der Quellcodeabschnitt:

    Code:
    //Kunden anzeigen
    void kundenAnzeigen(char name[36])
    {
    	int i;
    	for(i=0; 0<100; i++)
    	{
    		if (aKonten[i].name == name)
    		{
    		cout<< aKonten[i].name <<endl
    		<< aKonten[i].vorname <<endl
    		<< aKonten[i].alter <<endl
    		<< aKonten[i].kundennummer <<endl;
    
    			break;
    		}
    		else if (i == 99 && aKonten[i].name != name)
    		{
    			cout<<"\n Datensatz wurde nicht gefunden!\n";
    		}
    	}
    }
    
    //Anzeigen mit Kundennummer
    void kundenAnzeigen(int kundennummer)
    {
    	int i;
    	for(i=0; 0<100; i++)
    	{
    		if(aKonten[i].kundennummer == kundennummer)
    		{
    		cout<< aKonten[i].name <<endl
    		<< aKonten[i].vorname <<endl
    		<< aKonten[i].alter <<endl
    		<< aKonten[i].kundennummer <<endl;
    			break;
    		}
    		else if(i==99 && aKonten[i].kundennummer != kundennummer)
    		{
    			cout<<"\n Datensatz wurde nicht gefunden!\n";
    		}
    	}
    
    }
    
    Vielen Dank schon im Vorraus für eure Mühe

    lg schneiderlein1
     
  2. Fettbemme

    Fettbemme Halbes Megabyte

    Versuche es mal mit strcmp

    Code:
    <...>
    		if (strcmp(aKonten[i].name, name)==0)
    		{
    
    Deine Namen sind Zeichenketten. "aKonten.name == name" macht was ganz anderes, Du vergleichst zwei Speicheradressen.
     
  3. ok, ich habe das jetz ausgebessert. Beim Kompilieren passt alles, aber wenn ich das Programm starten will, zeigt er mir einen Speicherfehler an.

    lg schneiderlein1
     
Thread Status:
Not open for further replies.

Share This Page