Lektion 72:

Das Telefonbuch-Programm

Das Grundgerüst des Telefonbuch-Programmes habe ich bereits verraten.

{
   cout<<"Menu"<<endl;
   cout<<"1 Name einfuegen"<<endl;
   cout<<"2 Name suchen"<<endl;
   //und so weiter
   cin>>eingabe;
   switch(eingabe)
   {
      case 1:
         //Name einfuegen
         break;
      //und so weiter
   };
};

Als Typen für VALUE und KEY wird string gewählt. Der KEY wird der Name sein, und dafür ist string offensichtlich geeignet. Als VALUE bietet sich string eher als z.B. int an, damit man auch Nummern wie "0177-8511255" eingeben kann.

Das ergibt folgenden Ansatz für die main-Funktion:

void main()
{
   Dictionary<string,string> buch;
   bool nochmal=true;
   while(nochmal)
   {
      cout<<"Menu"<<endl;
      cout<<"1 Name einfuegen"<<endl;
      cout<<"2 Name suchen"<<endl;
      cout<<"3 Name aendern"<<endl;
      cout<<"4 Name loeschen"<<endl;
      cout<<"5 Liste anzeigen"<<endl;
      cout<<"0 Programm beenden"<<endl;
      int eingabe;
      cin>>eingabe;

      string name;
      string nummer;
      switch(eingabe)
      {
      case 0:
         nochmal=false;
      break;
      case 1:// Name einfügen

      break;
      case 2:// Name suchen

      break;
      case 3:// Name aendern

      break;
      case 4:// Name loeschen

      break;
      case 5:// Liste anzeigen

      break;
      default:
         cout<<"Diesen Menupunkt gibt es nicht!"<<endl;
      };
   };
};

Der erste Menupunkt ist wohl der einfachste.

      case 1:// Name einfügen
         cin>>name;
         cin>>nummer;
         buch.insert(name,nummer);
      break;

Übung

Verschieben Sie die Klassen Dictionary, DictionaryEntry und DictionaryComparator in die Datei "Dictionary.h".

Vervollständigen Sie dieses Telefonbuch-Programm.

Einsendungen:

Lösungsvorschlag


Falls Ihnen Fehler im Text auffallen oder Sie Verbesserungsvorschläge haben, dann schicken Sie mir bitte eine Mail. Ich werde mich dann sofort darum kümmern.
[aktuelle Version] [inhalt] [index]      [Fehlerkorrektur, Verbesserungsvorschlag]

© Volkard Henkel <volkard@normannia.de>, last update: 08/25/00