myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

[C++] Struct

Willkommen

myGully

Links

Forum

 
 
 
Themen-Optionen Ansicht
Prev Vorheriger Beitrag   Nächster Beitrag Next
Ungelesen 21.05.14, 14:01   #2
HappyMike34
Erfahrenes Mitglied
 
Registriert seit: Mar 2010
Beiträge: 675
Bedankt: 659
HappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt PunkteHappyMike34 leckt gerne myGully Deckel in der Kanalisation! | 134125 Respekt Punkte
Standard

auf einen Sitz i in der Reihe j kannst du zugreifen mit

Code:
new_seat[j * iSitzanzahl + i]
Die Indizes beginnen dabei bei 0!

Ich würde aus dem Struct eine Klasse machen mit einem Default Konstruktor:

Code:
class seat {
public:
    seat() : ist_belegt(false) {}

    string Name, Vorname;
    bool ist_belegt;
   //  int Sitz[0][0]; // was soll das?
};

public: 
...

private:
vector<seat> seats;
Jetzt kannst du es elegant schreiben:

Code:
<Flight.h>    // Header inkludieren nicht .cpp !

int iReihe = 21;
int iSitzanzahl = 6;

Flight::Flight() 
   : seats(iReihe * iSitzanzahl)  // alle Sitze mit default initialisieren
{
}


Flight::ausgeben()
{
   for(int reihe(0); reihe < iReihe; ++reihe) {
      std::out << std::endl << reihe + 1; 
      for(int sitz(0); sitz < iSitzanzahl; ++sitz) 
          std::out << seats[reihe * iSitzanzahl + sitz].ist_belegt ? " belegt" : "   frei"; // Tip: Strings gleich lang machen
   }
}
fertig.
__________________
my brain has two parts, the right and the left...on the left, there is nothing right...on the right, there is nothing left
HappyMike34 ist offline   Mit Zitat antworten
 


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 Uhr.


Sitemap

().