Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Programmierung 2 » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (13): « erste ... « vorherige 6 7 [8] 9 10 nächste » ... letzte » Neues Thema erstellen Thema ist geschlossen
Zum Ende der Seite springen Programmierung 2
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 638
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Welche Membervariablen hat denn die Klasse CRectangle?
24.09.2017 23:34 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Victor
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meinst du das ich die get Methoden bottomLeftCorner und getTopRoght aufrufen soll ?
25.09.2017 06:02
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 638
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du kannst die Methoden aufrufen und das könnte i. A. sogar vorteilhaft sein, aber in diesem Fall könntest Du auch einfach direkt auf die Membervariablen zugreifen.
Nochmal: Was sind denn die drei Membervariablen der Klasse CRectangle? Tipp: Schau doch mal in die dazugehörige Headerdatei. Dort sind die deklariert. Und noch ein Tipp: Um Membervariablen von anderen (z. B. lokalen/auto Variablen innerhalb einer Methode) unterscheiden zu können, wird in Deinen Beispielen offenbar die Konvention benutzt, vor Membervariablen ein "m_" zu schreiben ("m" wie "member").

Gruß
Marco

PS: Warum kannst Du eigentlich nicht einfach mal machen, was ich sage? Ich hatte nach den Membervariablen gefragt und Du schreibst dann was von gettern. Warum kannst Du dann nicht einfach auch mal die Membervariablen nennen? Wenn Du nicht weißt, was eine Membervariable ist, dann frag das nach. Wenn sonst was an meiner Frage unklar ist bitte auch. Aber ignorier doch nicht ständig was ich schreibe und komme mit etwas ganz anderem! Ich versteh Dich einfach nicht...
25.09.2017 10:39 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Victor
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ah die Variablen

m_bottomLeft;


m_topRight;


m_fillChar

Aber wie soll ich die jetzt genau im Code einbauen verwirrt
Komme irgendwie nicht auf die Idee großes Grinsen
25.09.2017 13:29
Victor
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Soll ich jetzt die Zahlen in der for Schleife irgendwie mit den Member Variablen ersetzen?
25.09.2017 14:03
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 638
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ja, mehr oder weniger schon. Allerdings brauchst Du für die for-Schleifen ja wirklich Koordinatenwerte, also int-Zahlen. Die Member m_bottomLeft und m_topRight sind aber Objekte der Klasse CPoint, also keine int-Zahlen.
Um an die jeweilgen Koordinaten der Punkte zu kommen musst Du dann jeweils getX() bzw getY() aufrufen.

Das Füllzeichen hast Du direkt als char in der Member-Variable m_fillchar und kannst das für den setPoint-Aufruf direkt verwenden.

Versuche das mal.

Gruß
Marco
25.09.2017 15:34 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Victor
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Puuh bin irgendwie so überlastet .
Bei meinen Ideen werden nur fehler amgezeigt

