Array



  • Werde das Prog mal ausbessern!



  • mitarbeiter *testmitarbeiter = new mitarbeiter[ 500 ];
    

    Du legst hier ein Array von mitarbeiter an. Die *testmitarbeiter bekommt die Adresse des ersten neu erstellten mitarbeiters.

    Ein index beim zugriff auf testmitarbeiter wäre angebracht, denn wie soll dein Compiler wissem, welchen der 500 mitarbeiter du meinst? Also:

    testmitarbeiter[ irgendein_index ].name_eingabe(na);
    testmitarbeiter[ irgendein_index ].vorname_eingabe();
    testmitarbeiter[ irgendein_index ].urlaubs_anspruch();
    testmitarbeiter[ irgendein_index ].resturlaub_berechnung();
    

    achja, lösch bitte deine testmitarbeiter, wenn du sie nicht mehr benötigst:

    delete [] testmitarbeiter;
    

    Greetz, Swordfish


  • Mod

    #include <string.h>
    

    auch daran wirst du wenig freude haben, wenn du die std::string benutzen willst. der notwendige header dafür ist

    #include <string>
    

    achtung, verwechslungsgefahr: <string> ist nicht das 'moderne' gegenstück zu string.h, welches in C die funktionen für C-style strings enthält; dafür gibt es den header <cstring>



  • Frage!
    Wie Liste ich aller Personen auf?

    personen[i].ausgabe_daten();
    

    Es sind z.B. 5 Personen gespeicher!

    Und ich mmöchte, dass alle ausgegeben werden!

    Geht das irgendwie mit i--??

    Danke!



  • Hallo

    Benutz doch einfach eine Schleife:

    for(unsingned int i=0; i<5; ++i)
        personen[i].ausgabe_daten();
    

    chrische



  • geht das nicht anders?
    ich soll daten bis 500 anlegen können!
    Aber er soll mir nur die ausgeben, die auch vorhanden sind!

    z.B. mein i = 100 Einträge! Jetzt soll er mir die 100 ausgeben und nicht bis 500, da sie noch leer sind!



  • Hier mein Beispiel!

    switch(eingabe)
      {	  
        case 1:
        {
    	i++;
    	personen[i].eingabe_daten();
    	break;
            }
    	case 3:
    	{
    	cout<<"Bitte geben Sie den Index des Mitarbeiters ein!"<<endl;
    	cin>>index;
    	personen[index].ausgabe_daten();
            system("Pause");
    	break;
    	}
    	case 4:
            {       
    	{
    	personen[i].ausgabe_daten();
    	}
    	break;
    	}
    


  • Poste mal den komletten Sourcecode!

    Greetz, Swordfish



  • Benutz doch einfach eine vector, dann haste alle deine Probleme gelöst.



  • Leider kenne ich mich noch nicht so gut aus!

    Hier mein Prog!

    Die Auflistung aller Mitarbeiter funktioniert immer noch nicht! 😞

    Könntet ihr mir da mal weiterhelfen?

    Wie mache ich das mit dem Datum?

    Aufgabe:
    Jeder Mitarbeiter hat pro Jahr 30 Urlaubstage. Mitarbeiter, die zum 01.01, des laufenden Kalenderjahrs das 50 Lebensjahr vollendet haben, erhalten 32 Tage.

    Man kann es als struct machen, aber da kenn ich mich noch nicht so gut aus!

    Und wie lösche ich einen Mitarbeiter?

    delete Mitarbeiter []; ???

    Danke!


  • Mod

    wie ist denn Datum definiert?



  • Ganz normal z.B. 25.06.2006 !!


  • Mod

    class Mitarbeiter
    {
      private:
      string Name, Vorname; // Persoenliche Informationen
      int Urlaubstage;
      int Tage, Monate, Jahr;
      char Anspruch,j;  
      Datum Geburtsdatum; // Datum als struct     <============= hier
      //int Resturlaub; // Anzahl restlicher Urlaubstage
    

Anmelden zum Antworten