mc_gulasch
Erfahrenes Mitglied
Aloah Forum,
stellt euch vor, ihr habt ein Telefonbuch, das als Einsprungadresse eine Zahl hat und Nummern durchsucht und euch den Namen zur Nummer gibt.Das Telefonbuch ist ein
Das ganze läuft folgendermaßen ab (Bspnr: 78234)
1) Prüfe, ob es überhaupt Telefonnummern mit "7" am Anfang gibt
2) Falls es eine solche Nummer gibt, dann überprüfe alle Nummern der Reihe nach, ob irgendwas auf meine Nummer passt
Hierbei ist 'n' ein unsigned int, das die jeweiligen Einträge (mit '7' am Anfang) durchzählen soll. Jetzt hab ich aber folgendes Problem:
Wenn ich weitermache, es aber meine gesuchte Nummer tatsächlich nicht gibt, dann schmeisst mein 'n' irgendwann meine Pointer auf einen NULL-Pointer. Ich würde gerne etwas machen nach der while - Schleife wie:
Anmerkung:
Ich weiß, dass man ein solches "Telefonbuch" auch anders machen kann, aber es dient hier nur als Beispiel meines Problems. Ich programmiere tatsächlich kein solches Telefonbuch.
aber die Verschachtelungen und Arbeitsweise des obigen Codes entspricht meinem Programm.
Danke für jegliche Unterstützung!
//edit:
Noch was wichtiges:
Das telefonbuch wird mit
initialisiert, so dass sofort herausgefunden werden kann, ob ein Eintrag für eine bestimmte Zahl existiert (indem er !=0 ist und ein Adresse beinhaltet) oder nicht.
//edit
stellt euch vor, ihr habt ein Telefonbuch, das als Einsprungadresse eine Zahl hat und Nummern durchsucht und euch den Namen zur Nummer gibt.Das Telefonbuch ist ein
Code:
unsigned int **telefonbuch
1) Prüfe, ob es überhaupt Telefonnummern mit "7" am Anfang gibt
Code:
if (telefonbuch[7]!=0)
{
Code:
/*
*(telefonbuch[7]+n) = Zeiger auf eine Zeile der Nummernmatrix (in der die Folgeziffern nach der '7' eingetragen sind):
[1][2][3][4] (n=0)
[5][6][7][8] (n=1)
*(*(telefonbuch[7]+1)+j) = Die jeweiligen Digits der Zeile
(n=0):
[1] (j=0)
[2] (j=1)
[3] (j=2)
[4] (j=3)
*/
while(*(*(telefonbuch[7]+n)+j)==bspnr[j])
{
richtig++;
}
}//von if
Wenn ich weitermache, es aber meine gesuchte Nummer tatsächlich nicht gibt, dann schmeisst mein 'n' irgendwann meine Pointer auf einen NULL-Pointer. Ich würde gerne etwas machen nach der while - Schleife wie:
Code:
if(richtig!=strlen(bspnr))
{
n++;
if (*(telefonbuch[7]+n)==NULL) exit(0);
}
Ich weiß, dass man ein solches "Telefonbuch" auch anders machen kann, aber es dient hier nur als Beispiel meines Problems. Ich programmiere tatsächlich kein solches Telefonbuch.

Danke für jegliche Unterstützung!
//edit:
Noch was wichtiges:
Das telefonbuch wird mit
Code:
unsigned int **telefonbuch={0}
//edit
Zuletzt bearbeitet: