Problem bei Hausaufgabenbeispiel! Eigentlich ziemlich einfach aber ich bin dumm =///



  • Hallo Liebe Leute ich habe eine Frage zu meinem Hausuebungsbeispiel. Die Aufgabe lautet: **Ein befreundeter fanatischer CD Sammler hat Sie gebeten ihm ein einfaches Programm zur Verwaltung seiner Sammlung zu schreiben. Er wuenscht sich folgende Funktionen: Fuer jedes Album sollen Interpret Name und Stilrichtung speicherbar sein. Eingabe, Aendern und Loeschen von Eintragungen soll moeglich sein. Eine Suche soll entweder nach Interpret, nach Albumname oder Stilrichtung vorgenommen werden koennen und eine Liste aller jewils passenden CDs liefern**

    Und meine Aufgabe schreibe ich so. Aber der Kompiler gibt mir so viele Fehlermeldungen . Irgendjemand eine Idee was daran falsch sein koennte oder was fehlen koennte?

    #include<iostream>
    using namespace std;
    int main() {

    public class CDAlbum
    {
    #region member variable

    public string Name { private set; get; }
    public string Interpreter { private set; get; }
    public string Genre { private set; get; }

    #endregion

    #region construcotr

    public CDAlbum(string name, string interpreter, string genre)
    {
    this.Name = name;
    this.Interpreter = interpreter;
    this.Genre = genre;
    }

    #endregion

    #region member method

    public void ChangeName(string newName)
    {
    this.Name = newName;
    }

    public void ChangeInterpreter(string newInterpreter)
    {
    this.Interpreter = newInterpreter;
    }

    public void ChangeGenre(string newGenre)
    {
    this.Genre = newGenre;
    }

    #endregion
    }

    public class CDSammlung;
    {
    #region member variable

    private List<CDAlbum> mySammlung { set; get; }

    public enum AlbumInfo
    {
    Unknown,
    Name,
    Interpreter,
    Genre
    }

    #endregion

    #region constructor

    public CDSammlung()
    {
    mySammlung = new List<CDAlbum>();
    }

    #endregion

    #region member method

    public List<CDAlbum> SearchAlbum(AlbumInfo searchCriterion, string currCriterion)
    {
    List<CDAlbum> foundAlbum = new List<CDAlbum>();

    if (searchCriterion == AlbumInfo.Name)
    {
    for (int n = 0; n < mySammlung.Count; n++)
    {
    if (mySammlung[n].Name == currCriterion)
    {
    foundAlbum.Add(mySammlung[n]);
    }
    }
    }
    else if (searchCriterion == AlbumInfo.Interpreter)
    {
    for (int n = 0; n < mySammlung.Count; n++)
    {
    if (mySammlung[n].Interpreter == currCriterion)
    {
    foundAlbum.Add(mySammlung[n]);
    }
    }
    }
    else if (searchCriterion == AlbumInfo.Genre)
    {
    for (int n = 0; n < mySammlung.Count; n++)
    {
    if (mySammlung[n].Genre == currCriterion)
    {
    foundAlbum.Add(mySammlung[n]);
    }
    }
    }
    return foundAlbum;
    }

    public void AddAlbum(CDAlbum newAlbum)
    {
    mySammlung.Add(newAlbum);
    }

    public void ClearAlbum()
    {
    mySammlung.Clear();
    }

    #endregion
    }} ][/cpp]



  • Imperish schrieb:

    Irgendjemand eine Idee was daran falsch sein koennte oder was fehlen koennte?

    Erste Idee: Code-Tags richtig benutzen.
    Zweite Idee: Compilerfehlermeldungen angeben.
    Dritte Idee: Merken, dass dein Code bis auf die ersten drei Zeilen C# und nicht C++ ist.



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum C# und .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Tja das sind meine Fehlermeldungen:

    6 expected primary-expression before public
    6 expected ;' before public 86 invalid preprocessing directive #region 147 invalid preprocessing directive #endregion 167 invalid preprocessing directive #region 257 invalid preprocessing directive #endregion 277 invalid preprocessing directive #region 448 invalid preprocessing directive #endregion 48 expected primary-expression before public 48 expected;' before public
    5028 invalid preprocessing directive #region
    52 expected primary-expression before private
    52 expected ;' before private 54 expected primary-expression before public 54 expected;' before public
    6213 invalid preprocessing directive #endregion
    6413 invalid preprocessing directive #region
    66 expected primary-expression before public
    66 expected ;' before public 7114 invalid preprocessing directive #endregion 7314 invalid preprocessing directive #region 75 expected primary-expression before public 75 expected;' before public
    112 expected primary-expression before public
    112 expected ;' before public 117 expected primary-expression before public 117 expected;' before public
    1228 invalid preprocessing directive #endregion

    Bei Zeile 8 ist mir aufgefallen dass ich constuctor falsch geschrieben habe, die Semikolons verstehe ich auch noch aber was hat es mit den primary expressions auf sich?



  • Es gibts jetzt mehrere Möglichkeiten.
    1.) Du willst C# schreiben... dann sind #include und das using namespace kompletter Blödsinn. Die Fehlermeldungen sagen mir aber eher das du ein C++ oder ein CLI Projekt angelegt hast
    2.) Du willst C++ schreiben. Dann ist wohl ziemlich vieles falsch. Der Anfang wären die Getter und Setter die im C++ Code nicht existieren (Anhand der Fehlermeldungen scheinst du ein C++ Projekt erstellt zu haben, willst aber eigentlich C# schreiben).
    3.) Du willst C++/CLI schreiben. (Ist ein wesentlicher Unterschied zum normalen C++) dann ist auch noch so einiges falsch. Z.B. musst du explizit angeben welche art von Klasse du haben willst. z.B.

    public ref class CDAlbum
    

    (Kann sein dass das ref nichtmal wirklich nötig ist, aber dann fehlen dir wohl noch ein paar typische usings ausserdem ist dann der this zugriff
    ausserdem würden dann wohl noch ein paar typische usings fehlen. Und wenn ich mich recht erinnere müsste auf this mit -> zugegriffen werden.

    Kurzum der Code ist ein einziges Chaos. Werde dir erstmal klar was du machen willst und beschäftige dich mit den Grundlagen. Dann versuch es erneut. (Es ist gerade ungefähr so als würdest du fragen wie man Windows bedient aber ein Linux gestartet haben. Sieht zwar ggf. irgendwie gleich aus, ist es aber nicht.)



  • Und du definierts die Klassen innerhalb der Main Funktion


Anmelden zum Antworten