[C/C++] Datenbank Hilfe

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von raised.fist, 21. Oktober 2009 .

Schlagworte:
  1. 21. Oktober 2009
    Datenbank Hilfe

    Hi,


    Ich bin absoluter Anfänger was Programmiersprachen angeht und wir machen im Studium zur Zeit C, und im 2. Semester dann C++.

    Wir machen ein Kursprojekt. Und zwar wollen wir eine Datenbank anlegen. Unsere Datenbank soll (wie der Kurs entschieden hat) verschiedene Informationen über Biere abspeichern. Soweit dazu...

    Wir sind angefangen die Variablen zu deklarieren, die die Informationen unserer Biere enthalten.

    Danach haben wir versucht, die Variablen zu sortieren, also was sind Informationen über die Brauerei, was sind Informationen über das Bier selbst? Dazu haben wir Strukturen (struct), Aufzählungen (enum) und Typendefinitionen (typedef) benutzt.

    Bis dahin glaub ich alles verstanden zu haben. Jetzt, in der main-Funktion sollen wir zuhause Informationen für 2 verschiedene Biere speichern. Also die Variablen definieren. Aber ich hab absolut keinen Schimmer wie das gehen soll, weil unser Dozent das so schnell erklärt hat, das niemand folgen konnte.

    Unser quellcode sieht bislang so aus
    Code:
    #include <stdio.h>
    #include <string.h>
    
    typedef enum { Weizen,
     Pils,
     Bockbier,
     Export
     } KOB_type;
    
    typedef enum { bottle,
     barrel
     } CON_type;
     
    typedef struct { char name[20];
     char extension[5];
     char function[40];
     char email[40];
     } contactpersontype;
    
    typedef struct { char name[40];
     char website[40];
     char address[40];
     char telephone[20];
     int fillingquantity;
     contactpersontype person;
     } brewery_type;
    
    typedef struct { KOB_type kindOfGermanBeer;
     CON_type container;
     brewery_type brewery ;
     char name [20];
     float alcoholLevel;
     unsigned char fermantationTime;
     char country[30];
     char spring[20];
     float price;
     float volume;
     } beer_type;
    
    void main (void)
    {
    
    }
    
    
    Jetzt möchte ich Beispielsweise Informationen für das Bier "Becks"ablegen, also den Namen, den Alkoholgehalt, aus welcher Stadt es kommt usw... Desweiteren möchte ich mir am Ende der main-Funktion mithilfe der printf Funktion, die Information eines Bieres ausgeben lasse.

    Könnte mir einer erklären wie das funktioniert?
     
  2. 21. Oktober 2009
    AW: Datenbank Hilfe

    Du hast ja alle Strukturen noch einmal unter der Struktur beer_type zusammengefasst, den es enthält die anderen. Daher deklarierst du mit
    eine Variable vom diesem Typ. Dann fängst du an, die einzelnen Elemente zu füllen. Für Nicht-Strukturen, wie z.B. float price geht das einfach mit dem Punkt:
    Das selbe gilt für die enums, einfach mit
    Für die Strukturen greift man erst mit dem Punkt auf die Struktur und dann auf ihre Eigenschaft zu:
     
  3. 21. Oktober 2009
    AW: Datenbank Hilfe


    wenn ich das mache, bekomme ich aber folgende Fehlermeldung:

    Code:
    Fehler 1 error C2106: '=': Linker Operand muss ein L-Wert sein
    und wenn ich schreibe:

    Code:
    becks.container=bottle;
    printf (%s,becks.container);
    
    dann schreibt der ins ausgabefenster an diese Stelle <null>.
     
  4. 21. Oktober 2009
    AW: Datenbank Hilfe

    Null ist auch richtig, da bottle nun mal den Wert 0 hat Enums sind nichts weiter als Zahlen! Wie du die ausgibst/nutzt bleibt dir überlassen.
     
  5. 22. Oktober 2009
    AW: Datenbank Hilfe


    Ok stimmt. Und wie könnte ich dann die 0, also bottle als String "Flasche" ausgeben?


    mfg
     
  6. 22. Oktober 2009
    AW: Datenbank Hilfe

    Da bleibt dir leider nichts anderes über, als eine switch-Anweisung zu verwenden:
    Und zu dem zugreifen auf die Struktur, hast du das mal mit dem int (fillingquality) ausprobiert? Bei char musst du den String reinkopieren, da man ihn nicht einfach so zuweisen kann.
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.