feld und strukturen



  • hallo!
    wie mache ich ein feld von strukturen?
    so:

    struct Motorrad
    {
    	char type[10];
    	double kubik;
    	double ps;
    	int endgeschwindigkeit;
    	unsigned leermasse;
    }Motorraeder[100];
    
    int nr=0;
    struct Motorrad[nr] honda    = {"honda", 1000 140, 275, 210};
    struct Motorrad[nr] honda1   = {"honda", 1000, 140, 275, 210};
    struct Motorrad[nr] suzuki   = {"suzuki", 1200, 150, 260, 230};
    struct Motorrad[nr] hayabusa = {"hayabusa", 1300, 185, 315, 200};
    
    jedoch error:
    struct - Motorrad\Projekt\struct.cpp(32) : error C2143: Syntaxfehler : Fehlendes ';' vor '['
    
    was da falsch?
    


  • (wegeditierter blödsinn)
    geloescht



  • Hi,

    struct Motorrad 
    { 
        char type[10]; 
        double kubik; 
        double ps; 
        int endgeschwindigkeit; 
        unsigned leermasse; 
    }Motorraeder[100]; // hier erzeugst Du ein Feld mit der größe 100
    
    int nr=0; 
    
    //hier must Du Dich dann entscheiden
    //entweder
    Motorrad honda    = {"honda", 1000 140, 275, 210};
    //oder
    Motorrad[nr]      = {"honda", 1000 140, 275, 210};
    //den bezeichner struct kannst Du in C++ weglassen
    
    struct Motorrad[nr] honda    = {"honda", 1000 140, 275, 210}; 
    struct Motorrad[nr] honda1   = {"honda", 1000, 140, 275, 210}; 
    struct Motorrad[nr] suzuki   = {"suzuki", 1200, 150, 260, 230}; 
    struct Motorrad[nr] hayabusa = {"hayabusa", 1300, 185, 315, 200};
    

    grüße Con@n



  • struct - Motorrad\Projekt\struct.cpp(22) : error C2143: Syntaxfehler : Fehlendes ';' vor '['



  • Du machst ein struct namens Motorad und ein Array Motorraeder vom Typ Motorrad, und versuchst auf motorad[index] zuzugreifen, das wäre ja so als wenn ich folgendes machen würde:

    int zahl[10];
    
    int[1]=20;
    

    Na fällt der Groschen?



  • so geht es aber:

    strncpy(m[nr].type, "honda", sizeof(m[nr].type));
        m[nr].kubik = 1000;
        m[nr].ps = 140; 
        m[nr].endgeschwindigkeit = 275; 
        m[nr].leermasse = 210;
    

    hmm...warum das?*g*


Anmelden zum Antworten