grafische Darstellung in DOS-console

Schnelle objektorientierte, kompilierende Programmiersprache.
darkangel
Beiträge: 17
Registriert: Sa Jan 17, 2009 9:26 pm
Kontaktdaten:

Re: grafische Darstellung in DOS-console

Beitrag von darkangel » Do Feb 19, 2009 9:51 pm

Das Problem mit - clrscr - war auf den Quellcode bezogen, auf den ich von dir verwiesen wurde.

Ja..vlt sollte ich die Deklarationen wirklich ganz oben hinsetzen. Es war lediglich ein Versuch mir die Kommentare zu sparen, da die Variablen so direkt vor ihrer Verwendung deklariert werden und der Verwendungszweck somit geklärt sein sollte.
Ich kann dem Feld problemlos Werte zuweisen.
Was sollte ich stattdessen benutzen, damit sich das Programm nicht sofort wieder schließt?..einfach - getch() - ?

Ich wollte der Funktion eigentlich das gesamte Array übergeben, da diese schauen sollte, welche "Zelle" welchen Wert hat, und für diesen an die richtige Stelle das richtige Zeichen schreiben.

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: grafische Darstellung in DOS-console

Beitrag von nufan » Do Feb 19, 2009 9:58 pm

darkangel hat geschrieben:Das Problem mit - clrscr - war auf den Quellcode bezogen, auf den ich von dir verwiesen wurde.
Ich weiß. Aber in deinem Code machst du den gleichen Fehler.
darkangel hat geschrieben:Ich kann dem Feld problemlos Werte zuweisen.
Wo meinst du? Im main oder in der Funktion?
Ich bezweifle, dass du problemlos Werte zuweisen kannst, wenn der Compiler einen Fehler ausgibt.
Cannot convert bool to bool *
Du versuchst eine normale Variable in einen Array zu konvertieren.

Zum Feld:
Ich dachte mir das kann nicht stimmen, weil ich mich an einen Error meines Borland-Compilers erinnerte. Ich schrieb ein kurzes Testprogramm mit Variablen als Index bei der Deklaration. gcc und g++ gaben nicht mal eine Warnung aus. Der gleiche Code verursacht bei Borland einen Fehler.
"Constant expression required."
Scheint also Compilerabhängig zu sein.
darkangel hat geschrieben:Was sollte ich stattdessen benutzen, damit sich das Programm nicht sofort wieder schließt?..einfach - getch() - ?
Besser noch getchar () oder das Programm mit der Konsole aufrufen.

darkangel
Beiträge: 17
Registriert: Sa Jan 17, 2009 9:26 pm
Kontaktdaten:

Re: grafische Darstellung in DOS-console

Beitrag von darkangel » Do Feb 19, 2009 10:12 pm

Tut mir leid, dass ich die Sache mit - clrscr - nicht so ganz raffe.^^
Wie genau kann ich die vordefinierte clrscr-Funktion nutzen?
Was muss ich enbinden?
conio?

Wenn ich einfach mal:

Code: Alles auswählen

#include<conio.h>

int main()
{
    clrscr();
}

schreibe, wird mir auch "is not declared in this skope" ausgegeben.



Das Wertezuweisen war auf die main-Funktion bezogen.
Also wie genau kann ich diese Funktion nutzen?
nufan hat geschrieben: Zum Feld:
Ich dachte mir das kann nicht stimmen, weil ich mich an einen Error meines Borland-Compilers erinnerte. Ich schrieb ein kurzes Testprogramm mit Variablen als Index bei der Deklaration. gcc und g++ gaben nicht mal eine Warnung aus. Der gleiche Code verursacht bei Borland einen Fehler.
"Constant expression required."
Scheint also Compilerabhängig zu sein.
[/quote="darkangel"]

War das auf die Fehlermeldung
darkangel hat geschrieben: cannot convert 'bool' to 'bool (*) [40]' for argument '3' to void checkfeld(int....
bezogen?

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: grafische Darstellung in DOS-console

Beitrag von nufan » Do Feb 19, 2009 10:22 pm

darkangel hat geschrieben: Wie genau kann ich die vordefinierte clrscr-Funktion nutzen?
Was muss ich enbinden?
conio?

Wenn ich einfach mal:

Code: Alles auswählen

#include<conio.h>

int main()
{
    clrscr();
}

schreibe, wird mir auch "is not declared in this skope" ausgegeben.
Sorry, dazu äußere ich mich hier lieber nicht mehr... aber es sollte so funktionieren.

darkangel hat geschrieben:Das Wertezuweisen war auf die main-Funktion bezogen.
Also wie genau kann ich diese Funktion nutzen?
Wenn du eine Funktion schreibst, solltest du besser wissen wie sie zu benutzen ist...
Beim Aufruf der Funktion in main übergibst du einen Wert vom Typ bool. Ein einzelner Wert der in dem Array steht.
In der Funktion erstellst du im Funktionskopf ein neues Feld. Aber wozu? Du willst in dieser Funktion doch nur diesen einen Wert und nicht das ganze Feld.

Code: Alles auswählen

    void checkfeld(int b, int h, bool wert)
/*
Frage an alle anderen:
Was genau wird bei der falschen Methode versucht diesem Feld zuzuweisen? Eine Adresse für den Pointer?
*/

darkangel
Beiträge: 17
Registriert: Sa Jan 17, 2009 9:26 pm
Kontaktdaten:

Re: grafische Darstellung in DOS-console

Beitrag von darkangel » Do Feb 19, 2009 10:29 pm

nufan hat geschrieben: darkangel hat geschrieben:Das Wertezuweisen war auf die main-Funktion bezogen.
Also wie genau kann ich diese Funktion nutzen?


Wenn du eine Funktion schreibst, solltest du besser wissen wie sie zu benutzen ist...
ehh..ja...der 2. Satz hat da eigentlich garnix zu suchen^^...war noch auf - clrscr - bezogen.
Naja, das kommt davon wenn man einen Absatz löscht aber keine Lust mehr hat sich alles durchzulesen^^

Ich veruche nun am besten mal das Problem (mit dem feld) so anzugehen wie du es vorschlägst.
Mal schaun ob diesmal was besseres rauskommt.^^

Antworten