Evizienter programmieren
-
ja wie was einmal schreiben?
der for loop IST "einmal schreiben".
-
Hier , dass meine ich:
Hier war ein sehr langer Quelltext...
Und dass wiederholt sich noch5 oder 6 mal...
-
lager das in eine funktion aus, also den code fuer den rahmen. dann musst du nur jedes mal die funktion ausfuehren statt den ganzen code doppelt und dreifach zu haben.
-
Und wie mache ich das?...
-
mein gott, sowas steht in jedem tutorial und ein lehrer sollte sowas genauso drannehmen...
void rahmen(void) { /* hier kommt der code fuer den rahmen rein */ } /* irgendwann kommt die main(), wo das drin steht, natuerlich ohne die ... */ ... rahmen(); ...
-
Danke, damit fang ich nehmlich am Montag erst an...
(Ich mache C ausserschuulisch noch in einer AG mit, nur so nebenbei, denn bei mir in der Schule macht man nur Delphie...)
-
DSD Steve du solltest vielleicht nen Tuturial komplett lesen, bevor du weiter Programmierst. Sicher wirste dann nicht alles gleich verstehen, doch kannst dann ja immer mal nachlesen...
-
So, ich habe versucht eine Funktion aus meinen Rahmen zu machen, aber es funzt natürlich nicht....(Ich habe auch nichts anderes erwartet...
)
int main() { int w = 1,Rahmen; char x, y; char r1=201,r2=205,r3=187,r4=186,r5=200,r6=188,r7=175,r8=174,r9=204,r10=185; //Rand-Zeichen float a, b, Ergebniss,ZErgebniss,ZErgebniss2; double c, d; //Rahmen-Funktion-Erstellung void Rahmen() clrscr(); gotoxy(25,1); cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",r1,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r3); gotoxy(25,2); for (Rahmen = 2; Rahmen <= 4; Rahmen++) { gotoxy(25, Rahmen); cprintf("%c", r4); } gotoxy(25,5); cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",r9,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r10); for (Rahmen = 6; Rahmen <= 24; Rahmen++) { gotoxy(25, Rahmen); cprintf("%c", r4); } gotoxy(25,25); cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%cSteveKempe%c%c%c",r5,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r7,r8,r2,r6); gotoxy(25,2); for (Rahmen = 2; Rahmen <= 4; Rahmen++) { gotoxy(54, Rahmen); cprintf("%c", r4); } for (Rahmen = 6; Rahmen <= 24; Rahmen++) { gotoxy(54, Rahmen); cprintf("%c", r4); } //Rahmen-Funktion-Erstellung-Ende while(w != 0) { Rahmen(); clrscr(); textbackground(CYAN); textcolor(RED);
Was ist hier nun mein Fehler? So wie ich das mitbekommen habe, hat der Compiler mit den ganzen conio.h Befehler seine Probleme. Liege ich richtig?
-
void rahmen(); //Deklaration int main() { //code rahmen(); //Aufruf } void rahmen() //funktion { //code }
-
Lyrix schrieb:
void rahmen(); //Deklaration int main() { //code rahmen(); //Aufruf } void rahmen() //funktion { //code }
Ich versteh es irgendwie nicht
Muss man nicht Variablen ganz am Anfang deklarieren? Und wie ist das genau gemeint(das andere)? Bitte mit etas mehr Kommentar posten. Danke schon mal im Vorraus!
-
Das steht alles, aber auch wirklich ALLES in nem Tutorial....
also nochmal.
Zunächst musst du deine Funktionen Deklarieren, das macht man so:
void funtionsname();
Dann kommt deine Main-Funktion:
void main() { //Variablen //Quellcode }
Die Variablen, die du in der Main Funktion deklarierst, sind auch nur in der Main Funktion verwendbar.
Zum Schluss kommt noch deine Funktion:
void Funktionsname() { //Variablen //Code }
Auch hier handelt es sich um lokale Variablen, die wiederrum nur in der Funktion "Funktionname" verwendet werden koennen....
Aber les es doch bitte in nem Tut oder Buch nach
-
In der FAQ steht aber, das es verboten ist eine void main zu machen. darf man das jetzt doch?
(Gib mal nen Link zu einen guten Tutorial)
-
-
-
unfug, hat doch grad noch....
und jetzt immernoch!und nein, eine void main() ist nicht gern gesehen und vom standard her verboten.
-
dann mach halt
int main() { return 0; }
Aber das hat ja nun nicht so ganz was mit dem thema zu tun
-
Kann mal schnell wer meinen Quellcode so editieren das es funzt?
-
verschieb deine rahmenfunktion einfach vor die main() und nicht in die main.
-
void Rahmen(); int main() { int w = 1; char x, y; //Rand-Zeichen float a, b, Ergebniss,ZErgebniss,ZErgebniss2; double c, d; while(w != 0) { Rahmen(); clrscr(); textbackground(CYAN); textcolor(RED); } } void Rahmen() { int Rahmen; char r1=201,r2=205,r3=187,r4=186,r5=200,r6=188,r7=175,r8=174,r9=204,r10=185; clrscr(); gotoxy(25,1); cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",r1,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r3); gotoxy(25,2); for (Rahmen = 2; Rahmen <= 4; Rahmen++) { gotoxy(25, Rahmen); cprintf("%c", r4); } gotoxy(25,5); cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",r9,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r10); for (Rahmen = 6; Rahmen <= 24; Rahmen++) { gotoxy(25, Rahmen); cprintf("%c", r4); } gotoxy(25,25); cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%cSteveKempe%c%c%c",r5,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r2,r7,r8,r2,r6); gotoxy(25,2); for (Rahmen = 2; Rahmen <= 4; Rahmen++) { gotoxy(54, Rahmen); cprintf("%c", r4); } for (Rahmen = 6; Rahmen <= 24; Rahmen++) { gotoxy(54, Rahmen); cprintf("%c", r4); } }
Denke so müsste es nun gehn...
-
Mal kurz Off-Topic:
Muss man sich bei der Tutorial-Seite registrieren um dort Infos zu bekommen?Der Quellcode funzt nicht: Es kommt Call zo Nonfunction!