Autor Beitrag
itchaas
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Di 06.11.12 19:05 
Hallo,

ich will gerade ein Bsp üben ein Programm mit der Klasse Kurs.
(Instanzvariablen: kursname(string), kurspreis(double), teilnehmer(string[10]);)

Methoden: AddTeilnehmer, DelTeilnehmer, Ausgabe aller Werte;

Wobei die Vorgabe ist kursname + kurspreis wird über Konstruktor gesetzt.
& bei teilnehmer(string[10]) -> was heißt das eigentlich?)

Bin dass jetzt so angegangen:

Kurs.cs

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
class Kurs
    {
        private string kursname;
        private double kurspreis;
        private string teilnehmer;

        public Kurs(string kursname, double kurspreis)
        {
            this.kursname = kursname;
            this.kurspreis = kurspreis;
        }

        public void AddTeilnehmer(string teilnehmer)
        {
            this.teilnehmer = teilnehmer;
        }

        public void DelTeilnehmer()
        {

        }

        public void Drucken()
        {
            
                Console.WriteLine("Teilnehmer: " + teilnehmer + " Kursname: " + kursname + " Kurspreis: " + kurspreis);
            
        }
    }


Ich glaube bis jetzt alles richtige gemacht zu haben?? Aber bei den zwei Methoden Add & Del komm ich ned
weiter wie löst man das?

Danke für Eure Hilfe!
Webo
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 577
Erhaltene Danke: 14

Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
BeitragVerfasst: Di 06.11.12 20:14 
Dein Problem ist denke ich, dass du nicht weißt, was ein Array ist ;-)

Ein Array (in diesem Fall der Länge 3) mit Kursteilnehmern könnte so aussehen: ("Klaus", "Heidi", "Fritz"). Das heißt du hast eine Struktur, die es dir ermöglicht, beliebig viele Strings (also Kursteilnehmer in diesem Fall) in einer Variablen zu speichern. Was in deinem Code ja nicht geht, du hast Teilnehmer als String, also nur 1 einziger Teilnehmer.

Suche am besten mal nach Array und wenn du das verstanden hast, wirst du wissen, wie man die Add und Del Funktion baut!

_________________
Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
itchaas Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Mi 07.11.12 14:43 
Bei Arrays in Zusammenhaben mit Klassen & Objekten fehlt mir noch die Routine bzw. der Überblick.
Prinzipiell weiss ich was Array sind. Hab das Ganze z.B. zwischenzeitlich auch schon so probiert:

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
class Kurs
    {
        private string kursname;
        private double kurspreis;
        private string teilnehmer;

            

        public string Kursname
        {
            get { return kursname; }
            set { kursname = value; }

        }

        public double Kurspreis
        {
             get { return kurspreis; }
             set { kurspreis = value; }

        }

        public string Teilnehmer
        {

            get { return teilnehmer; }
            set { teilnehmer = value; }
            
        }

        public void Drucken()
        {
            Console.WriteLine("Kursteilnehmer: " +teilnehmer+ "  Kurs: "+kursname + "  Kurspreis: "+kurspreis);
        }
    }


Testklasse:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
class Program
    {
        static void Main(string[] args)
        {

            Kurs[] array = new Kurs[10];

            for (int i = 0; i < 10; i++)
            {
                array[i] = new Kurs();
            }


            array[0].Kursname = "Tanzkurs";
            array[0].Kurspreis = 13;
            array[0].Teilnehmer = "Christopher B.";

            array[0].Drucken();
           
        }
    }


Ich weiss jetzt aber nicht ob ich den richtigen Weg habe bzw. wie ich das mit ADD & DEL von Teilnehmern löse....

Bzw. habe ich hier nur ein komplettes Array oder eine Objekt den Kurs + ein Teilnehmer Array...stehe mit meinem
derzeitigen Wissen an...

Für Hilfe wäre ich dankbar...
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4701
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 07.11.12 14:51 
Kurse als Array geht auch wenn man mehrere Kurse hat. Hier war aber eher gemeint Teilnehmer an deinem Kurs als als Array darzustellen. Dann fangen die AddTeilnehmer, DelTeilnehmer Funktionen der Kurs Klasse an Sinn zu zu machen um in ihnen das Teilnehmer Array zu befüllen.
itchaas Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Mi 07.11.12 15:06 
Dh. richtige Lösung wäre ein Objekt mit Kurs + Kurspreis & ein Array mit Teilnehmer - ODER?

Objekt anlegen & befüllen ist klar. Aber wie verknüft man durch eine Add Funktion dann das Ganze mit den Teilnehmern?
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4701
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 07.11.12 15:23 
AddTeilnehmer wäre eine Methode der Kurs Klasse. Teilnehmer ist ein Member der Klasse Kurs. Also kannst du in der Methode einfach auf Teilnehmer zugreifen und die ändern.

Ich verstehe dein Problem nicht. In deiner Drucken Methode schaffst du es ja auch auf die Member der Klasse zuzugreifen. In AddTeilnehmner bzw. DelTeilnehmer wäre es nicht wirklich anders. Du mußt halt nur sinnvolle Arrayzugriffe auf Teilnehmer machen.