for(int j = 5; 15>=j;j++){
screen.getX();
Vor dem getX muss ich doch irgendwas schreiben oder ?

Ich dachte screen ,aber nur Fehler .
Verdammt
25.09.2017 17:00
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 638
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Warum screen.getX()? Du willst doch nicht die x-Koordinate von screen (was auch immer das sein sollte, macht ja gar keinen Sinn) sondern von der jeweiligen Ecke haben. Deshalb fragte ich Dich doch nach den Membervariablen, weil zwei davon die beiden Eckpunkte repräsentieren. Von denen willst Du die X- und Y-Werte haben!
Warum an dieser Stelle? Schau doch mal: Die Laufvariable j der äußeren for-Schleife wird doch in der setPoint()-Methode für die Y-Koordinate des zu setzenden Punktes verwendet. Diese soll doch zwischen der Y-Koordinate des unteren Eckpunkts und der des oberen Eckpunkts laufen.
Du sollst also die 5 und die 15 von der äußeren for-Schleife durch die jeweiligen y-Koordinaten-Werte der beiden Eckpunkte ersetzen.
Genau so sollst Du in der inneren for-Schleife die Werte 5 und 25 des minimalen und maximalen X-Wertes durch die X-Koordinaten der beiden Eckpunkte ersetzen.

Nochmal: Wie kommst Du z. B. an die y-Koordinate des Eckpunktes unten-links?

Gruß
Marco
25.09.2017 17:23 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Victor
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:

void CRectangle::draw(CScreen& screen) const
{
    for(int j = m_topRight.getX(); m_topRight.getX()>=j;j++){

	for(int i = m_bottomLeft.getY();  m_bottomLeft.getY()>=i; i++) {
	    screen.setPoint(m_topRight,m_bottomLeft,´#`);




	}
    }
}



hmm irgendwas passt immer noch nicht?
25.09.2017 18:23
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 638
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ja, ich weiß auch nicht... warum ersetzt Du jetzt denn i und j im Aufruf von setPoint()?
Weißt Du immer noch nicht, wie eine for-Schleife funktioniert?
Vorher stand in der ersten for Klammer noch 5 und 15, jetzt hast Du bei beiden denselben Wert rein geschrieben. Das muss doch auch Dir auffallen, dass da was nicht stimmt, oder?
Für welche Werte standen denn die 5 und die 15 oder die 5 und die 25? Welche Koordinaten von welchen Punkten waren das denn? Ich hab’s doch sogar schon geschrieben gehabt.

Sag mal ehrlich: verstehst Du überhaupt irgendetwas von dem allem hier? Ich schreib doch wirklich schon in einer Art, dass es selbst jemand ganz ohne Vorwissen irgendwie verstehen sollte, aber bei Dir habe ich ehrlich nicht den Eindruck. Du rätst einfach nur die ganze Zeit rum. Das bringt doch einfach rein gar nichts!
25.09.2017 21:42 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Victor
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:

void CRectangle::draw(CScreen& screen) const
{
    for(int j = m_topRight.getX(); m_topRight.getX()>=j;j++){

	for(int i = m_bottomLeft.getY();  m_bottomLeft.getY()>=i; i++) {
	    screen.setPoint(j , i,´#`);   hier meckert er ?




	}
    }
}


Ist das bisschen besser ?
26.09.2017 01:06
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 638
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich weiß nicht, warum Du die Bedeutung von i und j jetzt vertauscht hast, vorher hatten wir i für die x-Koordinate und j für y, aber das macht im Prinzip nichts.
Aber immernoch hast Du für die Schleifen jeweils dieselbe Zahl für Anfang und Ende. Das kann doch nicht stimmen! Bei welcher x-Koordinate von welchem Punkt muss die erste Schleife anfangen? Von welchem Punkt muss die x-Koordinate sein, bei dem sie aufhört, das kann doch nicht derselbe Punkt sein! Genauso für die beiden y-Koordinaten. Versuche doch mal zu verstehen, was wir hier überhaupt tun!
Der Fehler, den ich sehe, sind einfach die Anführungszeichen um das Füllzeichen. Die sind bei Dir irgendwie krumm... das müssen gerade Hochkommata sein, so wie wir es auch die ganze Zeit vorher hatten.
Aber eigentlich sollst Du ja auch das hier fest angegebene Füllzeichen durch den Wert einer weiteren Membervariable ersetzen. Was musst Du hier noch machen?
26.09.2017 07:48 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Victor
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

die erste Vorschleife muss doch bei der x Koordinate beginnen ,wie du gesagt hast oder ?

Also getX()
Daher habe ich das geschrieben :

for(int j = m_topRight.getX(); m_topRight.getX()>=j;j++)

Ist das überhaupt richtig ?
Vielleicht gehen wir Schritt für Schritt vor.
Ich weiss es ist für dich leider mühsam ,aber mir fällt das einfach sau schwer.
Was soll ich machen.
26.09.2017 10:14
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 638
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Die X Koordinate doch aber nicht zweimal von demselben Punkt! Das wäre dann ja immer nur ein und derselbe Wert, wie willst Du dann eine komplett Zeile bekommen. Also: nicht zweimal topRight, sondern einmal bottomLeft und einem topRight!

Gruß
Marco
26.09.2017 11:47 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Victor
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Bin irgendwie gerade verwirrt ,warum bei mir im Code 2 mal der gleiche Wert aufgerufen wird .

Liegt wohl daran ,dass ich nicht so fit bin beim proggen großes Grinsen

So sah der code ja mal aus:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
void CRectangle::draw(CScreen& screen) const
{
    for(int j = 5; 15>=j;j++){
	for(int i = 5; 25>=i; i++) {
	    screen.setPoint(i, j, '#');
	    
	}
    }




code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
void CRectangle::draw(CScreen& screen) const
{
    for(int j =m_topRight.getX() ; 15>=j;j++){
	for(int i =m_bottomLeft.getY() ; 25>=i; i++) {
	    screen.setPoint(i, j, '#');
	    
	}
    }



Ich denke das du meinst ,dass ich nicht zweimal topRight und bottomLeft in der for Schleife schreiben soll?
26.09.2017 12:27
Seiten (13): « erste ... « vorherige 6 7 [8] 9 10 nächste » ... letzte » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Thema ist geschlossen
Informatiker Board » Themengebiete » Praktische Informatik » Programmierung 2