/*
Aufgabe:
In einer Hashtabelle mit N Plätzen werden Daten von Daten von Bankkunden abgespeichert.
Ein leerer Platz in der Hashtabelle ist mit der Kundennummer -1 gekennzeichnet.
Kollisionen werden hier mit linearer Verkettung behoben.
Schreibe die Funktion float Kontostand(int nummer), die den Kontostand bei gegebener Kundennummer "nummer" zurückgibt.
Sollte der Eintrga nicht gefunden werden soll diese Funktion den Wert -9999 zurückgeben.
*/

#include <iostream>
#include <conio.h>
using namespace std;

const int N = 10;


struct Kunde{
       int kundennr;
       float kontostand;
       string name;
       Kunde* next;
       };
       
Kunde hash[N];



float Kontostand(int nummer)
{
           
}


void einfuegen(int nummer, float stand, string n)
{
     int h = nummer % N;
     
     if(hash[h].kundennr == -1)
     {
      hash[h].kundennr = nummer;
      hash[h].kontostand = stand;
      hash[h].name = n;
      hash[h].next = NULL;
     }
     else
     {
    Kunde* neu = new Kunde;
    neu->kundennr = nummer;
    neu->kontostand = stand;
    neu->name = n;
    neu->next = hash[h].next;
    hash[h].next = neu;
    }
}


main()
{
      // hashtabelle initialisieren
      for(int i=0; i<N; i++)
      {
              hash[i].kundennr = -1;
      }
      
      // Kunden einfuegen
      einfuegen(27184512, 222.28, "Dennis Drama");
      einfuegen(27186348, 1548.45, "Klaus Kart");
      einfuegen(28469413, 4512.56, "Luise Leber");
      einfuegen(71743442, 7777.77, "Dagobert Duck");
      
      float test_1 = Kontostand(27184512);
      float test_2 = Kontostand(27186348);
      float test_3 = Kontostand(28469413);
      float test_4 = Kontostand(71743442);

cout << "Erwartet: 222.28\nErhalten: " << test_1 << endl << endl;
cout << "Erwartet: 1548.45\nErhalten: " << test_2 << endl << endl;
cout << "Erwartet: 4512.56\nErhalten: " << test_3 << endl << endl;
cout << "Erwartet: 7777.77\nErhalten: " << test_4 << endl << endl;

getch();
}      
